On Wed, 19 Jan 2005, Marcel Koopman wrote:

> Well the switch disconnects because I press a button on it.

Okay, that explains it.

> The switch has 4 ports, for four computers. I have to press a button to 
> select pc 1,2,3 or 4.
> 
> 
> Here's my usb log when I connect only the switch:
> 
> "ehci_hcd 0000:00:1d.7: GetStatus port 1 status 001403 POWER sig=k  CSC 
> CONNECT
> hub 5-0:1.0: port 1, status 0501, change 0001, 480 Mb/s
> hub 5-0:1.0: debounce: port 1: total 100ms stable 100ms status 0x501
> ehci_hcd 0000:00:1d.7: CTRL: TypeReq=0x2301 val=0x2 idx=0x0 len=0 ==> -32
> ehci_hcd 0000:00:1d.7: port 1 low speed --> companion
> uhci_hcd 0000:00:1d.0: wakeup_hc
> ehci_hcd 0000:00:1d.7: GetStatus port 1 status 003002 POWER OWNER 
> sig=se0  CSC
> uhci_hcd 0000:00:1d.0: port 1 portsc 0183
> hub 1-0:1.0: port 1, status 0301, change 0001, 1.5 Mb/s
> hub 1-0:1.0: debounce: port 1: total 100ms stable 100ms status 0x301
> uhci_hcd 0000:00:1d.0: CTRL: TypeReq=0x2301 val=0x2 idx=0x0 len=0 ==> -32
> usb 1-1: new low speed USB device using address 2

I guess it connects at low speed when there's nothing plugged into it.

