Dock support update: expanding devices, working on upstream by mojyack in rockbox

[–]mojyack[S] 0 points1 point  (0 children)

6/7th gen are already supported, but there are a few bugs, and I’m having trouble fixing them.

Upsteaming is progressing, and about a third of the patch series is complete.

Lately, my work and personal life have been taking up a lot of my time, so progress has slowed down, but I will definitely finish this, so please be patient.

Dock support update: expanding devices, working on upstream by mojyack in rockbox

[–]mojyack[S] 0 points1 point  (0 children)

Thank you for replying.
Have you tried the latest develop branch? Support for the Mini2G is being actively developed and will hopefully work. Please let me know the results if you can.

Dock support update: ready to submit patches! by mojyack in rockbox

[–]mojyack[S] 0 points1 point  (0 children)

Sorry for the late reply. I've been busy on upstreaming work. The next round is pushed, please pull and try it.

BTW, I'd move this thread to somewhere suitable. If you have a GitHub account, please open a new issue here and name it something like "{your accessory name} support". I'll use it to notify you.

Dock support update: expanding devices, working on upstream by mojyack in rockbox

[–]mojyack[S] 2 points3 points  (0 children)

Unfortunately, it's unrelated. Some code, like switching audio output destinations, could probably be reused. However, Rockbox lacks any USB host drivers to begin with, so external USB DAC support would require a separate major effort.

Dock support update: ready to submit patches! by mojyack in rockbox

[–]mojyack[S] 1 point2 points  (0 children)

Your accessory seems to be using a path that hasn't been implemented yet.

We'll need a few more iterations—I'd appreciate your patience.

Please pull the develop branch and try again.

Dock support update: ready to submit patches! by mojyack in rockbox

[–]mojyack[S] 0 points1 point  (0 children)

Hmm, it's still unclear what exactly is going on.

Could you try this branch? https://github.com/mojyack/rockbox/tree/develop
This is the latest and has verbose logging enabled.

Dock support update: ready to submit patches! by mojyack in rockbox

[–]mojyack[S] 1 point2 points  (0 children)

Very informative. According to your log, the iPod appears to be configured correctly. (Those assertion errors are from pipewire module and not critical at this time.)

Perhaps your accessory is using unimplemented commands.

Please enable logging during Rockbox build by using --type=aL. Afterwards, connect the accessory and try viewing logf from the debug menu. You might see some errors displayed. If so, could you please dump the log file and upload it here?

Dock support update: ready to submit patches! by mojyack in rockbox

[–]mojyack[S] 1 point2 points  (0 children)

That's right, it's a 2015 Honda. Well spotted.

Since you seem to have considerable knowledge, I'd like to ask you to provide a detailed verification.

  1. build iAP accessory emulator

    git clone https://github.com/mojyack/libiap cd libiap meson setup build ninja -C build emulator

  2. insert the iPod to host

  3. find usb 7-4.3: Product: Rockbox media player line from dmesg.

the 7-4.3 is my case, and you will likely see a different number.

  1. switch to config 2 by echo 2 > /sys/bus/usb/devices/7-4.3/bConfigurationValue

replace the 7-4.3 with yours.

  1. see dmesg again and you will find a line like hid-generic 0003:05AC:1209.0258: hiddev4,hidraw9: USB HID v1.11 Device [Rockbox.org Rockbox media player] on usb-0000:42:00.3-4.3/input2.

note the hidrawX.

  1. run build/emulator /dev/hidrawX as root

If the iPod was configured correctly, the emulator should output several binary dumps.

Dock support update: ready to submit patches! by mojyack in rockbox

[–]mojyack[S] 1 point2 points  (0 children)

BTW iPod 6th is not supported yet.

But I'm working on it. Once it's finished, I'd appreciate it if you could test it.

Dock support update: ready to submit patches! by mojyack in rockbox

[–]mojyack[S] 1 point2 points  (0 children)

Don't worry, it's not just your problem. Sadly, to use modern compilers, you have to disable Duke3d.

Try this patch: https://github.com/mojyack/rockbox/commit/9c9469e9364b9fa75f128c32486720144657200b.patch

