# Help with USB please....

## Gweniviere

Hi. I am hoping that someone can tell me what is wrong with my USB subsystem. I have a Logitech webcam, Kodak Digital Camera and Zaurus that all worked on this machine when it was running RedHat 7.x as well as an install of Gentoo 1.2. Now I can't seem to get it to work at all...

The system is a Soyo motherboard with 3 builtin USB hubs (6 ports total). 

The kernal is 2.4.19-gentoo-r10

Here is the output of lsmod...

snicklefritz proc # lsmod

Module                  Size  Used by    Not tainted

usbdnet                13984   0  (unused)

dc2xx                   3488   0  (unused)

usb-uhci               21868   0  (unused)

it87                   10884   0  (unused)

eeprom                  3700   0  (unused)

lm75                    3200   0  (unused)

i2c-isa                 1196   0  (unused)

i2c-proc                6384   0  [it87 eeprom lm75]

i2c-core               11460   0  [it87 eeprom lm75 i2c-isa i2c-proc]

radeonfb               17580   0  (unused)

fbcon-cfb8              3112   0  [radeonfb]

fbcon-cfb32             3656   0  [radeonfb]

fbcon-cfb16             3720   0  [radeonfb]

fbcon-cfb24             4072   0  [radeonfb]

st                     26704   0  (unused)

osst                   39704   0  (unused)

cmpci                  22672   1

soundcore               3492   2  [cmpci]

usbcore                62400   1  [usbdnet dc2xx usb-uhci]

sr_mod                 12184   2

via-rhine              12876   1

and here is the output of my /var/log/messages while I connect varius devices...

Dec 11 10:06:58 snicklefritz kernel: usb.c: registered new driver dc2xx

Dec 11 10:06:58 snicklefritz kernel: dc2xx.c: v1.0.0:USB Camera Driver for Kodak DC-2xx series cameras

Dec 11 10:07:06 snicklefritz kernel: v0.4b sl@lineo.com, tbr@lineo.com

Dec 11 10:07:06 snicklefritz kernel: usbdnet.c: v0.4b sl@lineo.com, tbr@lineo.com

Dec 11 10:07:06 snicklefritz kernel: usbdnet.c: USB Host to Device Network - for Linux USB Devices using MDLM/CDC

Dec 11 10:07:06 snicklefritz kernel: usb.c: registered new driver usbdnet

Dec 11 10:08:48 snicklefritz kernel: hub.c: USB new device connect on bus2/1, assigned device number 2

Dec 11 10:08:48 snicklefritz kernel: usb-uhci.c: interrupt, status 2, frame# 444

Dec 11 10:08:49 snicklefritz kernel: hub.c: USB new device connect on bus2/1, assigned device number 3

The only device that even registers is the Zaurus.

Can anyone point help me with this?

Thanks in advance,

Gwen

```

```

----------

## Decibels

I don't use that kernel. But I will go that you said you had it working.

Did you by chance emerge modutils-2.4.22 lately?

Do a emerge -s modutils

I am not sure how big the bug is on this.  Similar problem:https://forums.gentoo.org/viewtopic.php?t=25862

I have a bug report on it.

If so, might want to emerge unmerge modutils and

then cd /usr/portage/sys-apps/modutils, then emerge modutils-2.4.20.ebuild

Also I noticed that lsmod doesn't show 'input' or 'hid' are you using those?

Just curious, cause I use 'usb-uhci' also and use those modules also.

----------

## Gweniviere

 *Quote:*   

> I don't use that kernel. But I will go that you said you had it working. 

 

I'm sorry if I misled you. I did not mean to say that I had it working with this kernel.

I checked my modutils and they were 2.4.22 so I unmerged them and remerged the previous release (2.4.20). I then unloaded my USB modules (dc2xx, usbdnet, usb-uhci) and reloaded them. I got the same results. None of my USB hardware is recognized when I connect it with the exception of the Zaurus, and even that is not recognized fully.

As a side note, I tried the uhci module and got a bit different output in /var/log/messages....

