Dave -- > The general rule of thumb is that full (and low) speed > transfers haven't changed interpretation -- except that > as of 2.6, full speed iso periods may be multiple frames. > High speed is (as above) in microframes.
Full speed interrupt transfers work for me, but high speed do not. This is on 2.4.22 and 2.4.20-18.3 (a RedHat kernel). I am setting the URB interval and not resubmitting, just filling the transfer buffer with new data each time I get a callback. With high speed I get lots of messages like Sep 2 18:13:45 host kernel: ehci-sched.c: intr qh df9ff100 no TDs? Sep 2 18:14:16 host last message repeated 31530 times I have not had time to investigate. Below are logs for the host and gadget side showing first the drivers working at full speed behind a 1.1 hub, then failing at high speed when connected directly. This is 2.4.22 with CONFIG_USB_DEBUG and a few extra debugging messages I added in tracking down the interval conversion. The messages from uth and utg are from my drivers. If you see anything obvious here, I would appreciate hearing about it. Otherwise, I will debug further soon. Thanks, -- Al ======== HOST SIDE LOG ========== Sep 2 18:11:33 host kernel: usb.c: registered new driver uth Sep 2 18:11:33 host kernel: uth_init_module: USB Transport Host Driver v0.4 loaded Sep 2 18:11:49 host kernel: hub.c: port 1, portstatus 100, change 0, 12 Mb/s Sep 2 18:11:49 host kernel: hub.c: port 2, portstatus 101, change 1, 12 Mb/s Sep 2 18:11:49 host kernel: hub.c: port 2 connection change Sep 2 18:11:49 host kernel: hub.c: port 2, portstatus 101, change 1, 12 Mb/s Sep 2 18:11:50 host kernel: hub.c: port 2, portstatus 101, change 0, 12 Mb/s Sep 2 18:11:50 host last message repeated 3 times Sep 2 18:11:50 host kernel: hub.c: port 2, portstatus 103, change 10, 12 Mb/s Sep 2 18:11:50 host kernel: hub.c: new USB device 00:1d.2-2.2, assigned address 4 Sep 2 18:11:50 host kernel: usb.c: kmalloc IF dc32d3c0, numif 1 Sep 2 18:11:50 host kernel: usb.c: kmalloc IF dc32d700, numif 1 Sep 2 18:11:50 host kernel: usb.c: new device strings: Mfr=1, Product=2, SerialNumber=3 Sep 2 18:11:50 host kernel: usb.c: USB device number 4 default language ID 0x409 Sep 2 18:11:50 host kernel: Manufacturer: Guidant Sep 2 18:11:50 host kernel: Product: TTM utg net2280 Sep 2 18:11:50 host kernel: SerialNumber: 0000 Sep 2 18:11:50 host kernel: uth_probe: int in: udev=df607800, dev=df5e8c80, size=64, interval=1 Sep 2 18:11:50 host kernel: uth_probe: int out: udev=df607800, dev=df5e8c80, size=64, interval=1 Sep 2 18:11:50 host kernel: uth_probe: submited initial read urb, ret=0 Sep 2 18:11:50 host kernel: uth_probe: submited initial write urb, ret=0 Sep 2 18:11:50 host kernel: uth_probe: USB Transport device 0 connected Sep 2 18:11:50 host kernel: usb.c: uth driver claimed interface dc32d700 Sep 2 18:11:50 host kernel: usb.c: kusbd: /sbin/hotplug add 4 Sep 2 18:11:50 host kernel: hub.c: port 3, portstatus 100, change 0, 12 Mb/s Sep 2 18:11:50 host kernel: hub.c: port 4, portstatus 100, change 0, 12 Mb/s Sep 2 18:11:50 host /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/004/004 PRODUCT=128f/2/4 TYPE=255/0/0 DEBUG=kernel _=/bin/env) Sep 2 18:11:50 host /sbin/hotplug: invoke /etc/hotplug/usb.agent () Sep 2 18:11:53 host /etc/hotplug/usb.agent: ... no modules for USB product 128f/2/4 Sep 2 18:11:58 host kernel: uth_open: dev=0, pipe=0 Sep 2 18:11:58 host kernel: uth_read: dev=0, pipe=0, reading 4096 bytes Sep 2 18:12:10 host kernel: uth_packet_in: dev=0, total size=16, local_state=0, remote_state=0, pipe=0, size=6, sequence=0, acknowledge=0, window=0, data=68, 65, 6c ... Sep 2 18:12:10 host kernel: uth_read: dev=0, pipe=0, buf=dc9a4000, in=dc9a4006, out=dc9a4000, avail=6, count=4096, data=68 65 6c Sep 2 18:12:10 host kernel: uth_read: dev=0, pipe=0, read 6 bytes Sep 2 18:12:10 host kernel: uth_read: dev=0, pipe=0, reading 4096 bytes Sep 2 18:12:13 host kernel: uth_release: dev=0, pipe=0 Sep 2 18:12:33 host kernel: uth_open: dev=0, pipe=0 Sep 2 18:12:33 host kernel: uth_write: dev=0, pipe=0, writing 5 bytes Sep 2 18:12:33 host kernel: uth_write: dev=0, pipe=0, buf=db10c000, in=db10c000, out=db10c000, space=8191, count=5 Sep 2 18:12:33 host kernel: uth_write: dev=0, pipe=0, wrote 5 bytes Sep 2 18:12:33 host kernel: uth_release: dev=0, pipe=0 Sep 2 18:12:33 host kernel: uth_packet_out: dev=0, total len=15, local_state=0, remote_state=0, pipe=0, size=5, sequence=0, acknowledge=0, window=8185, data=68, 69, 79 ... Sep 2 18:12:40 host kernel: usb-uhci.c: interrupt, status 3, frame# 388 Sep 2 18:12:40 host kernel: hub.c: port 1, portstatus 100, change 0, 12 Mb/s Sep 2 18:12:40 host kernel: hub.c: port 2, portstatus 100, change 1, 12 Mb/s Sep 2 18:12:40 host kernel: hub.c: port 2 connection change Sep 2 18:12:40 host kernel: hub.c: port 2, portstatus 100, change 1, 12 Mb/s Sep 2 18:12:40 host kernel: usb.c: USB disconnect on device 00:1d.2-2.2 address 4 Sep 2 18:12:40 host kernel: uth_disconnect: unlinking read and write urbs, dev_num=0, dev=df5e8c80, udev=df607800 Sep 2 18:12:40 host kernel: uth_read_callback: unlinked, status=-2 Sep 2 18:12:40 host kernel: uth_write_callback: unlinked, status=-2 Sep 2 18:12:40 host kernel: uth_disconnect: USB Transport device 0 disconnected Sep 2 18:12:40 host kernel: usb.c: kusbd: /sbin/hotplug remove 4 Sep 2 18:12:40 host kernel: hub.c: port 3, portstatus 100, change 0, 12 Mb/s Sep 2 18:12:40 host kernel: hub.c: port 4, portstatus 100, change 0, 12 Mb/s Sep 2 18:12:40 host /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/004/004 PRODUCT=128f/2/4 TYPE=255/0/0 DEBUG=kernel _=/bin/env) Sep 2 18:12:40 host /sbin/hotplug: invoke /etc/hotplug/usb.agent () Sep 2 18:12:53 host kernel: hub.c: port 1, portstatus 100, change 0, 12 Mb/s Sep 2 18:12:53 host kernel: hub.c: port 2, portstatus 100, change 0, 12 Mb/s Sep 2 18:12:53 host kernel: hub.c: port 3, portstatus 100, change 0, 12 Mb/s Sep 2 18:12:53 host kernel: hub.c: port 4, portstatus 100, change 0, 12 Mb/s Sep 2 18:12:53 host kernel: ehci_hcd 00:1d.7: GetStatus port 5 status 001803 POWER sig=j CSC CONNECT Sep 2 18:12:53 host kernel: hub.c: port 5, portstatus 501, change 1, 480 Mb/s Sep 2 18:12:53 host kernel: hub.c: port 5 connection change Sep 2 18:12:53 host kernel: hub.c: port 5, portstatus 501, change 1, 480 Mb/s Sep 2 18:12:53 host kernel: hub.c: port 5, portstatus 501, change 0, 480 Mb/s Sep 2 18:12:54 host last message repeated 3 times Sep 2 18:12:54 host kernel: hub.c: port 5, portstatus 511, change 0, 480 Mb/s Sep 2 18:12:54 host kernel: hub.c: port 5 of hub 1 not reset yet, waiting 10ms Sep 2 18:12:54 host kernel: hub.c: port 5, portstatus 511, change 0, 480 Mb/s Sep 2 18:12:54 host kernel: hub.c: port 5 of hub 1 not reset yet, waiting 10ms Sep 2 18:12:54 host kernel: ehci_hcd 00:1d.7: port 5 high speed Sep 2 18:12:54 host kernel: ehci_hcd 00:1d.7: GetStatus port 5 status 001005 POWER sig=se0 PE CONNECT Sep 2 18:12:54 host kernel: hub.c: port 5, portstatus 503, change 10, 480 Mb/s Sep 2 18:12:54 host kernel: hub.c: new USB device 00:1d.7-5, assigned address 2 Sep 2 18:12:54 host kernel: usb.c: kmalloc IF dc32d620, numif 1 Sep 2 18:12:54 host kernel: usb.c: kmalloc IF dc32d6e0, numif 1 Sep 2 18:12:54 host kernel: usb.c: new device strings: Mfr=1, Product=2, SerialNumber=3 Sep 2 18:12:54 host kernel: usb.c: USB device number 2 default language ID 0x409 Sep 2 18:12:54 host kernel: Manufacturer: Guidant Sep 2 18:12:54 host kernel: Product: TTM utg net2280 Sep 2 18:12:54 host kernel: SerialNumber: 0000 Sep 2 18:12:54 host kernel: uth_probe: int in: udev=df607800, dev=df5e8680, size=64, interval=8 Sep 2 18:12:54 host kernel: uth_probe: int out: udev=df607800, dev=df5e8680, size=64, interval=8 Sep 2 18:12:54 host kernel: ehci_urb_enqueue: submitting an interrupt transfer Sep 2 18:12:54 host kernel: qh_make: type == PIPE_INTERRUPT Sep 2 18:12:54 host kernel: qh_make: speed == USB_SPEED_HIGH Sep 2 18:12:54 host kernel: qh_make: period=1, interval=8 Sep 2 18:12:54 host kernel: ehci-sched.c: scheduled qh df9ff100 usecs 17/0 period 1.0 starting 0.0 (gap 0) Sep 2 18:12:54 host kernel: ehci-sched.c: intr qh df9ff100 no TDs? Sep 2 18:12:54 host kernel: ehci-sched.c: intr qh df9ff100 no TDs? Sep 2 18:12:54 host kernel: uth_probe: submited initial read urb, ret=0 Sep 2 18:12:54 host kernel: ehci_urb_enqueue: submitting an interrupt transfer Sep 2 18:12:54 host kernel: qh_make: type == PIPE_INTERRUPT Sep 2 18:12:54 host kernel: qh_make: speed == USB_SPEED_HIGH Sep 2 18:12:54 host kernel: qh_make: period=1, interval=8 Sep 2 18:12:54 host kernel: ehci-sched.c: scheduled qh df9ff180 usecs 17/0 period 1.0 starting -2.0 (gap 0) Sep 2 18:12:54 host kernel: uth_probe: submited initial write urb, ret=0 Sep 2 18:12:54 host kernel: uth_probe: USB Transport device 0 connected Sep 2 18:12:54 host kernel: usb.c: uth driver claimed interface dc32d6e0 Sep 2 18:12:54 host kernel: usb.c: kusbd: /sbin/hotplug add 2 Sep 2 18:12:54 host kernel: ehci_hcd 00:1d.7: GetStatus port 6 status 003002 POWER OWNER sig=se0 CSC Sep 2 18:12:54 host kernel: hub.c: port 6, portstatus 0, change 1, 12 Mb/s Sep 2 18:12:54 host kernel: hub.c: port 6 connection change Sep 2 18:12:54 host kernel: hub.c: port 6, portstatus 0, change 1, 12 Mb/s Sep 2 18:12:54 host /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/002 PRODUCT=128f/2/4 TYPE=255/0/0 DEBUG=kernel _=/bin/env) Sep 2 18:12:54 host /sbin/hotplug: invoke /etc/hotplug/usb.agent () Sep 2 18:12:54 host kernel: ehci-sched.c: intr qh df9ff100 no TDs? Sep 2 18:12:57 host last message repeated 3172 times Sep 2 18:12:57 host /etc/hotplug/usb.agent: ... no modules for USB product 128f/2/4 Sep 2 18:12:57 host kernel: ehci-sched.c: intr qh df9ff100 no TDs? Sep 2 18:13:13 host last message repeated 17054 times Sep 2 18:13:13 host kernel: uth_open: dev=0, pipe=0 Sep 2 18:13:13 host kernel: uth_read: dev=0, pipe=0, reading 4096 bytes Sep 2 18:13:14 host kernel: ehci-sched.c: intr qh df9ff100 no TDs? Sep 2 18:13:27 host last message repeated 13571 times Sep 2 18:13:27 host kernel: uth_release: dev=0, pipe=0 Sep 2 18:13:27 host kernel: ehci-sched.c: intr qh df9ff100 no TDs? Sep 2 18:13:35 host last message repeated 8675 times Sep 2 18:13:35 host kernel: uth_open: dev=0, pipe=0 Sep 2 18:13:35 host kernel: uth_write: dev=0, pipe=0, writing 5 bytes Sep 2 18:13:35 host kernel: uth_write: dev=0, pipe=0, buf=dc9a4000, in=dc9a4000, out=dc9a4000, space=8191, count=5 Sep 2 18:13:35 host kernel: uth_write: dev=0, pipe=0, wrote 5 bytes Sep 2 18:13:35 host kernel: uth_release: dev=0, pipe=0 Sep 2 18:13:35 host kernel: ehci-sched.c: intr qh df9ff100 no TDs? Sep 2 18:13:45 host last message repeated 9487 times Sep 2 18:13:45 host kernel: hub.c: port 1, portstatus 100, change 0, 12 Mb/s Sep 2 18:13:45 host kernel: hub.c: port 2, portstatus 100, change 0, 12 Mb/s Sep 2 18:13:45 host kernel: hub.c: port 3, portstatus 100, change 0, 12 Mb/s Sep 2 18:13:45 host kernel: hub.c: port 4, portstatus 100, change 0, 12 Mb/s Sep 2 18:13:45 host kernel: ehci_hcd 00:1d.7: GetStatus port 5 status 001002 POWER sig=se0 CSC Sep 2 18:13:45 host kernel: hub.c: port 5, portstatus 100, change 1, 12 Mb/s Sep 2 18:13:45 host kernel: hub.c: port 5 connection change Sep 2 18:13:45 host kernel: hub.c: port 5, portstatus 100, change 1, 12 Mb/s Sep 2 18:13:45 host kernel: usb.c: USB disconnect on device 00:1d.7-5 address 2 Sep 2 18:13:45 host kernel: uth_disconnect: unlinking read and write urbs, dev_num=0, dev=df5e8680, udev=df607800 Sep 2 18:13:45 host kernel: hcd.c: (no bus?): hcd_unlink_urb fail -22 Sep 2 18:13:45 host kernel: hcd.c: (no bus?): hcd_unlink_urb fail -22 Sep 2 18:13:45 host kernel: uth_disconnect: USB Transport device 0 disconnected Sep 2 18:13:45 host kernel: usb.c: kusbd: /sbin/hotplug remove 2 Sep 2 18:13:45 host kernel: ehci_hcd 00:1d.7: GetStatus port 6 status 003002 POWER OWNER sig=se0 CSC Sep 2 18:13:45 host kernel: hub.c: port 6, portstatus 0, change 1, 12 Mb/s Sep 2 18:13:45 host kernel: hub.c: port 6 connection change Sep 2 18:13:45 host kernel: hub.c: port 6, portstatus 0, change 1, 12 Mb/s Sep 2 18:13:45 host /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/002 PRODUCT=128f/2/4 TYPE=255/0/0 DEBUG=kernel _=/bin/env) Sep 2 18:13:45 host /sbin/hotplug: invoke /etc/hotplug/usb.agent () Sep 2 18:13:45 host kernel: ehci-sched.c: intr qh df9ff100 no TDs? Sep 2 18:14:16 host last message repeated 31530 times ============= DEVICE SIDE (GADGET) LOG ================ Sep 2 18:12:20 device kernel: net2280 00:0a.0: full speed Sep 2 18:12:20 device kernel: utg_set_config: dev=cf898ac0, config=2, old config=0 Sep 2 18:12:20 device kernel: utg_reset_config: dev=cf898ac0, config=0 Sep 2 18:12:20 device kernel: net2280 00:0a.0: fifo: ep-a 2K, ep-b 2K Sep 2 18:12:20 device kernel: net2280 00:0a.0: enabled ep-a (ep2out-bulk) dma max 0040 Sep 2 18:12:20 device kernel: net2280 00:0a.0: enabled ep-b (ep2in-bulk) dma max 0040 Sep 2 18:12:20 device kernel: utg_set_config: USB Transport device configured, config=2 Sep 2 18:12:20 device kernel: utg_set_config: dev=cf898ac0, config=3, old config=2 Sep 2 18:12:20 device kernel: utg_reset_config: dev=cf898ac0, config=2 Sep 2 18:12:20 device kernel: utg_read_complete: shutdown Sep 2 18:12:20 device last message repeated 31 times Sep 2 18:12:20 device kernel: net2280 00:0a.0: fifo: ep-a 2K, ep-b 2K Sep 2 18:12:20 device kernel: net2280 00:0a.0: enabled ep-a (ep2out-intr) dma max 0040 Sep 2 18:12:20 device kernel: net2280 00:0a.0: enabled ep-b (ep2in-intr) dma max 0040 Sep 2 18:12:20 device kernel: utg_set_config: USB Transport device configured, config=3 Sep 2 18:12:40 device kernel: utg_open: pipe=0 Sep 2 18:12:40 device kernel: utg_write: pipe=0, writing 6 bytes Sep 2 18:12:40 device kernel: utg_write: pipe=0, buf=c840a000, in=c840a000, out=c840a000, space=8191, count=6 Sep 2 18:12:40 device kernel: utg_write: pipe=0, wrote 6 bytes Sep 2 18:12:40 device kernel: utg_release: pipe=0 Sep 2 18:12:40 device kernel: utg_packet_out: total len=16, local_state=0, remote_state=0, pipe=0, size=6, sequence=0, acknowledge=0, window=0, data=68, 65, 6c ... Sep 2 18:12:51 device kernel: utg_open: pipe=0 Sep 2 18:12:51 device kernel: utg_read: pipe=0, reading 4096 bytes Sep 2 18:13:03 device kernel: utg_packet_in: total size=64, local_state=0, remote_state=0, pipe=0, size=5, sequence=0, acknowledge=0, window=8185, data=68, 69, 79 ... Sep 2 18:13:03 device kernel: utg_read: pipe=0, buf=c26ca000, in=c26ca005, out=c26ca000, avail=5, count=4096, data=68 69 79 Sep 2 18:13:03 device kernel: utg_read: pipe=0, read 5 bytes Sep 2 18:13:03 device kernel: utg_read: pipe=0, reading 4096 bytes Sep 2 18:13:07 device kernel: utg_release: pipe=0 Sep 2 18:13:11 device kernel: net2280 00:0a.0: disconnect utg Sep 2 18:13:11 device kernel: utg_read_complete: shutdown Sep 2 18:13:11 device last message repeated 31 times Sep 2 18:13:11 device kernel: utg_write_complete: shutdown Sep 2 18:13:11 device last message repeated 31 times Sep 2 18:13:11 device kernel: utg_disconnect: gadget=ccb00800 Sep 2 18:13:11 device kernel: utg_reset_config: dev=cf898ac0, config=3 Sep 2 18:13:11 device kernel: utg_disconnect: USB Transport device disconnected Sep 2 18:13:24 device kernel: net2280 00:0a.0: high speed Sep 2 18:13:24 device kernel: utg_set_config: dev=cf898ac0, config=2, old config=0 Sep 2 18:13:24 device kernel: utg_reset_config: dev=cf898ac0, config=0 Sep 2 18:13:24 device kernel: net2280 00:0a.0: fifo: ep-a 2K, ep-b 2K Sep 2 18:13:24 device kernel: net2280 00:0a.0: enabled ep-a (ep2out-bulk) dma max 0200 Sep 2 18:13:24 device kernel: net2280 00:0a.0: enabled ep-b (ep2in-bulk) dma max 0200 Sep 2 18:13:24 device kernel: utg_set_config: USB Transport device configured, config=2 Sep 2 18:13:24 device kernel: utg_set_config: dev=cf898ac0, config=3, old config=2 Sep 2 18:13:24 device kernel: utg_reset_config: dev=cf898ac0, config=2 Sep 2 18:13:24 device kernel: utg_read_complete: shutdown Sep 2 18:13:24 device last message repeated 31 times Sep 2 18:13:24 device kernel: net2280 00:0a.0: fifo: ep-a 2K, ep-b 2K Sep 2 18:13:24 device kernel: net2280 00:0a.0: enabled ep-a (ep2out-intr) dma max 0040 Sep 2 18:13:24 device kernel: net2280 00:0a.0: enabled ep-b (ep2in-intr) dma max 0040 Sep 2 18:13:24 device kernel: utg_set_config: USB Transport device configured, config=3 Sep 2 18:13:51 device kernel: utg_open: pipe=0 Sep 2 18:13:51 device kernel: utg_write: pipe=0, writing 6 bytes Sep 2 18:13:51 device kernel: utg_write: pipe=0, buf=c26ca000, in=c26ca000, out=c26ca000, space=8191, count=6 Sep 2 18:13:51 device kernel: utg_write: pipe=0, wrote 6 bytes Sep 2 18:13:51 device kernel: utg_release: pipe=0 Sep 2 18:14:02 device kernel: utg_open: pipe=0 Sep 2 18:14:02 device kernel: utg_read: pipe=0, reading 4096 bytes Sep 2 18:14:11 device kernel: utg_release: pipe=0 Sep 2 18:14:15 device kernel: net2280 00:0a.0: disconnect utg Sep 2 18:14:15 device kernel: utg_read_complete: shutdown Sep 2 18:14:15 device last message repeated 31 times Sep 2 18:14:15 device kernel: utg_write_complete: shutdown Sep 2 18:14:15 device last message repeated 31 times Sep 2 18:14:15 device kernel: utg_disconnect: gadget=ccb00800 Sep 2 18:14:15 device kernel: utg_reset_config: dev=cf898ac0, config=3 Sep 2 18:14:15 device kernel: utg_disconnect: USB Transport device disconnected ------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel