• Status Closed
  • Percent Complete
  • Task Type Patches
  • Category Drivers
  • Assigned To No-one
  • Operating System PortalPlayer-based
  • Severity Low
  • Priority Very Low
  • Reported Version Daily build (which?)
  • Due in Version Version 3.1
  • Due Date Undecided
  • Votes
  • Private
Attached to Project: Rockbox
Opened by fg - 2008-03-16
Last edited by BigBambi - 2010-06-06

FS#8747 - Show an "USB Audio" device on plugin instead of an unknown "charging only" device

This patch changes the way rockbox presents itself to the host OS on plugin when connecting in “charging only” mode (i.e. when holding the correct button while pluging in).

The old way was to present a “vendor specific” interface, which causes at least Windows to prompt for drivers (which confuses users despite it being mentioned in the manual).

The new way is to present a USB audio device without any host-controllable parts. On linux (at least without gnome or HAL or similar running) it doesn’t change much. On Windows XP, the OS doesn’t ask for a driver any more, and the only way the user can see it’s a USB audio device (and thus maybe get confused) is during one or two seconds while it’s shown in the “new hardware found” popup near the taskbar, or using the device manager.

I think it is a clean way to achieve a non-interacting device while only charging, but it needs testing on more platforms.

Closed by  BigBambi
2010-06-06 11:05
Reason for closing:  Out of Date

I know from experience, on my ds40 when it is set that way the sound output goes through it’s speaker on connect; windows xp detects it as such and makes it’s sound go that way. Does the patch handle this problem?

fg commented on 2008-03-18 09:30

It doesn’t create the problem in the first place. The current patch does not implement speaker functionality at all, so windows doesn’t see a speaker. If and when we have “real” usb audio support (i.e. support for using the mic and headphones from the PC) it will be possible to switch it on and off.

Audio device appears as expected in linux and WinXP. Vista initially failed to find a driver, but one was available on Windows Update.

One problem though: when using this patch, the SD slot (e200) no longer appears on either linux or windows.

Phil Light: It doesn’t show up in the current builds either because its not enabled yet.

saratoga: I meant that the SD slot no longer appears when compiled with #define USE_ROCKBOX_USB, as it does with svn with that defined.

fg commented on 2008-05-07 20:27

The basic infrastructure part of this is merged by now. This new patch only adds the actual usb audio class driver.
I haven’t tested this since a while, just synced with trunk (r17404), but it should still work.

fg commented on 2008-07-08 20:27

This has a pretty big delta, and there is a very real chance that a dummy HID implementation would be a lot more compatible, so it’s probably best not to be too hasty with this

It would actually be pretty cool if this could be fleshed out to a working USB Audio stack. With the current usb core in place and the layout of rockbox, theorhetically should be a piece of cake to feed an incoming PCM audio signal to the player’s DAC (which is really all the basis of a USB audio device is. Just a DAC that is fed a PCM signal from the OS over usb). Even moreso with what code you have included so far, it should be that much easier.


Available keyboard shortcuts


Task Details

Task Editing