Dec 11 13:17:40 snicklefritz kernel: usb.c: deregistering driver dc2xx

Dec 11 13:17:47 snicklefritz kernel: usb.c: USB disconnect on device 1

Dec 11 13:17:47 snicklefritz kernel: usb.c: USB bus 1 deregistered

Dec 11 13:17:47 snicklefritz /sbin/hotplug: arguments (usb) env (DEVFS=/proc/bus/usb OLDPWD=/ PATH=/bin:/sbin:/usr/sbin:/usr/bin ACTION=remove PWD=/etc/hotplug SHLVL=1 HOME=/ DEVICE=/proc/bus/usb/001/001 PRODUCT=0/0/0 TYPE=9/0/0 DEBUG=kernel _=/usr/bin/env)

Dec 11 13:17:47 snicklefritz /sbin/hotplug: invoke /etc/hotplug/usb.agent ()

Dec 11 13:17:47 snicklefritz kernel: usb.c: USB disconnect on device 1

Dec 11 13:17:47 snicklefritz kernel: usb.c: USB bus 2 deregistered

Dec 11 13:17:47 snicklefritz /sbin/hotplug: arguments (usb) env (DEVFS=/proc/bus/usb OLDPWD=/ PATH=/bin:/sbin:/usr/sbin:/usr/bin ACTION=remove PWD=/etc/hotplug SHLVL=1 HOME=/ DEVICE=/proc/bus/usb/002/001 PRODUCT=0/0/0 TYPE=9/0/0 DEBUG=kernel _=/usr/bin/env)

Dec 11 13:17:47 snicklefritz /sbin/hotplug: invoke /etc/hotplug/usb.agent ()

Dec 11 13:17:47 snicklefritz kernel: usb.c: USB disconnect on device 1

Dec 11 13:17:47 snicklefritz kernel: usb.c: USB bus 3 deregistered

Dec 11 13:17:47 snicklefritz /sbin/hotplug: arguments (usb) env (DEVFS=/proc/bus/usb OLDPWD=/ PATH=/bin:/sbin:/usr/sbin:/usr/bin ACTION=remove PWD=/etc/hotplug SHLVL=1 HOME=/ DEVICE=/proc/bus/usb/003/001 PRODUCT=0/0/0 TYPE=9/0/0 DEBUG=kernel _=/usr/bin/env)

Dec 11 13:17:47 snicklefritz /sbin/hotplug: invoke /etc/hotplug/usb.agent ()

Dec 11 13:17:51 snicklefritz kernel: uhci.c: USB Universal Host Controller Interface driver v1.1

Dec 11 13:17:51 snicklefritz kernel: uhci.c: USB UHCI at I/O 0xe000, IRQ 11

Dec 11 13:17:51 snicklefritz kernel: usb.c: new USB bus registered, assigned bus number 1

Dec 11 13:17:51 snicklefritz kernel: uhci.c: detected 2 ports

Dec 11 13:17:51 snicklefritz kernel: Product: USB UHCI-alt Root Hub

Dec 11 13:17:51 snicklefritz kernel: SerialNumber: e000

Dec 11 13:17:51 snicklefritz kernel: hub.c: USB hub found

Dec 11 13:17:51 snicklefritz kernel: hub.c: 2 ports detected

Dec 11 13:17:51 snicklefritz kernel: uhci.c: USB UHCI at I/O 0xe400, IRQ 11

Dec 11 13:17:51 snicklefritz /sbin/hotplug: arguments (usb) env (DEVFS=/proc/bus/usb OLDPWD=/ PATH=/bin:/sbin:/usr/sbin:/usr/bin ACTION=add PWD=/etc/hotplug SHLVL=1 HOME=/ DEVICE=/proc/bus/usb/001/001 PRODUCT=0/0/0 TYPE=9/0/0 DEBUG=kernel _=/usr/bin/env)

Dec 11 13:17:51 snicklefritz /sbin/hotplug: invoke /etc/hotplug/usb.agent ()