> usb 1-1: config 1 has an invalid interface number: 1 but max is 0
> usb 1-1: config 1 has 2 interfaces, different from the descriptor's value: 1
> usb 1-1: skipped 1 descriptor after interface
> usb 1-1: skipped 1 descriptor after interface
> usb 1-1: new device strings: Mfr=1, Product=2, SerialNumber=0
> usb 1-1: default language 0x0409
> usb 1-1: Product: USB AUTO Switch
> usb 1-1: Manufacturer: JUSTCOM Technology
> usb 1-1: hotplug
> usb 1-1: adding 1-1:1.0 (config #1, interface 0)
> usb 1-1:1.0: hotplug
> usb 1-1: adding 1-1:1.1 (config #1, interface 1)
> usb 1-1:1.1: hotplug
> usbcore: registered new driver hiddev
> usbhid 1-1:1.0: usb_probe_interface
> usbhid 1-1:1.0: usb_probe_interface - got id
> input: USB HID v1.00 Gamepad [JUSTCOM Technology USB AUTO Switch] on 
> usb-0000:00:1d.0-1
> usbhid 1-1:1.1: usb_probe_interface
> usbhid 1-1:1.1: usb_probe_interface - got id
> input: USB HID v1.10 Mouse [JUSTCOM Technology USB AUTO Switch] on 
> usb-0000:00:1d.0-1
> usbcore: registered new driver usbhid
> drivers/usb/input/hid-core.c: v2.0:USB HID core driver
> er
> "

Is it possible that the switch is meant to work only with keyboards, mice,
or gamepads, and not with USB hubs?  The list of USB HID input devices 
above is suggestive.

> Then I insert the usb hub cable into the switch and press the button to 
> select pc1:
> "
> drivers/usb/input/hid-core.c: input irq status -84 received
> drivers/usb/input/hid-core.c: input irq status -84 received
> drivers/usb/input/hid-core.c: input irq status -84 received
> drivers/usb/input/hid-core.c: input irq status -84 received
> drivers/usb/input/hid-core.c: input irq status -84 received
> drivers/usb/input/hid-core.c: input irq status -84 received
> drivers/usb/input/hid-core.c: input irq status -84 received
> drivers/usb/input/hid-core.c: input irq status -84 received
> drivers/usb/input/hid-core.c: input irq status -84 received
> drivers/usb/input/hid-core.c: input irq status -84 received
> uhci_hcd 0000:00:1d.0: port 1 portsc 008a
> hub 1-0:1.0: port 1, status 0100, change 0003, 12 Mb/s
> usb 1-1: USB disconnect, address 2
> usb 1-1: usb_disable_device nuking all URBs
> uhci_hcd 0000:00:1d.0: shutdown urb f47e2380 pipe 40410280 ep2in-intr
> usb 1-1: unregistering interface 1-1:1.0
> usb 1-1:1.0: hotplug
> usb 1-1: unregistering interface 1-1:1.1
> usb 1-1:1.1: hotplug
> usb 1-1: unregistering device
> usb 1-1: hotplug
> hub 1-0:1.0: debounce: port 1: total 100ms stable 100ms status 0x100
> ehci_hcd 0000:00:1d.7: GetStatus port 1 status 001002 POWER sig=se0  CSC
> hub 5-0:1.0: port 1, status 0100, change 0001, 12 Mb/s
> hub 5-0:1.0: debounce: port 1: total 100ms stable 100ms status 0x100
> uhci_hcd 0000:00:1d.0: suspend_hc
> ehci_hcd 0000:00:1d.7: GetStatus port 1 status 001803 POWER sig=j  CSC 
> CONNECT
> hub 5-0:1.0: port 1, status 0501, change 0001, 480 Mb/s
> hub 5-0:1.0: debounce: port 1: total 100ms stable 100ms status 0x501
> ehci_hcd 0000:00:1d.7: CTRL: TypeReq=0x2301 val=0x2 idx=0x0 len=0 ==> -32
> hub 5-0:1.0: port 1 not reset yet, waiting 50ms
> ehci_hcd 0000:00:1d.7: port 1 high speed
> ehci_hcd 0000:00:1d.7: GetStatus port 1 status 001005 POWER sig=se0  PE 
> CONNECT
> usb 5-1: new high speed USB device using address 3
> ehci_hcd 0000:00:1d.7: devpath 1 ep0out 3strikes
> ehci_hcd 0000:00:1d.7: devpath 1 ep0out 3strikes
> usb 5-1: device not accepting address 3, error -71
> ehci_hcd 0000:00:1d.7: CTRL: TypeReq=0x2301 val=0x2 idx=0x0 len=0 ==> -32
> hub 5-0:1.0: port 1 not reset yet, waiting 50ms
> ehci_hcd 0000:00:1d.7: port 1 high speed
> ehci_hcd 0000:00:1d.7: GetStatus port 1 status 001005 POWER sig=se0  PE 
> CONNECT
> usb 5-1: new high speed USB device using address 4
> ehci_hcd 0000:00:1d.7: devpath 1 ep0out 3strikes
> ehci_hcd 0000:00:1d.7: devpath 1 ep0out 3strikes
> usb 5-1: device not accepting address 4, error -71
> "

Do you know how the switch is supposed to work?  Does it somehow just pass
USB packets directly from the host computer to the device?  (In which case
the errors mean that the hub is failing to respond properly.)  Or does it
act as a single-port hub itself?  (In which case the errors mean that the
switch is failing to respond.)  This seems less likely, because when
nothing was plugged in the switch did not register as a hub.

If the first alternative is true, maybe the switch simply is unable to
pass high-speed packets back and forth.  What happens if you unload the
ehci-hcd driver before plugging the hub into the switch?  This will force
everything to work at full speed instead of high speed.

> >Can you try using a more recent version of the kernel, like 2.6.11-rc1-bk?  
> >There have been a few changes made to the EHCI driver that might be
> >important here.
> >  
> >
> I tried kernel 2.6.11-rc1-bk7, still the same error.
> 
> >It would be interesting also to see what /proc/bus/usb/devices and "lsusb
> >-v" have to say about the switch.
> >  
> >
> [EMAIL PROTECTED]:~$ lsusb
> Bus 005 Device 001: ID 0000:0000
> Bus 004 Device 001: ID 0000:0000
> Bus 003 Device 001: ID 0000:0000
> Bus 002 Device 001: ID 0000:0000
> Bus 001 Device 001: ID 0000:0000

You did "lsusb", not "lsusb -v".  Also, you did it at a time when the
switch wasn't working so there's no information listed about it.  The same
goes for your /proc/bus/usb/devices listing.  You need to get both pieces
of information while the switch is plugged in, with nothing attached to
it.

Alan Stern



-------------------------------------------------------
This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting
Tool for open source databases. Create drag-&-drop reports. Save time
by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc.
Download a FREE copy at http://www.intelliview.com/go/osdn_nl
_______________________________________________
Linux-usb-users@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-users

Reply via email to