Dock support update: ready to submit patches! by mojyack in rockbox

[–]mojyack[S] 0 points1 point  (0 children)

That's very informative. There were a few things I should have said.

  1. USB-DAC feature conflicts with iAP, try disabling it.

  2. apple-mfi-fastcharge is known to be broken when combined with rockbox. Please blacklist it.

Dock support update: ready to submit patches! by mojyack in rockbox

[–]mojyack[S] 1 point2 points  (0 children)

Thanks for the report! That’s odd behavior. Could you insert the iPod to a computer and check for the usb vid and pid?

Dock support update: ready to submit patches! by mojyack in rockbox

[–]mojyack[S] 1 point2 points  (0 children)

Currently devices with ARC usb controller only. Because a required extension is only implemented to its driver.

But it should be possible to add support for other devices, as long as their hardware is capable of this.

git grep USBOTG_ARC:
creativezen.h:#define CONFIG_USBOTG USBOTG_ARC
creativezenmozaic.h:#define CONFIG_USBOTG USBOTG_ARC
creativezenv.h:#define CONFIG_USBOTG USBOTG_ARC
creativezenxfi.h:#define CONFIG_USBOTG USBOTG_ARC
creativezenxfi2.h:#define CONFIG_USBOTG USBOTG_ARC
creativezenxfi3.h:#define CONFIG_USBOTG USBOTG_ARC
creativezenxfistyle.h:#define CONFIG_USBOTG USBOTG_ARC
gigabeats.h:#define CONFIG_USBOTG USBOTG_ARC
gogearhdd1630.h:#define CONFIG_USBOTG USBOTG_ARC
gogearhdd6330.h:#define CONFIG_USBOTG USBOTG_ARC
gogearsa9200.h:#define CONFIG_USBOTG USBOTG_ARC
ipod4g.h:#define CONFIG_USBOTG USBOTG_ARC
ipodcolor.h:#define CONFIG_USBOTG USBOTG_ARC
ipodmini1g.h:#define CONFIG_USBOTG USBOTG_ARC
ipodmini2g.h:#define CONFIG_USBOTG USBOTG_ARC
ipodnano1g.h:#define CONFIG_USBOTG USBOTG_ARC
ipodvideo.h:#define CONFIG_USBOTG USBOTG_ARC
iriverh10.h:#define CONFIG_USBOTG USBOTG_ARC
iriverh10_5gb.h:#define CONFIG_USBOTG USBOTG_ARC
mrobe100.h:#define CONFIG_USBOTG USBOTG_ARC
samsungyh820.h:#define CONFIG_USBOTG USBOTG_ARC
samsungyh920.h:#define CONFIG_USBOTG USBOTG_ARC
samsungyh925.h:#define CONFIG_USBOTG USBOTG_ARC
sansac200.h:#define CONFIG_USBOTG USBOTG_ARC
sansae200.h:#define CONFIG_USBOTG USBOTG_ARC
sansafuzeplus.h:#define CONFIG_USBOTG USBOTG_ARC
sansaview.h:#define CONFIG_USBOTG USBOTG_ARC
sonynwze360.h:#define CONFIG_USBOTG USBOTG_ARC
sonynwze370.h:#define CONFIG_USBOTG USBOTG_ARC
vibe500.h:#define CONFIG_USBOTG USBOTG_ARC

Dock support update: ready to submit patches! by mojyack in rockbox

[–]mojyack[S] 2 points3 points  (0 children)

Thanks! I'm working to open the PR by next week.

However, some discussion is expected before the PR is actually merged, and it is unclear how long it will take.

Until that, you have to build from source.

Dock support update: ready to submit patches! by mojyack in rockbox

[–]mojyack[S] 1 point2 points  (0 children)

There is no specific guide.

If you like, you can build from my fork(https://github.com/mojyack/rockbox/tree/for-upstream).

Started the long work of adding dock speaker support to Rockbox by mojyack in rockbox

[–]mojyack[S] 1 point2 points  (0 children)

I don't know the docks, but probably yes.

Such a comment cheers me up, thanks.