Dec 11 13:17:51 snicklefritz kernel: usb.c: new USB bus registered, assigned bus number 2

Dec 11 13:17:51 snicklefritz kernel: uhci.c: detected 2 ports

Dec 11 13:17:51 snicklefritz kernel: Product: USB UHCI-alt Root Hub

Dec 11 13:17:51 snicklefritz kernel: SerialNumber: e400

Dec 11 13:17:51 snicklefritz kernel: hub.c: USB hub found

Dec 11 13:17:51 snicklefritz kernel: hub.c: 2 ports detected

Dec 11 13:17:51 snicklefritz kernel: uhci.c: USB UHCI at I/O 0xe800, IRQ 11

Dec 11 13:17:51 snicklefritz /sbin/hotplug: arguments (usb) env (DEVFS=/proc/bus/usb OLDPWD=/ PATH=/bin:/sbin:/usr/sbin:/usr/bin ACTION=add PWD=/etc/hotplug SHLVL=1 HOME=/ DEVICE=/proc/bus/usb/002/001 PRODUCT=0/0/0 TYPE=9/0/0 DEBUG=kernel _=/usr/bin/env)

Dec 11 13:17:51 snicklefritz /sbin/hotplug: invoke /etc/hotplug/usb.agent ()

Dec 11 13:17:52 snicklefritz kernel: usb.c: new USB bus registered, assigned bus number 3

Dec 11 13:17:52 snicklefritz kernel: uhci.c: detected 2 ports

Dec 11 13:17:52 snicklefritz kernel: Product: USB UHCI-alt Root Hub

Dec 11 13:17:52 snicklefritz kernel: SerialNumber: e800

Dec 11 13:17:52 snicklefritz kernel: hub.c: USB hub found

Dec 11 13:17:52 snicklefritz kernel: hub.c: 2 ports detected

Dec 11 13:17:52 snicklefritz /sbin/hotplug: arguments (usb) env (DEVFS=/proc/bus/usb OLDPWD=/ PATH=/bin:/sbin:/usr/sbin:/usr/bin ACTION=add PWD=/etc/hotplug SHLVL=1 HOME=/ DEVICE=/proc/bus/usb/003/001 PRODUCT=0/0/0 TYPE=9/0/0 DEBUG=kernel _=/usr/bin/env)

Dec 11 13:17:52 snicklefritz /sbin/hotplug: invoke /etc/hotplug/usb.agent ()

Dec 11 13:17:54 snicklefritz /etc/hotplug/usb.agent: Setup usbcore for USB product 0/0/0

And when I turn the Zaurus on I get this....

Dec 11 13:19:05 snicklefritz kernel: hub.c: USB new device connect on bus2/1, assigned device number 4

Dec 11 13:19:05 snicklefritz kernel: [d69040c0] link (16904032) element (1c3601e4)

Dec 11 13:19:05 snicklefritz kernel:   Depth traverse

Dec 11 13:19:05 snicklefritz kernel:   0: [dc3601e0] link (1c360214) e0 LS Stalled CRC/Timeo Length=7 MaxLen=7 DT0 EndPt=0 Dev=0, PID=2d(SETUP) (buf=0c804e00)

Dec 11 13:19:05 snicklefritz kernel:   1: [dc360210] link (00000001) e3 LS IOC Active Length=0 MaxLen=7ff DT1 EndPt=0 Dev=0, PID=69(IN) (buf=00000000)

Dec 11 13:19:05 snicklefritz kernel:

Dec 11 13:19:05 snicklefritz kernel: hub.c: USB new device connect on bus2/1, assigned device number 5

Dec 11 13:19:05 snicklefritz kernel: [d69040c0] link (16904032) element (1c3601e4)

Dec 11 13:19:05 snicklefritz kernel:   Depth traverse

Dec 11 13:19:05 snicklefritz kernel:   0: [dc3601e0] link (1c360214) e0 LS Stalled CRC/Timeo Length=7 MaxLen=7 DT0 EndPt=0 Dev=0, PID=2d(SETUP) (buf=15866400)

