On Wed, 26 Nov 2003, Rogério Brito wrote: > On Nov 21 2003, Alan Stern wrote: > > On Thu, 20 Nov 2003, Rogério Brito wrote: > > > OTOH, I compiled a 2.6.0-test9 kernel for my old notebook (a Compaq > > > Armada V300) and for this notebook, the drive works. The appropriate > > > dmesgs are also included at <http://www.ime.usp.br/~rbrito/usb/>. > > > > Looking at your dmesg ouput, the important parts are at the end. For your > > desktop system it said: > > > > hub 1-1:1.0: enabling power on all ports > > hub 1-1:1.0: transfer --> -75 > > usb 1-1: control timeout on ep0in > > > > For your notebook, it said: > > > > hub 1-1:1.0: enabling power on all ports > > hub 1-1:1.0: port 1, status 101, change 1, 12 Mb/s > > hub 1-1:1.0: debounce: port 1: delay 100ms stable 4 status 0x101 > > hub 1-1:1.0: new USB device on port 1, assigned address 3 > > hub 1-1:1.0: transfer --> -75 > > > > and went on from there. > > Right. > > > The -75 error code means that the internal hub isn't behaving > > correctly. It's sending back replies that are longer than they are > > supposed to be. > > And is it possible that those replies are what causes khubd to hang in D > state?
No. Although they aren't correct, khubd doesn't actually look at the contents of the reply. It only cares whether the reply is there or not. But it is a symptom; it indicates that something is wrong with the device. In fact, it may be that khubd isn't really hung. It may simply be waiting for a notification from your device's internal hub -- a notification that never arrives because the internal hub isn't working quite right. > > But even apart from that, there's still something else wrong. The fact > > that the problems began right after the power was turned on to the > > internal hub's ports is suspicious. It suggests that the power level > > could be a problem. Maybe your desktop computer isn't supplying enough > > power over its USB connection and your notebook is; that would explain > > everything. > > Ok. I understand the issue. But would there be any explanation to the > fact that it may work under Windows and not under Linux? It may be a matter of timing. I think Linux turns the power on for both ports of the internal hub at the same time. It may be that the available power isn't quite sufficient for that. Perhaps it's necessary to turn on the ports one by one, with a short delay in between. Power management questions like this are among the known issues needing improvement in the Linux drivers. > Also, I am not really sure that the drive always works under Linux with > my notebook. I can test that a bit further (I just tested a bit more > before sending this e-mail out and it seems that the notebook always > recognizes the drive). When hardware characteristics like the available power are involved, small differences between computers can have a large effect. If your notebook supplies just a bit more power (or has slightly slower timing) than your desktop, that could explain why it works better. > > If you have an external hub that uses an external power supply -- one > > that you have to plug in to a wall socket -- that would make a good > > test. Attach the external hub to your desktop computer and then > > attach the drive to the hub. Since the hub gets power from the wall > > socket, it ought to provide sufficient current for the drive to > > operate. > > Well, I don't have one external hub, which means that chasing the bug > may be a little bit more involved. The only USB devices that I have are > the USB drive, an HP printer and a keyboard and a mouse. > > The only device with which I had problems under kernel 2.4.x was the > drive, which was the reason I tried a 2.6.x kernel (expecting it to > work). > > > Another helpful thing you could do is to post the contents of > > /proc/bus/usb/devices on your notebook while the drive is plugged in > > and working. That would indicate if the drive is bus-powered and how > > much electricity it needs. > > Well, by luck, I just got the drive working in this boot on my desktop > and I saved a dmesg of everything and the contents of the cited file > (also from my desktop). I put both files on my hompeage at: > <http://www.ime.usp.br/~rbrito/usb/>. I also put the contents of > /proc/bus/usb/devices from my notebook there. I looked at that. It all seemed perfectly normal. It didn't even have the -75 error that showed up in your notebook log. > I am compiling a kernel 2.6.0-test10 right now with usb-storage > excessive debugging disabled (to avoig spamming my dmesg outputs with > information that isn't useful), now that we know that the problem seems > to occur before usb-storage enters the game. > > If you would like to know what happens under any specific circumstance, > please let me know. I can't work on this now, but in a week or two maybe I can write something to change the timing for turning on the ports. Remind me about it then in case I forget. Alan Stern ------------------------------------------------------- This SF.net email is sponsored by: SF.net Giveback Program. Does SourceForge.net help you be more productive? Does it help you create better code? SHARE THE LOVE, and help us help YOU! Click Here: http://sourceforge.net/donate/ _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel