STRANGE!: Usb Extension cable fixes broken USB2 ?
Im going to explain this all step by step because the solution the edidence points to just doesnt make sence.
hopefully you can spot what im missing.
Recently, i bought a Multi-slot USB card reader/writer.
Its internal and fints ionto the cd-rom drive bay.
It runs off USB. the cable runs though the insite of the computer, out a specially designed PCI slot cover with a hole in it ;)
and into a USB slot at the back.
First boot the slot worked fine, but i had not configured the USB2 driver ehci_hcd to load by default.
so the device was working from USB 1.1 ohci_hcd.
the usb mass storage loads a different scsi lun for each slot in the reader (so you can use multiple cards at once)
everything worked perfect, but at slow usb1 speed.
so i modprobed the usb2 driver ehci_hcd.
The kernel repoerted that the devce had detached from usb1 and attacjhed to usb 2.
but then i get several errors in dmesg saying the device rejected address X, error -71, and read error/64 -71.
ALSO, in usb2, no /dev/sdX nodes are assigned, and the "ACTIVE" light, which is normally ON, and flashing dureing activity went dead. The power light remained on.
So i tried everything i could think of.
re-compiled kernel without PRE-EMPTIVE.
compiled several different kernel versions.
tried under MS windows, Same problem.
then as a last desperat act, i decided to try different usb slots.
one usb slot was too far for the cable to reach (i tabled down the usb cample inside the case to stop it restrictng airflow / hitting graphics card fan, which its close to.
so i had to use a USB extenstion cable, about 60cm long..
then suddenly, the device started working as USB2, i tested with file transfere's, and it was much much faster.
also KDEinfo center reported the device as EHCI.
i took the computer apart again, removed tape, and let extra cable through to reach the working USB slot.
then everything stoped working again. same error in dmesg.
i have now discovered that it was not the differant usb slot that fixed it. but the usb extenstion cable.
I only have 1 usb2 device, so imnot sure if its a buggy usb2 controller, or a buggy BIOS, or a buggy card reader.
but extending the cable with a usb cable extender, made for my mp3 player fixes everything. when i remove it, its broke again.
i cant work out WHY extending the cable fixes it !?
even without the cable, when it doesnt work, the kernel still manages to identify the device correctly with id codes and product names.
motherboard = Chaintech vnf3-250
chipset = nForce-3
relevand loaded modules
the USB device is a "Trust CR-3300 Media Bay"
All this cable is doing, is maybe adding a sligh resistance, and a slight extra signal delay.
WHY does it fix my usb ????
Ohhh, and i ve also tried updating the bios, this didnt help.
adding the extension cabl makes usb2 work perfectly, removing instant stops usb 2 from working.
but under usb1, it works fine without the usb extension.
if anything, adding an extension cable should make thesignal worse right !?
I'm taking a guess here, but I think that USB 1.1/2.0 cables are designed differently despite using the same connectors. (I beleive it has something to do with the way the pairs are twisted and connected to the pins or something like that) Anyway, thats really odd! ;)
That cant be it.
The USB2 device is connected to my USB socket with its own cable. (a USB2 cable)
the extension cable came with a USB 1.1 MP3 player.
so it makes even less sence that adding a lower grade usb1 cable extension to my usb 2 cable would make it better.
|All times are GMT -5. The time now is 04:32 AM.|