Dec 11 13:19:05 snicklefritz kernel:   1: [dc360210] link (00000001) e3 LS IOC Active Length=0 MaxLen=7ff DT1 EndPt=0 Dev=0, PID=69(IN) (buf=00000000)

Dec 11 13:19:05 snicklefritz kernel:

Oh and as for the 'input' or 'hid' modules, I don't think I need them as I am using PS2 style mouse and keyboard. Is this right?

Thanks,

Gwen

----------

## Decibels

Hmm, hard to say on the input and hid modules:

 *Quote:*   

>  Say Y here if you want full HID support to connect keyboards, mice, joysticks, graphic tablets, or any other HID based devices to your computer via USB. You also need to select HID Input layer support (below) if you want to use keyboards, mice, joysticks and the like.

 

 *Quote:*   

>  Say Y here if you want to enable any of the following options for USB Human Interface Device (HID) support.
> 
>  Say Y here if you want to enable any of the USB HID options in the USB support section which require Input core support.

 

But I guess I should have looked a little better that you were mainly interested in the Cameras.

To get a USB camera to work on my 1.2 system. Had to:

1) Enable usbdevfs in the kernel. If do module then load it also.

2) Enable usbcore in the kernel. If do module then load it also. Think I did module on this one. You already have that though.

3) Emerge usbutils & hotplug.

4) cat /proc/bus/usb/devices   and look for the camera being unplugged and plugged in.

5) cat /proc/bus/usb/devices | grep 'Bus'  then look for Bus=xx & Dev#=x, where x is a number camera is on. 

6) chmod a+w /proc/bus/usb/xx/x  

6) Then it worked until I rebooted, then only root could use it. I used gphoto2, so I could give you what I did to fix that once you get this far.

Also, many USB devices like scanners use the scsi emulation. Don't remember if the camera does, think so.

So you might want to also enable these in the kernel:

1) SCSI Support

2) Probe all LUNs on each SCSI device

3) SCSI generic support. I did this as module, module is sg

----------

## rommel

mousedev.o and hid.o would would be for a usb mouse...so if your using ps2 you wouldnt need that....i had a funny thing happen with the usb on a new mainboard...turned out to be harware failure...the usb hub 1 was not getting assigned an irq by the bios at boot....somehow windows managed to work around this but linux couldnt.  

i ran that kerenl with both 1.2 and 1.4 with no problems , i have since rebuilt the kernel adn am now using the 2.4.20 kernel.

anyway check your kernel configuration and load only the module (ehci ,uhci,ohci) that is needed by your hardware..if your unsure post your mainboard information. soyo with amd cpu would probably be running a via chipset and need uhci, if its a sis chipset it would need ohci.....ehci is for usb 2.0 

i also had trouble with a test system that was running ACCEPT_KEYWORD="~X86" , a beta version of baselayout messed with modules.autoload and hid.o

----------

## Gweniviere

My /proc/bus/usb/devices file never changes, regardless of what equipment I attach to the USB bus. Here is a copy of it...

snicklefritz linux # cat /proc/bus/usb/devices

T:  Bus=03 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=12  MxCh= 2

B:  Alloc=  0/900 us ( 0%), #Int=  0, #Iso=  0

