[Prism54-devel] prism54-usb w/ 2.6.6

Rob Hill rob@dot.net.au
Mon, 17 May 2004 15:33:03 +1000


Sorry - I just realised I'm missing a load of debugging output,
specifically for p54u_load_firmware, where we seem to be having trouble.
I've recompiled with CONFIG_USB_DEBUG, and will re-test when I get home.

Rob

On Mon, 2004-05-17 at 14:10, Rob Hill wrote:
> Hi, 
> 
> I've been trying to get prism54-usb working with the 2.6.6 and my D-Link
> DWL-G120 with mixed results.
> 
> I'm running Debian Sarge, on a Via M10000 mobo, 512M RAM yadda yadda
> yadda
> 
> Hotplug is installed.
> 
> I've compiled the above source on 2.6.6, and added the vendor id for the
> G120 to usb_init.c: 
> 
> {USB_DEVICE(0x2001, 0x3701)}, /* D-Link G120 */
> 
> The kernel registers the device properly when I plug it in, see the logs
> below. I've loaded the module with debug=1:
> 
> 
> May 16 20:54:58 rubix kernel: usbcore: registered new driver prism54_usb
> May 16 20:55:19 rubix kernel: usb 2-2: new full speed USB device using address 3
> May 16 20:55:20 rubix kernel: usb 2-2: device not accepting address 3, error -71
> May 16 20:55:20 rubix kernel: usb 2-2: new full speed USB device using address 4
> May 16 20:55:20 rubix kernel: /home/mythtv/prism54-usb/usb_init.c: Prism54 USB device now attached to eth1
> May 16 20:55:21 rubix usb.agent[2480]:      prism54u: already loaded
> 
> Now when I do "ifup eth1" I get:
> 
> 
> May 16 20:55:42 rubix kernel: /home/mythtv/prism54-usb/usb_netdev.c: sem down
> May 16 20:55:42 rubix kernel: 
> May 16 20:55:42 rubix kernel: /home/mythtv/prism54-usb/usb_netdev.c: sem down done
> May 16 20:55:42 rubix kernel: 
> May 16 20:55:42 rubix kernel: /home/mythtv/prism54-usb/usb_init.c: eth1: Boot the device.
> May 16 20:55:42 rubix kernel: 
> May 16 20:55:42 rubix kernel: /home/mythtv/prism54-usb/usb_init.c: eth1: Reset USB device.
> May 16 20:55:42 rubix kernel: 
> May 16 20:55:42 rubix kernel: /home/mythtv/prism54-usb/usb_init.c: eth1: Reset USB device done.
> May 16 20:55:42 rubix kernel: 
> May 16 20:55:42 rubix kernel: /home/mythtv/prism54-usb/usb_init.c: eth1: Setup USB structures.
> May 16 20:55:42 rubix kernel: 
> May 16 20:55:42 rubix kernel: /home/mythtv/prism54-usb/usb_init.c: eth1: Allocate pipe 01.
> May 16 20:55:42 rubix kernel: 
> May 16 20:55:42 rubix kernel: /home/mythtv/prism54-usb/usb_init.c: pipe->size == cf50f91c
> May 16 20:55:42 rubix kernel: 
> May 16 20:55:42 rubix kernel: /home/mythtv/prism54-usb/usb_init.c: pipe->urb == d66e51dc
> May 16 20:55:42 rubix kernel: 
> May 16 20:55:42 rubix kernel: /home/mythtv/prism54-usb/usb_init.c: pipe->buf == dbc6a75c
> May 16 20:55:42 rubix kernel: 
> May 16 20:55:42 rubix kernel: /home/mythtv/prism54-usb/usb_init.c: eth1: Allocate buffers.
> May 16 20:55:42 rubix kernel: 
> May 16 20:55:42 rubix kernel: /home/mythtv/prism54-usb/usb_init.c: pipe->size [0] = 4096
> May 16 20:55:42 rubix kernel: 
> May 16 20:55:42 rubix kernel: /home/mythtv/prism54-usb/usb_init.c: pipe->urb[0] == d9307d38
> May 16 20:55:42 rubix kernel: 
> May 16 20:55:42 rubix kernel: /home/mythtv/prism54-usb/usb_init.c: pipe->buf[0] == ce74e000
> May 16 20:55:42 rubix kernel: 
> May 16 20:55:42 rubix kernel: /home/mythtv/prism54-usb/usb_init.c: pipe->addr = 1
> May 16 20:55:42 rubix kernel: 
> May 16 20:55:42 rubix kernel: /home/mythtv/prism54-usb/usb_init.c: pipe->size [1] = 4096
> May 16 20:55:42 rubix kernel: 
> May 16 20:55:42 rubix kernel: /home/mythtv/prism54-usb/usb_init.c: pipe->urb[1] == d9307df8
> May 16 20:55:42 rubix kernel: 
> May 16 20:55:42 rubix kernel: /home/mythtv/prism54-usb/usb_init.c: pipe->buf[1] == ce74b000
> May 16 20:55:42 rubix kernel: 
> May 16 20:55:42 rubix kernel: /home/mythtv/prism54-usb/usb_init.c: pipe->addr = 1
> May 16 20:55:42 rubix kernel: 
> May 16 20:55:42 rubix kernel: /home/mythtv/prism54-usb/usb_init.c: eth1: Allocate pipe done.
> May 16 20:55:42 rubix kernel: 
> May 16 20:55:42 rubix kernel: /home/mythtv/prism54-usb/usb_init.c: eth1: Allocate pipe 81.
> May 16 20:55:42 rubix kernel: 
> May 16 20:55:42 rubix kernel: /home/mythtv/prism54-usb/usb_init.c: pipe->size == cf50f37c
> May 16 20:55:42 rubix kernel: 
> May 16 20:55:42 rubix kernel: /home/mythtv/prism54-usb/usb_init.c: pipe->urb == cf50f85c
> May 16 20:55:42 rubix kernel: 
> May 16 20:55:42 rubix kernel: /home/mythtv/prism54-usb/usb_init.c: pipe->buf == cf50f5dc
> May 16 20:55:42 rubix kernel: 
> May 16 20:55:42 rubix kernel: /home/mythtv/prism54-usb/usb_init.c: eth1: Allocate buffers.
> May 16 20:55:42 rubix kernel: 
> May 16 20:55:42 rubix kernel: /home/mythtv/prism54-usb/usb_init.c: pipe->size [0] = 4096
> May 16 20:55:42 rubix kernel: 
> May 16 20:55:42 rubix kernel: /home/mythtv/prism54-usb/usb_init.c: pipe->urb[0] == d9307678
> May 16 20:55:42 rubix kernel: 
> May 16 20:55:42 rubix kernel: /home/mythtv/prism54-usb/usb_init.c: pipe->buf[0] == dd10d000
> May 16 20:55:42 rubix kernel: 
> May 16 20:55:42 rubix kernel: /home/mythtv/prism54-usb/usb_init.c: pipe->addr = 1
> May 16 20:55:42 rubix kernel: 
> May 16 20:55:42 rubix kernel: /home/mythtv/prism54-usb/usb_init.c: pipe->size [1] = 4096
> May 16 20:55:42 rubix kernel: 
> May 16 20:55:42 rubix kernel: /home/mythtv/prism54-usb/usb_init.c: pipe->urb[1] == d93072b8
> May 16 20:55:42 rubix kernel: 
> May 16 20:55:42 rubix kernel: /home/mythtv/prism54-usb/usb_init.c: pipe->buf[1] == ce74a000
> May 16 20:55:42 rubix kernel: 
> May 16 20:55:42 rubix kernel: /home/mythtv/prism54-usb/usb_init.c: pipe->addr = 1
> May 16 20:55:42 rubix kernel: 
> May 16 20:55:42 rubix kernel: /home/mythtv/prism54-usb/usb_init.c: eth1: Allocate pipe done.
> May 16 20:55:42 rubix kernel: 
> May 16 20:55:42 rubix kernel: /home/mythtv/prism54-usb/usb_init.c: eth1: Allocate pipe 02.
> May 16 20:55:42 rubix kernel: 
> May 16 20:55:42 rubix kernel: /home/mythtv/prism54-usb/usb_init.c: pipe->size == d66e5cdc
> May 16 20:55:42 rubix kernel: 
> May 16 20:55:42 rubix kernel: /home/mythtv/prism54-usb/usb_init.c: pipe->urb == cf50f4bc
> May 16 20:55:42 rubix kernel: 
> May 16 20:55:42 rubix kernel: /home/mythtv/prism54-usb/usb_init.c: pipe->buf == cf50f61c
> May 16 20:55:42 rubix kernel: 
> May 16 20:55:42 rubix kernel: /home/mythtv/prism54-usb/usb_init.c: eth1: Allocate buffers.
> May 16 20:55:42 rubix kernel: 
> May 16 20:55:42 rubix kernel: /home/mythtv/prism54-usb/usb_init.c: pipe->size [0] = 4096
> May 16 20:55:42 rubix kernel: 
> May 16 20:55:42 rubix kernel: /home/mythtv/prism54-usb/usb_init.c: pipe->urb[0] == d9307258
> May 16 20:55:42 rubix kernel: 
> May 16 20:55:42 rubix kernel: /home/mythtv/prism54-usb/usb_init.c: pipe->buf[0] == c5465000
> May 16 20:55:42 rubix kernel: 
> May 16 20:55:42 rubix kernel: /home/mythtv/prism54-usb/usb_init.c: pipe->addr = 2
> May 16 20:55:42 rubix kernel: 
> May 16 20:55:42 rubix kernel: /home/mythtv/prism54-usb/usb_init.c: pipe->size [1] = 4096
> May 16 20:55:42 rubix kernel: 
> May 16 20:55:42 rubix kernel: /home/mythtv/prism54-usb/usb_init.c: pipe->urb[1] == d93071f8
> May 16 20:55:42 rubix kernel: 
> May 16 20:55:42 rubix kernel: /home/mythtv/prism54-usb/usb_init.c: pipe->buf[1] == c4a4d000
> May 16 20:55:42 rubix kernel: 
> May 16 20:55:42 rubix kernel: /home/mythtv/prism54-usb/usb_init.c: pipe->addr = 2
> May 16 20:55:42 rubix kernel: 
> May 16 20:55:42 rubix kernel: /home/mythtv/prism54-usb/usb_init.c: eth1: Allocate pipe done.
> May 16 20:55:42 rubix kernel: 
> May 16 20:55:42 rubix kernel: /home/mythtv/prism54-usb/usb_init.c: eth1: Allocate pipe 82.
> May 16 20:55:42 rubix kernel: 
> May 16 20:55:42 rubix kernel: /home/mythtv/prism54-usb/usb_init.c: pipe->size == d66e5e1c
> May 16 20:55:42 rubix kernel: 
> May 16 20:55:42 rubix kernel: /home/mythtv/prism54-usb/usb_init.c: pipe->urb == cf50f29c
> May 16 20:55:42 rubix kernel: 
> May 16 20:55:42 rubix kernel: /home/mythtv/prism54-usb/usb_init.c: pipe->buf == cf50f27c
> May 16 20:55:42 rubix kernel: 
> May 16 20:55:42 rubix kernel: /home/mythtv/prism54-usb/usb_init.c: eth1: Allocate buffers.
> May 16 20:55:42 rubix kernel: 
> May 16 20:55:42 rubix kernel: /home/mythtv/prism54-usb/usb_init.c: pipe->size [0] = 4096
> May 16 20:55:42 rubix kernel: 
> May 16 20:55:42 rubix kernel: /home/mythtv/prism54-usb/usb_init.c: pipe->urb[0] == d9307198
> May 16 20:55:42 rubix kernel: 
> May 16 20:55:42 rubix kernel: /home/mythtv/prism54-usb/usb_init.c: pipe->buf[0] == ca3f6000
> May 16 20:55:42 rubix kernel: 
> May 16 20:55:42 rubix kernel: /home/mythtv/prism54-usb/usb_init.c: pipe->addr = 2
> May 16 20:55:42 rubix kernel: 
> May 16 20:55:42 rubix kernel: /home/mythtv/prism54-usb/usb_init.c: pipe->size [1] = 4096
> May 16 20:55:42 rubix kernel: 
> May 16 20:55:42 rubix kernel: /home/mythtv/prism54-usb/usb_init.c: pipe->urb[1] == d9307138
> May 16 20:55:42 rubix kernel: 
> May 16 20:55:42 rubix kernel: /home/mythtv/prism54-usb/usb_init.c: pipe->buf[1] == ca3f9000
> May 16 20:55:42 rubix kernel: 
> May 16 20:55:42 rubix kernel: /home/mythtv/prism54-usb/usb_init.c: pipe->addr = 2
> May 16 20:55:42 rubix kernel: 
> May 16 20:55:42 rubix kernel: /home/mythtv/prism54-usb/usb_init.c: eth1: Allocate pipe done.
> May 16 20:55:42 rubix kernel: 
> May 16 20:55:42 rubix kernel: /home/mythtv/prism54-usb/usb_init.c: eth1: Allocate pipe 8f.
> May 16 20:55:42 rubix kernel: 
> May 16 20:55:42 rubix kernel: /home/mythtv/prism54-usb/usb_init.c: pipe->size == cf50f25c
> May 16 20:55:42 rubix kernel: 
> May 16 20:55:42 rubix kernel: /home/mythtv/prism54-usb/usb_init.c: pipe->urb == cf50f23c
> May 16 20:55:42 rubix kernel: 
> May 16 20:55:42 rubix kernel: /home/mythtv/prism54-usb/usb_init.c: pipe->buf == cf50f21c
> May 16 20:55:42 rubix kernel: 
> May 16 20:55:42 rubix kernel: /home/mythtv/prism54-usb/usb_init.c: eth1: Allocate buffers.
> May 16 20:55:42 rubix kernel: 
> May 16 20:55:42 rubix kernel: /home/mythtv/prism54-usb/usb_init.c: pipe->size [0] = 4
> May 16 20:55:42 rubix kernel: 
> May 16 20:55:42 rubix kernel: /home/mythtv/prism54-usb/usb_init.c: pipe->urb[0] == d93070d8
> May 16 20:55:42 rubix kernel: 
> May 16 20:55:42 rubix kernel: /home/mythtv/prism54-usb/usb_init.c: pipe->buf[0] == dd219020
> May 16 20:55:42 rubix kernel: 
> May 16 20:55:42 rubix kernel: /home/mythtv/prism54-usb/usb_init.c: pipe->addr = 15
> May 16 20:55:42 rubix kernel: 
> May 16 20:55:42 rubix kernel: /home/mythtv/prism54-usb/usb_init.c: pipe->size [1] = 4
> May 16 20:55:42 rubix kernel: 
> May 16 20:55:42 rubix kernel: /home/mythtv/prism54-usb/usb_init.c: pipe->urb[1] == d0826f58
> May 16 20:55:42 rubix kernel: 
> May 16 20:55:42 rubix kernel: /home/mythtv/prism54-usb/usb_init.c: pipe->buf[1] == dd219040
> May 16 20:55:42 rubix kernel: 
> May 16 20:55:42 rubix kernel: /home/mythtv/prism54-usb/usb_init.c: pipe->addr = 15
> May 16 20:55:42 rubix kernel: 
> May 16 20:55:42 rubix kernel: /home/mythtv/prism54-usb/usb_init.c: eth1: Allocate pipe done.
> May 16 20:55:42 rubix kernel: 
> May 16 20:55:42 rubix kernel: /home/mythtv/prism54-usb/usb_init.c: eth1: Setup USB structures successful.
> May 16 20:55:42 rubix kernel: 
> May 16 20:55:42 rubix kernel: /home/mythtv/prism54-usb/usb_init.c: eth1: Reset device.
> May 16 20:55:42 rubix kernel: 
> May 16 20:55:43 rubix kernel: /home/mythtv/prism54-usb/usb_init.c: eth1: Reset device done.
> May 16 20:55:43 rubix kernel: 
> May 16 20:55:43 rubix kernel: /home/mythtv/prism54-usb/usb_init.c: eth1: Load firmware.
> May 16 20:55:43 rubix kernel: 
> May 16 20:55:43 rubix kernel: uhci_hcd 0000:00:10.1: host system error, PCI problems?
> May 16 20:55:43 rubix kernel: uhci_hcd 0000:00:10.1: host controller halted, very bad!
> May 16 20:55:44 rubix kernel: usb 2-2: bulk timeout on ep1out
> 
> 
> the 'ifup eth1' hangs here until I Ctrl-C it. I can then plug out the device:
> 
> 
> May 16 20:57:35 rubix kernel: usb 2-2: USB disconnect, address 4
> May 16 20:57:35 rubix kernel: /home/mythtv/prism54-usb/usb_init.c: Prism54 USB device eth1 disconnecing
> May 16 20:57:35 rubix kernel: 
> 
> 
> 
> 
> Anyway, the problem seems to involve loading the firmware, which causes
> the fatal uhci error. Any ideas?
> 
> Thanks,
> 
> Rob
-- 
+-----------------------------+
  Rob Hill                   
  Systems Manager
  Dot Communications
  Tel: (02) 9281 1111 Ext.101
+-----------------------------+