Notice: A non well formed numeric value encountered in /sites/ on line 96 Notice: A non well formed numeric value encountered in /sites/ on line 96 Notice: A non well formed numeric value encountered in /sites/ on line 96 Deprecated: Function create_function() is deprecated in /sites/ on line 104 Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /sites/ on line 845 Deprecated: Function create_function() is deprecated in /sites/ on line 111 FS#11108 : USB Audio support



FS#11108 - USB Audio support

Attached to Project: Rockbox
Opened by amaury pouly (pamaury) - Monday, 15 March 2010, 12:45 GMT
Task Type Patches
Category Drivers
Status New
Assigned To amaury pouly (pamaury)
Operating System All players
Severity Low
Priority Normal
Reported Version Daily build (which?)
Due in Version Undecided
Due Date Undecided
Percent Complete 0%
Votes 0
Private No


This flyspray task will hold the development of a potential usb audio driver for rockbox.
It will also serve for the development of the isochronous transfer support support in usb code.
This task depends upon

Comment by amaury pouly (pamaury) - Monday, 15 March 2010, 12:51 GMT
This first patch contains my current branch. The code is not clean, not working, well I don't like it :) But if some people are interested, the infrastructure is here but isochronous transfers need more work before this can really work. For this reason, my future work will be to have a clean way to make iso transfers work. The problem is timing: iso transfers happen every 125µs but because of the way completion handlers work, we need a way to queue several transfers. I have ideas about how to do that (that more a kind of static scheduling rather than dynamic queueing).

The first patch contains:
- the usb audio driver
- the usb test driver which is a test driver for iso transfers
The others attachments are the the user land of the usb test interface (linux+libusb).
The test driver is here if you want to do some experiment with iso transfers.
Comment by amaury pouly (pamaury) - Thursday, 01 April 2010, 08:34 GMT
The code has evolved a lot. It can be found here:
In the usb-api branch along with a major usb api rewrite (still much work to do to use the new api though)
Comment by T Wolf (towolf) - Friday, 02 September 2011, 17:28 GMT
This sounds really cool. Any chance it would eventually work with Sansa Clips?

I suppose that would mean I could use my OpenWrt router with USB as a music player?
Comment by amaury pouly (pamaury) - Tuesday, 06 September 2011, 11:14 GMT
I'm not currently working on it and the current code has no support for the sansa clips driver. We don't even have a reliable usb driver for clipv2/+...
Yes I guess so, the device would appear as a soundcard. But of course one needs to write the drivers and I don't have time for it now.
Comment by T Wolf (towolf) - Sunday, 11 September 2011, 00:26 GMT
I can understand if things are too flaky or time to implement too limited.

Just wanted to give feedback that a feature like this would be super-sweet. Just imagine.

Would ALSA need a driver too besides the appropriate USB handshaking?
Comment by amaury pouly (pamaury) - Sunday, 11 September 2011, 12:51 GMT
It only requires the usbaudio driver which is included in all major distros. I tested it with alsa + pulseaudio on top of it and it worked perfectly.
Comment by T Wolf (towolf) - Saturday, 25 February 2012, 17:14 GMT
I’m just wondering, now that the USB is stabilized for the Clips, how large of an effort would it be to expose them as audio devices?

Do you also know how I can enable the HID button box functionality?
Comment by Yohan Lee-tin-yien (yolee) - Wednesday, 16 May 2012, 10:37 GMT
Hello Amaury Pouly,

I am also interrested in this feature (for the sansa clip+) and I would like to help.
1- On which device did you test it (alsa + pulseaudio) ?
2- What is the current status of the USB on Sansa Clip+ ?
3- More importantly, how can I help ?
I only know the basics for programming on linux (git, C, makefiles, etc.)

Best regards,

Comment by sciopath (sciopath) - Saturday, 06 April 2013, 14:24 GMT
This is such a good idea: I'd really like to re-use my dead battery sansa fuze as usb soundcard.

Too bad the development on this patch seems stalled.
Comment by Stan Wijckmans (Stannieman) - Sunday, 26 May 2013, 22:46 GMT
I would really like to see this working.
I might even consider working on it, but I have a long way to go I think.
C# and Java is no problem, but I have very little experience with C(++).
Also I never went to anything than usual app coding, so I have no experience with lower level operating system and driver related things...
So it's going to be hard... But if I don't know what to do then I'll look into linuxdeveloping first and see if I can get started with it.
Comment by Stan Wijckmans (Stannieman) - Sunday, 26 May 2013, 22:51 GMT
I only have a nano 2G and it seems USB HID doesn't work and only mass storage does.
So I guess that needs to be fixed first.
Comment by Sawyer (sawyerthebest) - Wednesday, 26 June 2013, 14:46 GMT
I'm willing to throw some money at someone making this work , and work easily. Have a seperate program like rockbox that idenifies the audio device then can set it up as a usb mixamp. I am also willing to help in any way I can write a very solid hello world script on ANY platform , and can edit pictures well ^_^ lets make this happen. Email:
Comment by Sawyer (sawyerthebest) - Tuesday, 13 August 2013, 18:00 GMT
bump bump