D:  Ver= 1.00 Cls=09(hub  ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1

P:  Vendor=0000 ProdID=0000 Rev= 0.00

S:  Product=USB UHCI-alt Root Hub

S:  SerialNumber=e800

C:* #Ifs= 1 Cfg#= 1 Atr=40 MxPwr=  0mA

I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub

E:  Ad=81(I) Atr=03(Int.) MxPS=   8 Ivl=255ms

T:  Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=12  MxCh= 2

B:  Alloc=  0/900 us ( 0%), #Int=  0, #Iso=  0

D:  Ver= 1.00 Cls=09(hub  ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1

P:  Vendor=0000 ProdID=0000 Rev= 0.00

S:  Product=USB UHCI-alt Root Hub

S:  SerialNumber=e400

C:* #Ifs= 1 Cfg#= 1 Atr=40 MxPwr=  0mA

I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub

E:  Ad=81(I) Atr=03(Int.) MxPS=   8 Ivl=255ms

T:  Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=12  MxCh= 2

B:  Alloc=  0/900 us ( 0%), #Int=  0, #Iso=  0

D:  Ver= 1.00 Cls=09(hub  ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1

P:  Vendor=0000 ProdID=0000 Rev= 0.00

S:  Product=USB UHCI-alt Root Hub

S:  SerialNumber=e000

C:* #Ifs= 1 Cfg#= 1 Atr=40 MxPwr=  0mA

I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub

E:  Ad=81(I) Atr=03(Int.) MxPS=   8 Ivl=255ms

The only indication that I get that anything is happening is in my /var/log/messages file. And that is only when I turn the zaurus on.

This is the output when I use the uhci.o and I turn on my Zaurus....

Dec 11 19:50:39 snicklefritz kernel: hub.c: USB new device connect on bus2/1, assigned device number 8

Dec 11 19:50:39 snicklefritz kernel: [d69040c0] link (16904032) element (1c3601e4)

Dec 11 19:50:39 snicklefritz kernel:   Depth traverse

Dec 11 19:50:39 snicklefritz kernel:   0: [dc3601e0] link (1c360214) e0 LS Stalled CRC/Timeo Length=7 MaxLen=7 DT0 EndPt=0 Dev=0, PID=2d(SETUP) (buf=1163d580)

Dec 11 19:50:39 snicklefritz kernel:   1: [dc360210] link (00000001) e3 LS IOC Active Length=0 MaxLen=7ff DT1 EndPt=0 Dev=0, PID=69(IN) (buf=00000000)

Dec 11 19:50:39 snicklefritz kernel:

Dec 11 19:50:39 snicklefritz kernel: hub.c: USB new device connect on bus2/1, assigned device number 9

Dec 11 19:50:39 snicklefritz kernel: [d69040c0] link (16904032) element (1c3601e4)

Dec 11 19:50:39 snicklefritz kernel:   Depth traverse

Dec 11 19:50:39 snicklefritz kernel:   0: [dc3601e0] link (1c360214) e0 LS Stalled CRC/Timeo Length=7 MaxLen=7 DT0 EndPt=0 Dev=0, PID=2d(SETUP) (buf=14032700)

Dec 11 19:50:39 snicklefritz kernel:   1: [dc360210] link (00000001) e3 LS IOC Active Length=0 MaxLen=7ff DT1 EndPt=0 Dev=0, PID=69(IN) (buf=00000000)

Dec 11 19:50:39 snicklefritz kernel:

and this is the output when usb-uhci.o is loaded and I turn my Zaurus on...

Dec 11 19:52:19 snicklefritz kernel: hub.c: USB new device connect on bus2/1, assigned device number 4

Dec 11 19:52:19 snicklefritz kernel: usb-uhci.c: interrupt, status 2, frame# 358

Dec 11 19:52:19 snicklefritz kernel: hub.c: USB new device connect on bus2/1, assigned device number 5

No other devices even register with the system. And the Zaurus does not work. That is to say that usbdnet.o does not assign an interface for it.

As for the IRQ problem, it looks as if all three hubs use IRQ 11...

Please, if there is any other information that may be useful, I would be glad to post it. I sure would like to get this fixed. 

Gwen  :Sad: 

----------

## rommel

just out of curiousity what is the model of the mainboard your using? c

did you add ehci as well as the 1.1 host controller for your harware?

also have you tried switching the hardware around to each of the 

ports then running cat /proc/bus/usb/devices

i get similar results with the mainboard that has a  bad port to what your showing...it gives a readout of all the usb hub stuff but it see's nothing attached to it.

you could try installing another kernel ....maybe the vanilla 2.4.20 , thats what i am using now.

----------

## Gweniviere

Happy! Happy! Joy! Joy!

It's working! A new kernel with vanilla sources and all is well in my little world. Thanks everyone for the help!

Gwen

----------

