Subject: USB problem with ADM5120 (Edimax BR6104KP)
To: None <>
From: Paul Chakravarti <>
List: port-evbmips
Date: 11/23/2007 00:38:26

I am having a problem getting USB to work on an ADM5120 based board  
(Edimax BR6104KP*) - although the USB hub is recognised on boot when  
I try to plug a device in I get a 'uhub0: device problem, disabling  
port 1' message. Unfortunately I am not quite sure where to start - I  
have attached a dmesg & debug output when a USB device is inserted  
below (with usbdebug & uhcidebug set to 5) and would be grateful for  
any pointers,

Regards, Paul

NetBSD 4.99.30 (EDIMAX-PF) #14: Thu Nov  1 22:41:20 GMT 2007
Infineon ADM5120
total memory = 16384 KB
avail memory = 9992 KB
mainbus0 (root)
gpio0 at mainbus0: 8 pins
cpu0 at mainbus0: 175.00MHz (hz cycles = 170898, delay divisor = 87)
cpu0: MIPS 4Kc (0x1800b) Rev. 11 with software emulated floating point
cpu0: 8KB/16B 2-way set-associative L1 Instruction cache, 16 TLB entries
cpu0: 8KB/16B 2-way set-associative write-back L1 Data cache
obio0 at mainbus0
uart0 at obio0 addr 0x12600000 console
uart1 at obio0 addr 0x12800000
admsw0 at obio0 addr 0x12000000: ADM5120 Switch Engine, 6 ports
admsw0: base Ethernet address 02:aa:bb:cc:dd:ee
ahci0 at obio0 addr 0x11200000
usb0 at ahci0usbd_attach
: USB revision 1.1
usbd_new_device bus=0xc002b400 port=0 depth=0 speed=2
usbd_setup_pipe: dev=0xc001db00 iface=0x0 ep=0xc001db24 pipe=0xc001db04
usbd_get_desc: type=1, index=0, len=8
usb_allocmem: adding fragments
usbd_new_device: adding unit addr=1, rev=101, class=9, subclass=0,  
protocol=0, maxpacket=64, len=18, speed=2
usbd_get_desc: type=1, index=0, len=18
usbd_new_device: new dev (addr 1), dev=0xc001db00, parent=0xc001db80
usbd_get_string: getting lang failed, using 0
usbd_probe_and_attach: trying device specific drivers
uhub0 at usb0
uhub0: ADMTek ADM5120 root hub, class 9/0, rev 1.01/0.00, addr 1
usbd_get_config_desc: confidx=0
usbd_get_desc: type=2, index=0, len=9
usbd_get_desc: type=2, index=0, len=25
usbd_set_config_index: (addr 1) cno=1 attr=0x40, selfpowered=1,  
usbd_set_config_index: set config 1
usbd_fill_iface_data: ifaceidx=0 altidx=0
usbd_find_idesc: idx=0(-1) altidx=0(0) len=9 type=2
usbd_find_idesc: idx=0(-1) altidx=0(0) len=9 type=4
usbd_fill_iface_data: found idesc nendpt=1
uhub0: 2 ports with 2 removable, self powered
usbd_open_pipe_intr: address=0x81 flags=0x4 len=1
usbd_open_pipe: iface=0xc0029a40 address=0x81 flags=0x1
usbd_setup_pipe: dev=0xc001db00 iface=0xc0029a40 ep=0xc000beb0  
admflash at obio0 addr 0x1fc00000 not configured
extio at mainbus0 not configured
admpci at mainbus0 not configured
md0: internal 2360 KB image area
usb_event_thread: start
usb_task_thread: start taskq usbtask-hc
usb_task_thread: start taskq usbtask-dr
root on md0a dumps on md0b
root file system type: ffs
WARNING: no TOD clock present
WARNING: using filesystem time
Running rc:
add net default: gateway
Enter pathname of shell or RETURN for /bin/sh: admsw_intr:  


usb_event_thread: woke up
usbd_reset_port: port 1 reset done, error=NORMAL_COMPLETION
usbd_new_device bus=0xc002b400 port=1 depth=1 speed=2
usbd_setup_pipe: dev=0xc001d480 iface=0x0 ep=0xc001d4a4 pipe=0xc001d484
usbd_new_device: set address 2 failed - trying a port reset
usbd_reset_port: port 1 reset done, error=NORMAL_COMPLETION
usbd_new_device: set address 2 failed - trying a port reset
usbd_reset_port: port 1 reset done, error=NORMAL_COMPLETION
usbd_new_device: set address 2 failed - trying a port reset
usbd_reset_port: port 1 reset done, error=NORMAL_COMPLETION
usb_new_device: set address 2 failed
usbd_remove_device: 0xc001d480
usbd_ar_pipe: pipe=0xc002c280
uhub_explore: usb_new_device failed, error=SET_ADDR_FAILED
uhub0: device problem, disabling port 1