Hi. Any USB gurus out there?
I'm running kamikaze 5435 on a Netgear WGT634U, hooking up a USB2.0 sound dongle (C-media).
It seems to work when connected through an external 4-port USB2 hub, IOGear model GUH276. At least I get sound when I cat a file to /dev/sound/dsp . However lsusb reports nothing and /proc/bus/usb is empty. That seems odd.
ehci_hcd is loaded but not ohci or uhci.
If I unplug the hub and insert the sound dongle directly into the WGT634U, it does not get detected and the USB bus seems to be hung forever. Here is dmesg from the direct insertion event:
<7>ehci_hcd 0000:01:02.2: GetStatus port 1 status 001803 POWER sig=j CSC CONNECT
<7>hub 1-0:1.0: port 1, status 0501, change 0001, 480 Mb/s
<7>hub 1-0:1.0: debounce: port 1: total 100ms stable 100ms status 0x501
<7>ehci_hcd 0000:01:02.2: port 1 full speed --> companion
<7>ehci_hcd 0000:01:02.2: GetStatus port 1 status 003801 POWER OWNER sig=j CONNECT
Judging from the full dmesg transcript (boot, install external hub, install dongle, remove hub, insert dongle) below, it looks as if the C-media dongle installs as 12Mb/s on the hub and 480Mb/s direct. Anyone know how stable USB2.0 480Mb/s is on this platform?
Thanks,
Chuck
<5>Linux version 2.6.17 (chuck@Debbie) (gcc version 3.4.6 (OpenWrt-2.0)) #2 Sat Nov 11 11:23:56 PST 2006
<4>CPU revision is: 00029007
<4>early_nvram_init: WGT634U NVRAM found.
<4>Determined physical RAM map:
<4> memory: 02000000 @ 00000000 (usable)
<7>On node 0 totalpages: 8192
<7> DMA zone: 8192 pages, LIFO batch:1
<4>Built 1 zonelists
<5>Kernel command line: root=/dev/mtdblock2 rootfstype=squashfs,jffs2 init=/etc/preinit noinitrd console=ttyS0,115200
<4>Primary instruction cache 8kB, physically tagged, 2-way, linesize 16 bytes.
<4>Primary data cache 4kB, 2-way, linesize 16 bytes.
<4>Synthesized TLB refill handler (19 instructions).
<4>Synthesized TLB load handler fastpath (31 instructions).
<4>Synthesized TLB store handler fastpath (31 instructions).
<4>Synthesized TLB modify handler fastpath (30 instructions).
<4>PID hash table entries: 256 (order: 8, 1024 bytes)
<4>Using 100.000 MHz high precision timer.
<4>Dentry cache hash table entries: 4096 (order: 2, 16384 bytes)
<4>Inode-cache hash table entries: 2048 (order: 1, 8192 bytes)
<6>Memory: 29976k/32768k available (1926k kernel code, 2776k reserved, 262k data, 128k init, 0k highmem)
<7>Calibrating delay loop... 196.09 BogoMIPS (lpj=98048)
<4>Mount-cache hash table entries: 512
<4>Checking for 'wait' instruction... unavailable.
<6>NET: Registered protocol family 16
<4>PCI: fixing up bridge
<7>PCI: Setting latency timer of device 0000:01:00.0 to 64
<4>PCI: Fixing up device 0000:01:00.0
<6>NET: Registered protocol family 2
<4>IP route cache hash table entries: 256 (order: -2, 1024 bytes)
<4>TCP established hash table entries: 1024 (order: 0, 4096 bytes)
<4>TCP bind hash table entries: 512 (order: -1, 2048 bytes)
<6>TCP: Hash tables configured (established 1024 bind 512)
<6>TCP reno registered
<6>squashfs: version 3.0 (2006/03/15) Phillip Lougher
<6>devfs: 2004-01-31 Richard Gooch (rgooch@atnf.csiro.au)
<6>devfs: boot_options: 0x1
<6>JFFS2 version 2.2. (NAND) (C) 2001-2003 Red Hat, Inc.
<6>Initializing Cryptographic API
<6>io scheduler noop registered
<6>io scheduler deadline registered (default)
<6>Serial: 8250/16550 driver $Revision: 1.90 $ 2 ports, IRQ sharing enabled
<6>serial8250: ttyS0 at MMIO 0x0 (irq = 3) is a 16550A
<6>serial8250: ttyS1 at MMIO 0x0 (irq = 3) is a 16550A
<6>b44.c:v1.00 (Apr 7, 2006)
<4>PCI: Enabling device 0000:00:01.0 (0000 -> 0002)
<7>PCI: Setting latency timer of device 0000:00:01.0 to 64
<6>eth0: Broadcom 47xx 10/100BaseT Ethernet 00:0f:b5:0b:2e:7a
<6>Physically mapped flash: Found 1 x16 devices at 0x0 in 16-bit bank
<7>Physically mapped flash: Found an alias at 0x800000 for the chip at 0x0
<7>Physically mapped flash: Found an alias at 0x1000000 for the chip at 0x0
<7>Physically mapped flash: Found an alias at 0x1800000 for the chip at 0x0
<4> Intel/Sharp Extended Query Table at 0x0031
<6>Using buffer write method
<5>cfi_cmdset_0001: Erase suspend on write enabled
<7>erase region 0: offset=0x0,size=0x20000,blocks=64
<5>Flash device: 0x800000 at 0x1fc00000
<5>bootloader size: 655360
<6>Physically mapped flash: Filesystem type: squashfs, size=0x1af138
<5>Creating 5 MTD partitions on "Physically mapped flash":
<5>0x00000000-0x000a0000 : "cfe"
<5>0x000a0000-0x007e0000 : "linux"
<5>0x0014a800-0x00300000 : "rootfs"
<4>mtd: partition "rootfs" doesn't start on an erase block boundary -- force read-only
<5>0x007e0000-0x00800000 : "nvram"
<5>0x00300000-0x007e0000 : "OpenWrt"
<4>ip_conntrack version 2.4 (256 buckets, 2048 max) - 236 bytes per conntrack
<4>ip_tables: (C) 2000-2006 Netfilter Core Team
<6>TCP vegas registered
<6>NET: Registered protocol family 1
<6>NET: Registered protocol family 17
<6>802.1Q VLAN Support v1.8 Ben Greear <greearb@candelatech.com>
<6>All bugs added by David S. Miller <davem@redhat.com>
<4>VFS: Mounted root (squashfs filesystem) readonly.
<6>Mounted devfs on /dev
<6>Freeing unused kernel memory: 128k freed
<4>Algorithmics/MIPS FPU Emulator v1.5
<6>b44: eth0: Link is up at 100 Mbps, full duplex.
<6>b44: eth0: Flow control is off for TX and off for RX.
<6>eth0.0: dev_set_promiscuity(master, 1)
<6>device eth0 entered promiscuous mode
<6>device eth0.0 entered promiscuous mode
<6>br-lan: port 1(eth0.0) entering learning state
<6>br-lan: topology change detected, propagating
<6>br-lan: port 1(eth0.0) entering forwarding state
<4>Probing device eth0: found!
<4>BFL_ENETADM not set in boardflags. Use force=1 to ignore.
<6>usbcore: registered new driver usbfs
<6>usbcore: registered new driver hub
<6>CSLIP: code copyright 1989 Regents of the University of California
<6>PPP generic driver version 2.4.2
<6>wlan: 0.8.4.2 (0.9.2)
<4>ath_hal: module license 'Proprietary' taints kernel.
<6>ath_hal: 0.9.17.2 (AR5210, AR5211, AR5212, RF5111, RF5112, RF2413, RF5413, REGOPS_FUNC)
<6>ath_rate_sample: 1.2 (0.9.2)
<6>wlan: mac acl policy registered
<6>ath_pci: 0.9.4.5 (0.9.2)
<7>ehci_hcd: block sizes: qh 128 qtd 96 itd 192 sitd 96
<4>PCI: Enabling device 0000:01:02.2 (0000 -> 0002)
<4>PCI: Fixing up device 0000:01:02.2
<6>ehci_hcd 0000:01:02.2: EHCI Host Controller
<7>drivers/usb/core/inode.c: creating file 'devices'
<7>drivers/usb/core/inode.c: creating file '001'
<6>ehci_hcd 0000:01:02.2: new USB bus registered, assigned bus number 1
<7>ehci_hcd 0000:01:02.2: reset hcs_params 0x2192 dbg=0 cc=2 pcc=1 ports=2
<7>ehci_hcd 0000:01:02.2: reset portroute 1 0
<7>ehci_hcd 0000:01:02.2: reset hcc_params e806 thresh 0 uframes 256/512/1024 park
<7>ehci_hcd 0000:01:02.2: park 0
<7>ehci_hcd 0000:01:02.2: MWI active
<7>ehci_hcd 0000:01:02.2: ...powerdown ports...
<7>ehci_hcd 0000:01:02.2: supports USB remote wakeup
<6>ehci_hcd 0000:01:02.2: irq 2, io mem 0x40000000
<7>ehci_hcd 0000:01:02.2: reset command 080b02 park=3 ithresh=8 period=1024 Reset HALT
<7>ehci_hcd 0000:01:02.2: init command 010009 (park)=0 ithresh=1 period=256 RUN
<6>ehci_hcd 0000:01:02.2: USB 2.0 started, EHCI 1.00, driver 10 Dec 2004
<7>usb usb1: default language 0x0409
<7>usb usb1: new device strings: Mfr=3, Product=2, SerialNumber=1
<6>usb usb1: Product: EHCI Host Controller
<6>usb usb1: Manufacturer: Linux 2.6.17 ehci_hcd
<6>usb usb1: SerialNumber: 0000:01:02.2
<7>usb usb1: uevent
<6>usb usb1: configuration #1 chosen from 1 choice
<7>usb usb1: adding 1-0:1.0 (config #1, interface 0)
<7>usb 1-0:1.0: uevent
<7>hub 1-0:1.0: usb_probe_interface
<7>hub 1-0:1.0: usb_probe_interface - got id
<6>hub 1-0:1.0: USB hub found
<6>hub 1-0:1.0: 2 ports detected
<7>hub 1-0:1.0: standalone hub
<7>hub 1-0:1.0: individual port power switching
<7>hub 1-0:1.0: individual port over-current protection
<7>hub 1-0:1.0: Single TT
<7>hub 1-0:1.0: TT requires at most 8 FS bit times (666 ns)
<7>hub 1-0:1.0: power on to power good time: 20ms
<7>hub 1-0:1.0: local power source is good
<7>hub 1-0:1.0: enabling power on all ports
<7>hub 1-0:1.0: state 7 ports 2 chg 0000 evt 0000
<7>drivers/usb/core/inode.c: creating file '001'
<7>eth0.1: add 01:00:5e:00:00:01 mcast address to master interface
<5>SCSI subsystem initialized
<6>Initializing USB Mass Storage driver...
<6>usbcore: registered new driver usb-storage
<6>USB Mass Storage support registered.
<6>i2c /dev entries driver
<6>usbcore: registered new driver snd-usb-audio
<7>hub 1-0:1.0: state 7 ports 2 chg 0000 evt 0002
<7>ehci_hcd 0000:01:02.2: GetStatus port 1 status 001803 POWER sig=j CSC CONNECT
<7>hub 1-0:1.0: port 1, status 0501, change 0001, 480 Mb/s
<7>hub 1-0:1.0: debounce: port 1: total 100ms stable 100ms status 0x501
<7>ehci_hcd 0000:01:02.2: port 1 high speed
<7>ehci_hcd 0000:01:02.2: GetStatus port 1 status 001005 POWER sig=se0 PE CONNECT
<6>usb 1-1: new high speed USB device using ehci_hcd and address 2
<7>ehci_hcd 0000:01:02.2: port 1 high speed
<7>ehci_hcd 0000:01:02.2: GetStatus port 1 status 001005 POWER sig=se0 PE CONNECT
<7>usb 1-1: new device strings: Mfr=0, Product=0, SerialNumber=0
<7>usb 1-1: uevent
<6>usb 1-1: configuration #1 chosen from 1 choice
<7>usb 1-1: adding 1-1:1.0 (config #1, interface 0)
<7>usb 1-1:1.0: uevent
<7>hub 1-1:1.0: usb_probe_interface
<7>hub 1-1:1.0: usb_probe_interface - got id
<6>hub 1-1:1.0: USB hub found
<6>hub 1-1:1.0: 4 ports detected
<7>hub 1-1:1.0: standalone hub
<7>hub 1-1:1.0: ganged power switching
<7>hub 1-1:1.0: global over-current protection
<7>hub 1-1:1.0: Single TT
<7>hub 1-1:1.0: TT requires at most 16 FS bit times (1332 ns)
<7>hub 1-1:1.0: Port indicators are supported
<7>hub 1-1:1.0: power on to power good time: 0ms
<7>hub 1-1:1.0: local power source is good
<7>hub 1-1:1.0: no over-current condition exists
<7>hub 1-1:1.0: enabling power on all ports
<7>usb 1-1: link qh256-0001/a1d0d100 start 255 [1/0 us]
<7>drivers/usb/core/inode.c: creating file '002'
<7>hub 1-1:1.0: state 7 ports 4 chg 0000 evt 0000
<7>hub 1-1:1.0: state 7 ports 4 chg 0000 evt 0010
<7>hub 1-1:1.0: port 4, status 0101, change 0001, 12 Mb/s
<7>hub 1-1:1.0: debounce: port 4: total 100ms stable 100ms status 0x101
<7>hub 1-1:1.0: port 4 not reset yet, waiting 10ms
<6>usb 1-1.4: new full speed USB device using ehci_hcd and address 3
<7>hub 1-1:1.0: port 4 not reset yet, waiting 10ms
<7>usb 1-1.4: skipped 10 descriptors after interface
<7>usb 1-1.4: skipped 2 descriptors after interface
<7>usb 1-1.4: skipped 1 descriptor after endpoint
<7>usb 1-1.4: skipped 2 descriptors after interface
<7>usb 1-1.4: skipped 1 descriptor after endpoint
<7>usb 1-1.4: skipped 1 descriptor after interface
<7>usb 1-1.4: default language 0x0409
<7>usb 1-1.4: new device strings: Mfr=0, Product=1, SerialNumber=0
<6>usb 1-1.4: Product: C-Media USB Headphone Set
<7>usb 1-1.4: uevent
<6>usb 1-1.4: configuration #1 chosen from 1 choice
<7>usb 1-1.4: adding 1-1.4:1.0 (config #1, interface 0)
<7>usb 1-1.4:1.0: uevent
<7>snd-usb-audio 1-1.4:1.0: usb_probe_interface
<7>snd-usb-audio 1-1.4:1.0: usb_probe_interface - got id
<7>usb 1-1.4: adding 1-1.4:1.1 (config #1, interface 1)
<7>usb 1-1.4:1.1: uevent
<7>usb 1-1.4: adding 1-1.4:1.2 (config #1, interface 2)
<7>usb 1-1.4:1.2: uevent
<7>usb 1-1.4: adding 1-1.4:1.3 (config #1, interface 3)
<7>usb 1-1.4:1.3: uevent
<7>drivers/usb/core/inode.c: creating file '003'
<7>hub 1-1:1.0: state 7 ports 4 chg 0000 evt 0010
<7>hub 1-0:1.0: state 7 ports 2 chg 0000 evt 0002
<7>ehci_hcd 0000:01:02.2: GetStatus port 1 status 001002 POWER sig=se0 CSC
<7>hub 1-0:1.0: port 1, status 0100, change 0001, 12 Mb/s
<6>usb 1-1: USB disconnect, address 2
<6>usb 1-1.4: USB disconnect, address 3
<7>usb 1-1.4: usb_disable_device nuking all URBs
<7>usb 1-1.4: unregistering interface 1-1.4:1.0
<7>usb 1-1.4:1.0: uevent
<7>usb 1-1.4: unregistering interface 1-1.4:1.1
<7>usb 1-1.4:1.1: uevent
<7>usb 1-1.4: unregistering interface 1-1.4:1.2
<7>usb 1-1.4:1.2: uevent
<7>ehci_hcd 0000:01:02.2: devpath 1 ep1in 3strikes
<7>hub 1-1:1.0: transfer --> -71
<7>usb 1-1: unlink qh256-0001/a1d0d100 start 255 [1/0 us]
<7>ehci_hcd 0000:01:02.2: reused qh a1d0d100 schedule
<7>usb 1-1: link qh256-0001/a1d0d100 start 255 [1/0 us]
<7>usb 1-1: unlink qh256-0001/a1d0d100 start 255 [1/0 us]
<7>usb 1-1.4: unregistering interface 1-1.4:1.3
<7>usb 1-1.4:1.3: uevent
<7>usb 1-1.4: unregistering device
<7>usb 1-1.4: uevent
<7>usb 1-1: usb_disable_device nuking all URBs
<7>usb 1-1: unregistering interface 1-1:1.0
<7>usb 1-1:1.0: uevent
<7>usb 1-1: unregistering device
<7>usb 1-1: uevent
<7>hub 1-0:1.0: debounce: port 1: total 100ms stable 100ms status 0x100
<7>hub 1-0:1.0: state 7 ports 2 chg 0000 evt 0002
<7>ehci_hcd 0000:01:02.2: GetStatus port 1 status 001803 POWER sig=j CSC CONNECT
<7>hub 1-0:1.0: port 1, status 0501, change 0001, 480 Mb/s
<7>hub 1-0:1.0: debounce: port 1: total 100ms stable 100ms status 0x501
<7>ehci_hcd 0000:01:02.2: port 1 full speed --> companion
<7>ehci_hcd 0000:01:02.2: GetStatus port 1 status 003801 POWER OWNER sig=j CONNECT