Linux HAM/Amateur Radio development
 help / color / mirror / Atom feed
From: Dave Platt <dplatt@radagast.org>
To: linux-hams@vger.kernel.org
Subject: Re: USB sound adapter for use with Tom's soundmodem?
Date: Tue, 16 Dec 2008 12:14:53 -0800	[thread overview]
Message-ID: <49480C3D.2000203@radagast.org> (raw)
In-Reply-To: <2916.219.89.148.235.1229158504.squirrel@webmail02.lancs.ac.uk>


> By studying this I hope to be able to figure out the magic involved in
> accessing one of the CMedia chips' HID endpoints and twizzling its
> GPIOs.

Well, phooey.

I did some digging last night and determined a few things:

-  The USB audio dongle I have doesn't use a CMedia chip.  Rather,
    its chip is from TenX Technologies.

-  The TenX chip is, basically, a USB-enabled 8051 micro with some
    analog capabilities:  a single-channel ADC with differential
    inputs, and a pair of PWM outputs that are filtered down to create
    a continuous analog signal for headphones or speakers.

-  The USB endpoints appear to be managed via the 8051 firmware,
    which is in OTP.

-  The sample rates supported by the audio-in and audio-out
    streaming endpoints are different, and disjoint - there doesn't
    not appear to be a common sound rate for the two interfaces!
    This is unlike the TI chip used in the SignaLink USB, whose input
    sample rates are a superset of the output sample rates.  Use of
    the plughw: ALSA sample rate converter would be required.

-  The chip has plenty of GPIO pins, two of which appear to be wired
    up to the power and activity LEDs on the dongle.

-  Some GPIO pins are intended to be hooked up a keyboard scanning
    matrix.  The HID input-report descriptor provided by this version
    of the chip identifies features like VOLUME UP, MUTE, and so
    forth.  There's also a second HID input report which seems to have
    a bunch of unspecified input flags in it.

-  There is no HID output endpoint, and no output HID reports defined...
    and thus no ability to control any of the GPIO pins from the USB
    host.

Hence, no PTT control in software.  This particular brand of chip
doesn't appear to be suitable for a simple "all in one" packet audio
USB interface, unless chips can be sourced directly from the manufacturer
and some different firmware programmed into them... seems excessive.

The CMedia chips might be a better choice... I'll have to see if I
can find a local cheap source for a USB dongle with one of these in it.

A third alternative would be a USB audio interface which uses one of
the TI streaming audio controller chips... these are also 8051-core
micros, but it appears that the main code is located from an external
EPROM rather than from OTP within the chip.  The SignaLink USB uses
one of these chips - I'll try interrogating its HID report structure
and see whether there are any output reports which might control one
of the GPIO pins.

If so, there may be a very interesting prospect for homebrewers:
the Behringer UCA202.  This is a stereo USB/audio adapter which
(from what I've read) uses one of these TI chips internally... and
it's available for $25-$30 from numerous online sources.  If there's
a way to write its GPIO pins, then a board scavenged from a UCA202,
plus a couple of isolation transformers and an optoisolator for PTT,
might make a very nice packet interface.  And, what's more, it has
stereo-audio goesintas and goesoutas, which means that it could be used
with an I/Q modulator/demodulator front end... software DSP single
sideband or OFDM, anyone?




  parent reply	other threads:[~2008-12-16 20:14 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-12-13  2:53 USB sound adapter for use with Tom's soundmodem? Alan Crosswell
2008-12-13  3:59 ` Dave Platt
2008-12-13  4:19   ` Andrew Errington
2008-12-13  5:08     ` Dave Platt
2008-12-13  8:55       ` Andrew Errington
2008-12-15 23:47         ` Dave Platt
2008-12-16  1:42           ` don
2008-12-16 20:14         ` Dave Platt [this message]
2011-06-21 10:58         ` Andrew Errington
2008-12-13 22:55     ` Alan Crosswell
2008-12-15 19:00       ` Dave Platt
2008-12-14 21:20   ` don
2009-06-01 13:35   ` ICOM PCR1000 Geoff Bagley

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=49480C3D.2000203@radagast.org \
    --to=dplatt@radagast.org \
    --cc=linux-hams@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox