EmbeddedRelated.com
Forums
The 2024 Embedded Online Conference

USB data or audio capture on 64-bit PPC Linux?

Started by larwe January 31, 2007
[If you are trimming followups, please put your reply into
comp.arch.embedded as I don't regularly read the other two NGs where
I've posted this].

I'm looking for recommendations on a USB data capture pod or (ideally)
a cheap audio input device that is known to have working driver
support for 64-bit PowerPC Linux. At minimum I need to capture one 10-
bit ADC channel at 22.1kHz; anything friskier would be great, and my
ideal would be 48kHz 16-bit stereo.

I need to get this working on the PlayStation 3, and I really can't
find anything that's documented specifically enough to PPC Linux that
I can feel confident about buying it.

This is a one-off project; I'd even be happy to buy a used one from
some Usenet denizen, as long as it was guaranteed I'd be able to get
it working.

On Jan 31, 8:31 pm, "larwe" <zwsdot...@gmail.com> wrote:
> I'm looking for recommendations on a USB data capture pod or (ideally) > a cheap audio input device that is known to have working driver > support for 64-bit PowerPC Linux. At minimum I need to capture one 10- > bit ADC channel at 22.1kHz; anything friskier would be great, and my > ideal would be 48kHz 16-bit stereo. > > I need to get this working on the PlayStation 3, and I really can't > find anything that's documented specifically enough to PPC Linux that > I can feel confident about buying it. > > This is a one-off project; I'd even be happy to buy a used one from > some Usenet denizen, as long as it was guaranteed I'd be able to get > it working.
I can see two possible paths: 1) try to find one of those USB soundcard thingies that is supported by some version of linux with a non-binary-blob driver and then get it working in yours. Cheap if you can find one (even look at skype-type headsets, if you can find a web page of someone whose disected one). 1b) same with a USB data aquisition A/D card 2) Get a completely open device on the USB side, say an eval baord with a Cypress FX2 chip. Several projects (see gnuradio for example) have gpl'd firmware for these, and corresponding linux drivers. It might not work on the playstation out of the box, but you are guaranteed that you can make it work eventually, because you have access to modify all the software involved on both ends of the wire. (I am assuming that ordinary linux USB interface excists for the playstation - that you don't have to work through some sort of binary blob driver for the hardware on that end)
On Jan 31, 11:51 pm, cs_post...@hotmail.com wrote:

Hey, I missed this reply somehow...

> > a cheap audio input device that is known to have working driver > > support for 64-bit PowerPC Linux. At minimum I need to capture one 10- > > 1) try to find one of those USB soundcard thingies that is supported > by some version of linux with a non-binary-blob driver and then get it
That's the path I am expecting to take - the difficulty is to find someone who can say authoritatively "this works in PPC Linux". Even for the non-binary drivers, I've had great difficulty getting some USB devices to work on PowerPC. Just getting them to build can be an immense challenge. (I spent a month, off and on, trying to get the Sunplus USB webcam drivers to build for an MPC8241. After patching it a lot, I got it to compile, but I never got a working driver out of it).
> 2) Get a completely open device on the USB side, say an eval baord > with a Cypress FX2 chip. Several projects (see gnuradio for example) > have gpl'd firmware for these, and corresponding linux drivers. It
(pained look) Yeeeeeessss..... I could do that. Of course, there are some people (myself included) who would much rather rub themselves all over with a salted cheese grater while dancing on a bed of nails in a shower of vinegar than write USB code on either end of the wire.
> (I am assuming that ordinary linux USB interface excists for the > playstation - that you don't have to work through some sort of binary > blob driver for the hardware on that end)
I'm not sure either, but I'm >90% certain that the UHCI in the PS3 works with the open-source driver included in the Linux kernel. Since the device runs standard FC5 as well as the specially-patched YDL5 from Terra, it stands to reason that there is at least partially working support in the stock kernel.
On Feb 4, 7:47 am, "larwe" <zwsdot...@gmail.com> wrote:

> > 1) try to find one of those USB soundcard thingies that is supported > > by some version of linux with a non-binary-blob driver and then get it > > That's the path I am expecting to take - the difficulty is to find > someone who can say authoritatively "this works in PPC Linux". Even > for the non-binary drivers, I've had great difficulty getting some USB > devices to work on PowerPC. Just getting them to build can be an > immense challenge. (I spent a month, off and on, trying to get the > Sunplus USB webcam drivers to build for an MPC8241. After patching it > a lot, I got it to compile, but I never got a working driver out of > it).
Well, as your experience points out it wouldn't be proof, but I don't believe there is much stopping you from downloading the driver source code for a device you haven't bought yet, and trying to build that for PPC linux. At least you'll know if it compiles or not. Assuming I guess that you can identify the appropriate driver without the having the device; though under USB plugging in the hardware does not give you as much information about the chipset as it did in expansion card interfaces, since it's easier for an OEM to change the VID than the various ID's of bus-based function chips.
Third retry with stupid Google!!!

