Author
Topic: Digital out via USB? (Read 644 times)

Is it currently possible to use any Rockbox platform to send digital data down the USB to be used by an external DAC, such as a Chord Mojo? As far as I've found, this kind of "digital transport" is hardly ever seen except on ridiculously expensive players ($500+) and I can't th!ink of any technical roadblocks.

If not in existence already, is there any reason why its not feasable? Is asynchronous data transfer proprietary in any way?

If this could be done, I see it as nothing short of a game-changer. Imagine if every clip zip or nano, paired with Mojo or GOV2+ became a complete world-class portable hifi system. That's the future I want to live in!

P.s. I will volunteer myself and my Mojo to help in any way we can! Plus my GOV2+ if I can ever vet it fixed...

This lays the groundwork for isochronous transfer over USB and attempts to overcome some timing/queuing issues but much work remains. It is not exactly what you want to achieve, but it definitely lays the groundwork to achieving it. In the current state it "only" (quoted because this is a huge achievement) deploys a test driver for isochronous transfer and the ability for a Rockbox device to enumerate as a USB soundcard. It is limited to *nix based distributions that support the usbaudio driver.

If you were wanting to resume this work and expand upon it (much has changed in usb.c and various target USb drivers), this is where you would start. I make the distinction that this is where you would start, because there is no work ongoing on this from any active developer.

[Saint]

Logged

Using PMs to annoy devs about bugs/patches is not a good way to have the issue looked at.

Hi,adding my two cents. The latest version of the usb audio experiment is here:http://gerrit.rockbox.org/r/#/c/1009/It is not actually linux specific, it enumerates fine with windows, but does not work when sending audio data (actually it does not work really work linux either). The reason why I think it does not work is because a proper usb audio interface has to proper timing information via a isochronous IN pipe, which is not trivial to do and not done by the driver. Windows doesn't like it, and linux go along without and but it craps out quickly. Also the work only changes one particular driver (ARC) but it shouldn't be (too) hard to add support for others.

Yes it was the case from the beginning, since, as far as I know, Windows has had support for USB Audio 1.0 for a long time now (not sure sure about USB Audio 2.0).At least that's what I remember but it was a long time ago. Then again, there is a long way between enumerating and reliably playing sound