This is the bug/patch tracker for Rockbox. Click here for more information.
Quick links: Bugs · Patches · Rockbox frontpage
FS#10894 - iPod Nano 2G USB Issues
Attached to Project:
Rockbox
Opened by Franz-Josef Haider (liar) - Tuesday, 05 January 2010, 00:42 GMT+2
Last edited by Andree Buschmann (Buschel) - Sunday, 13 February 2011, 23:31 GMT+2
Opened by Franz-Josef Haider (liar) - Tuesday, 05 January 2010, 00:42 GMT+2
Last edited by Andree Buschmann (Buschel) - Sunday, 13 February 2011, 23:31 GMT+2
|
Detailsthe nano2g usb driver in rockbox contains many bugs.
those do not happen on all nano2gs(they all behave very different): 1.1. if the usb cable is connected during boot the ipod freezes(backlight thread still works). commenting out while (GRSTCTL & 1); in firmware/target/arm/usb-s3c6400x.c in usb_reset does not freeze the nano2g during boot(but 1.2. still happens on some players). the ipod needs to be reset by pressing menu+select. 1.2. the ipod freezes after the usb cable gets connected(after some seconds). but its a very "hard" freeze. nothing does work, backlight thread and everything do not work anymore. even interrupts are not triggered anymore. the ipod needs to be reset by menu+select commenting out usb_drv_recv and usb_drv_send in request_handler_interface_standard in firmware/usbstack/usb_core.c after case USB_REQ_GET_STATUS makes it working again. BUT thats a VERY UGLY and strange HACK 2. some ipods show panc stkov usb. even if we increase the usb stack size by 8kB they still panic. |
This task depends upon
Closed by Andree Buschmann (Buschel)
Sunday, 13 February 2011, 23:31 GMT+2
Reason for closing: Fixed
Additional comments about closing: Was reported to work fine with svn (r29299).
Sunday, 13 February 2011, 23:31 GMT+2
Reason for closing: Fixed
Additional comments about closing: Was reported to work fine with svn (r29299).
i am not sure if that happens with every message where response_data[0]=0. i need to check that
usb_drv_recv(EP_CONTROL,NULL,0);
if i comment out those messages rockbox does not freeze(but that may also be a side effect).
i think it is only coincidence that it fails after the message with length==2(i've seen only one with length==2).
it seems the interrupts are already blocked before the message with length==2 is sent.
it may even fix 2. but that needs testing.
there is a typo in the current svn which is fixed too(DIEPTSIZ instead of DOEPTSIZ in: ep_recv)
usb 1-3: ctrl urb status -75 received
and some messages afterwards the driver fails => many descriptor read errors in dmesg.
this did not happen on a windows computer, but i've only tried it 3 times there.
this patch may be a fix to this(wait before sending/recieving new data if the endpoint is busy) but it needs testing.
Is this problem related to that patch? I had been using rockbox-svn with it as well as the NAND patch (from http://www.rockbox.org/tracker/task/10775) successfully without any data corruption so far. I'm wondering why this happened so sudden now.