Rockbox

Tasklist

FS#12324 - e200v1 USB connection problems since r30701

Attached to Project: Rockbox
Opened by Michael Chicoine (mc2739) - Saturday, 08 October 2011, 23:18 GMT
Last edited by Andree Buschmann (Buschel) - Friday, 21 October 2011, 11:17 GMT
Task Type Bugs
Category Drivers
Status Closed
Assigned To No-one
Operating System Sansa e200
Severity High
Priority Urgent
Reported Version Daily build (which?)
Due in Version Next release
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

I am having USB connection problems on my e200v1 since r30701: Add missing usb_drv_init(), fixes FS #12303

When connecting USB to win7 computer, a message is displayed that says the device should be connected to a USB 2.0 port (all ports are USB 2.0). The device takes a long time to mount (if it ever does) and will sporadically dismount/remount.

Reverting r30701 on current svn corrects the problem.

This problem is not present in r30700 or prior builds.
This task depends upon

Closed by  Andree Buschmann (Buschel)
Friday, 21 October 2011, 11:17 GMT
Reason for closing:  Fixed
Additional comments about closing:  Sloved with r30811.
Comment by Richard Brittain (rbbrittain) - Sunday, 16 October 2011, 21:42 GMT
Spurious USB 2.0 message also appears on my Vista PC, connecting both directly and to my Ubuntu VirtualBox build environment. (VirtualBox is set to always connect my Rockboxed e280v1 to the Ubuntu VM when running.) Long mount times occur in Vista directly, but not in Ubuntu. Also, the first several times trying to eject and/or safely remove in Vista fail because the drive is supposedly being used (though it's not); after awhile it finally disconnects. (Again, this does *not* occur in Ubuntu.)

Will have to manually revert r30701 to see if it fixes my problems.
Comment by Richard Brittain (rbbrittain) - Sunday, 16 October 2011, 22:20 GMT
Reverting r30701 removes the spurious USB 2.0 messages. However, the long mount times & "safely remove" lockout still occur in Vista. Patch removing r30701 from current SVN (r30764) attached.
Comment by Andree Buschmann (Buschel) - Wednesday, 19 October 2011, 16:29 GMT
Great :/ We need JhMikeS to check this again. r30701 was done to fix a non-working USB connection for iPod Video since r30546 and r30549.

I am not sure whether we should just encapsulate usb_drv_init() with "#if defined(IPODVIDEO)"... For the release this would be fine, but not as the final solution...
Comment by Richard Brittain (rbbrittain) - Wednesday, 19 October 2011, 16:35 GMT
You might want to test other PP targets as well. All I can tell from this vs. the other patch is it's necessary for iPod Video but causes problems with Sansa e200v1.
Comment by Andree Buschmann (Buschel) - Wednesday, 19 October 2011, 16:39 GMT
I would really love to see a root cause analysis of the iPod Video's issue since r30546. All we do now is adding patches...
Comment by Andree Buschmann (Buschel) - Wednesday, 19 October 2011, 19:55 GMT
Richard, did I get you right that you also need the usb_drv_init() for your iPod Video?
Comment by Richard Brittain (rbbrittain) - Wednesday, 19 October 2011, 20:10 GMT
No; like the OP, I have an e200v1 and need it taken out. I only mentioned the iPod Video because it's what r30701 was created for; from that, it appears it needs to be left in for that one.

My main suggestion, however, was to test for PP targets *other than* e200v1 & iPod Video to determine if they need it left in (like the iPod Video) or taken out (like the e200v1).
Comment by Richard Brittain (rbbrittain) - Wednesday, 19 October 2011, 20:12 GMT
Addition: Since AFAICT the usb-drv-arc.c file is for *all* ARM targets, perhaps testing on non-PP ARM targets is necessary as well...
Comment by Frank Gevaerts (fg) - Wednesday, 19 October 2011, 20:23 GMT
It's not that simple. My ipod video doesn't need r30701 (but on the other hand it also doesn't seem to have problems with it)

I don't think we need more tests on various targets, we need to understand why Buschel's ipod needs to be initialised twice.
Comment by Michael Sevakis (MikeS) - Wednesday, 19 October 2011, 20:35 GMT
I would only have that hacky reset for the specific device that requires it (iPod Video), otherwise leave it out. Nothing else I had required it.

ETA: Yeah, like the second patch.
Comment by Michael Sevakis (MikeS) - Wednesday, 19 October 2011, 20:37 GMT
@Frank: Ooh, interesting.

FWIW: iPod Video annoys me. That would be a second special hack just for it. I'll bet the power setup is wrong.
Comment by Richard Brittain (rbbrittain) - Wednesday, 19 October 2011, 20:55 GMT
If everyone's agreed that the original issue was iPod Video-specific (maybe even Buschel-specific) and we don't need that init on any other target, I'm fine with Buschel's patch.
Comment by Andree Buschmann (Buschel) - Thursday, 20 October 2011, 05:18 GMT
If noone objects I will just submit the patch from abvove with some additional comment (see attached patch). This way svn becomes usable for the e200 (and maybe other PP's) as well. We can then dig further into this issue with my iPod...

Loading...