On Jan 31, 5:31 pm, "larwe" <zwsdot...@gmail.com> wrote:
> [If you are trimming followups, please put your reply into > comp.arch.embedded as I don't regularly read the other two NGs where > I've posted this]. > > I'm looking for recommendations on a USB data capture pod or (ideally) > a cheap audio input device that is known to have working driver > support for 64-bit PowerPC Linux. At minimum I need to capture one 10- > bit ADC channel at 22.1kHz; anything friskier would be great, and my > ideal would be 48kHz 16-bit stereo.
The Luminary Micro board should meet this. Linux 2.6.16 works with the FTDI USB-serial driver (with a twist). The A2D can sample at 500 KHz. The only problem is getting through the USB data rate. I can TX/RX at 115K baud and RX at 230K baud. But TX at 230K seems to be a problem. This is between a 200 MHz Geode (Linux side) and a 50 MHz Arm (Device side), so I don't think is processor limited. Of course, you can first store it in local memory, and retrieve data in unreal time.
> > I need to get this working on the PlayStation 3, and I really can't > find anything that's documented specifically enough to PPC Linux that > I can feel confident about buying it.
Duplicating your setup would be a problem. Which state are you in? I am in Southern California.
> > This is a one-off project;
For how long? We might be able to loan you one.
> I'd even be happy to buy a used one from > some Usenet denizen, as long as it was guaranteed I'd be able to get > it working.
Yes, it will work.
On Feb 4, 12:37 pm, cs_post...@hotmail.com wrote:

> > That's the path I am expecting to take - the difficulty is to find > > someone who can say authoritatively "this works in PPC Linux". Even > > Well, as your experience points out it wouldn't be proof, but I don't > believe there is much stopping you from downloading the driver source
True. After searching a lot, it seems that the _most likely_ to work (known to work on PPC in general but not guaranteed on the CBE) is the Griffin iMic, which provides audio input and output in stereo at 48kHz. YDL apparently has support for this peripheral out of the box. I'm sufficiently convinced that I'm dropping $30 on one. Fingers crossed...
On Feb 4, 11:24 am, "larwe" <zwsdot...@gmail.com> wrote:
> On Feb 4, 12:37 pm, cs_post...@hotmail.com wrote: > > > > That's the path I am expecting to take - the difficulty is to find > > > someone who can say authoritatively "this works in PPC Linux". Even > > > Well, as your experience points out it wouldn't be proof, but I don't > > believe there is much stopping you from downloading the driver source > > True. After searching a lot, it seems that the _most likely_ to work > (known to work on PPC in general but not guaranteed on the CBE) is the > Griffin iMic, which provides audio input and output in stereo at > 48kHz. YDL apparently has support for this peripheral out of the box. > I'm sufficiently convinced that I'm dropping $30 on one. Fingers > crossed...
I don't see any Linux support on there web. Are you going to write the driver? Seriously, 48KHz x2 on USB would be tough. I was planning on DCT on the device side at least.
On Feb 4, 2:52 pm, "linnix" <m...@linnix.info-for.us> wrote:

> > Griffin iMic, which provides audio input and output in stereo at > > 48kHz. YDL apparently has support for this peripheral out of the box. > > I don't see any Linux support on there web.
They don't provide any. Support is native in the Linux kernel. <http:// seehuhn.de/comp/hardware/imic>
> Seriously, 48KHz x2 on USB would be tough.
Why? Even if it is operated in full duplex, 48K x 16bit x stereo x full-duplex is only 384kbps, well within the USB 1.1 specification. USB audio drivers operate in isochronous mode.
On Feb 4, 1:38 pm, "larwe" <zwsdot...@gmail.com> wrote:
> On Feb 4, 2:52 pm, "linnix" <m...@linnix.info-for.us> wrote: > > > > Griffin iMic, which provides audio input and output in stereo at > > > 48kHz. YDL apparently has support for this peripheral out of the box. > > > I don't see any Linux support on there web. > > They don't provide any. Support is native in the Linux kernel. <http:// > seehuhn.de/comp/hardware/imic> > > > Seriously, 48KHz x2 on USB would be tough. > > Why? Even if it is operated in full duplex, 48K x 16bit x stereo x > full-duplex is only 384kbps, well within the USB 1.1 specification. > USB audio drivers operate in isochronous mode.
Yes, in theory. In practise, I am having trouble getting 230K through USB. between 1. 1.6 GHz Atheron (USB 2.0) & 50 MHz Arm 2. 200 MHz Geode (USB 1.1) & 50 MHz Arm High data rate simply lockup the USB stack. See my post below.
On Feb 4, 5:02 pm, "linnix" <m...@linnix.info-for.us> wrote:

> Yes, in theory. > In practise, I am having trouble getting 230K through USB. > between
You are using a USB-to-serial converter. This does not operate in iso mode, plus it has the added "bonus" of going through the async management layer of your host OS, which wasn't designed for these high- speed data rates. USB hard disks sustain a much higher data rate than 230K!

The 2024 Embedded Online Conference