I've been trying to play with the USB support lately, and haven't got much success. I'm running a 4.0-current freshly CVSUPed, and less than 24 hours old. In summary, here's excepts from what I'm seeing when doing a verbose boot that appear to be relevent. During a boot, there is a few second pause before each timeout message below before the driver seems to abandon all hope and give up.
FreeBSD 4.0-CURRENT #12: Sun Feb 7 13:54:03 EST 1999 lo...@whizzo.transsys.com:/usr/src/sys/compile/PLAY [...] CPU: AMD-K6(tm) 3D processor (350.82-MHz 586-class CPU) Origin = "AuthenticAMD" Id = 0x580 Stepping=0 Features=0x8001bf<FPU,VME,DE,PSE,TSC,MSR,MCE,CX8,MMX> [...] uhci0: <VIA 83C572 USB Host Controller> rev 0x02 int d irq 5 on pci0.7.2 usb0: USB version 1.0, interrupting at 5 found-> vendor=0x1106, dev=0x3040, revid=0x10 class=06-80-00, hdrtype=0x00, mfdev=0 subordinatebus=0 secondarybus=0 [...] usbd_match usb0: <VIA 83C572 USB Host Controller> usbd_attach usbd_new_device bus=0xf0956000 depth=0 lowspeed=0 usbd_new_device: adding unit addr=1, rev=100, class=9, subclass=0, protocol=0, maxpacket=64, ls=0 usbd_new_device: new dev (addr 1), dev=0xf0967c80, parent=0xf0964240 uhub0 at usb0 uhub0: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1 usbd_set_config_index: (addr 1) attr=0x40, selfpowered=1, power=0, powerquirk=0 usbd_set_config_index: set config 1 usbd_set_config_index: setting new config 1 uhub0: 2 ports with 2 removable, self powered usbd_init_port: adding hub port=1 status=0x0108 change=0x0000 usbd_init_port: adding hub port=2 status=0x0309 change=0x0001 uhub_explore: status change hub=1 port=2 usbd_new_device bus=0xf0956000 depth=1 lowspeed=512 uhci_waitintr: timeout uhci_waitintr: timeout uhci_waitintr: timeout uhci_waitintr: timeout uhci_waitintr: timeout usbd_new_device: addr=2, getting first desc failed usbd_remove_device: 0xf0967980 uhub_explore: usb_new_device failed, error=17(TIMEOUT) uhub0: device problem, disabling port 2 usb0: Host System Error usb0: controller halted I have a single USB peripheral plugged in at the moment, which is a USB-capable joystick. This same machine in the same configuration when booted in Windows98 has a working USB joystick, so I'm pretty sure the hardware isn't completely broken, or that I've forgotten to plug something in. Out of the config file: # USB support controller uhci0 controller ohci0 controller usb0 device ums0 device ukbd0 device ulpt0 device uhub0 device ucom0 device umodem0 device hid0 device ugen0 options USB_DEBUG options USBVERBOSE Any pointers on where to start looking, or how to proceed? louie
Copyright (c) 1992-1999 FreeBSD Inc. Copyright (c) 1982, 1986, 1989, 1991, 1993 The Regents of the University of California. All rights reserved. FreeBSD 4.0-CURRENT #12: Sun Feb 7 13:54:03 EST 1999 lo...@whizzo.transsys.com:/usr/src/sys/compile/PLAY Calibrating clock(s) ... TSC clock: 350816426 Hz, i8254 clock: 1193253 Hz Timecounter "i8254" frequency 1193253 Hz Timecounter "TSC" frequency 350816426 Hz CPU: AMD-K6(tm) 3D processor (350.82-MHz 586-class CPU) Origin = "AuthenticAMD" Id = 0x580 Stepping=0 Features=0x8001bf<FPU,VME,DE,PSE,TSC,MSR,MCE,CX8,MMX> Data TLB: 128 entries, 2-way associative Instruction TLB: 64 entries, 1-way associative L1 data cache: 32 kbytes, 32 bytes/line, 2 lines/tag, 2-way associative L1 instruction cache: 32 kbytes, 32 bytes/line, 2 lines/tag, 2-way associative Write Allocate Enable Limit: 128M bytes Write Allocate 15-16M bytes: Enable Hardware Write Allocate Control: Disable real memory = 134217728 (131072K bytes) Physical memory chunk(s): 0x00001000 - 0x0009efff, 647168 bytes (158 pages) 0x002e8000 - 0x07ff5fff, 131129344 bytes (32014 pages) avail memory = 127688704 (124696K bytes) Found BIOS32 Service Directory header at 0xf00faf20 Entry = 0xfb3a0 (0xf00fb3a0) Rev = 0 Len = 1 PCI BIOS entry at 0xb3d0 DMI header at 0xf00f5d20 Version 2.0 Table at 0xf0800, 28 entries, 817 bytes Other BIOS signatures found: ACPI: 00000000 $PnP: 000fbfc0 Preloaded elf kernel "kernel" at 0xf02d7000. DEVFS: ready for devices pci_open(1): mode 1 addr port (0x0cf8) is 0x80003840 pci_open(1a): mode1res=0x80000000 (0x80000000) pci_cfgcheck: device 0 [class=060000] [hdr=00] is there (id=05971106) Probing for devices on PCI bus 0: found-> vendor=0x1106, dev=0x0597, revid=0x04 class=06-00-00, hdrtype=0x00, mfdev=0 subordinatebus=0 secondarybus=0 map[0]: type 3, range 32, base e0000000, size 26 chip0: <VIA 82C597 (Apollo VP3) system controller> rev 0x04 on pci0.0.0 found-> vendor=0x1106, dev=0x8598, revid=0x00 class=06-04-00, hdrtype=0x01, mfdev=0 subordinatebus=1 secondarybus=1 chip1: <VIA 82C598MVP (Apollo MVP3) PCI-PCI bridge> rev 0x00 on pci0.1.0 found-> vendor=0x1106, dev=0x0586, revid=0x41 class=06-01-00, hdrtype=0x00, mfdev=1 subordinatebus=0 secondarybus=0 chip2: <VIA 82C586 PCI-ISA bridge> rev 0x41 on pci0.7.0 found-> vendor=0x1106, dev=0x0571, revid=0x06 class=01-01-8a, hdrtype=0x00, mfdev=0 subordinatebus=0 secondarybus=0 map[0]: type 4, range 32, base 00006400, size 4 ide_pci0: <VIA 82C586x (Apollo) Bus-master IDE controller> rev 0x06 on pci0.7.1 via_571_status: Primary IDE prefetch/postwrite enabled/enabled via_571_status: busmaster status read retry enabled via_571_status: primary drive 0 data setup=4 active=3 recovery=1 via_571_status: primary ctrl active=16 recovery=1 via_571_status: secondary drive 1 udma method=0 enable=0 PIOmode=0 cycle=5 via_571_status: Primary IDE prefetch/postwrite enabled/enabled via_571_status: busmaster status read retry enabled via_571_status: primary drive 1 data setup=4 active=11 recovery=9 via_571_status: primary ctrl active=16 recovery=1 via_571_status: secondary drive 1 udma method=0 enable=0 PIOmode=0 cycle=5 ide_pci: busmaster 0 status: 64 from port: 00006402 ide_pci: ide0:0 has been configured for DMA by BIOS ide_pci: ide0:1 has been configured for DMA by BIOS via_571_status: Secondary IDE prefetch/postwrite enabled/disabled via_571_status: busmaster status read retry enabled via_571_status: secondary drive 0 data setup=4 active=3 recovery=1 via_571_status: secondary ctrl active=16 recovery=9 via_571_status: secondary drive 1 udma method=0 enable=0 PIOmode=0 cycle=5 via_571_status: Secondary IDE prefetch/postwrite enabled/disabled via_571_status: busmaster status read retry enabled via_571_status: secondary drive 1 data setup=4 active=11 recovery=9 via_571_status: secondary ctrl active=16 recovery=9 via_571_status: secondary drive 1 udma method=0 enable=0 PIOmode=0 cycle=5 ide_pci: busmaster 1 status: 64 from port: 0000640a ide_pci: ide1:0 has been configured for DMA by BIOS ide_pci: ide1:1 has been configured for DMA by BIOS found-> vendor=0x1106, dev=0x3038, revid=0x02 class=0c-03-00, hdrtype=0x00, mfdev=0 subordinatebus=0 secondarybus=0 intpin=d, irq=5 map[0]: type 4, range 32, base 00006800, size 5 uhci0: <VIA 83C572 USB Host Controller> rev 0x02 int d irq 5 on pci0.7.2 usb0: USB version 1.0, interrupting at 5 found-> vendor=0x1106, dev=0x3040, revid=0x10 class=06-80-00, hdrtype=0x00, mfdev=0 subordinatebus=0 secondarybus=0 chip3: <VIA 82C586B ACPI interface> rev 0x10 on pci0.7.3 found-> vendor=0x1011, dev=0x0009, revid=0x22 class=02-00-00, hdrtype=0x00, mfdev=0 subordinatebus=0 secondarybus=0 intpin=a, irq=10 map[0]: type 4, range 32, base 00006c00, size 7 map[1]: type 1, range 32, base e4000000, size 7 de0: <Digital 21140A Fast Ethernet> rev 0x22 int a irq 10 on pci0.8.0 de0: 21140A [10-100Mb/s] pass 2.2 de0: address 00:40:05:42:d0:8a bpf: de0 attached found-> vendor=0x1102, dev=0x0002, revid=0x04 class=04-01-00, hdrtype=0x00, mfdev=1 subordinatebus=0 secondarybus=0 intpin=a, irq=11 map[0]: type 4, range 32, base 00007000, size 5 found-> vendor=0x1102, dev=0x7002, revid=0x01 class=09-80-00, hdrtype=0x00, mfdev=1 subordinatebus=0 secondarybus=0 map[0]: type 4, range 32, base 00007400, size 3 Probing for devices on PCI bus 1: found-> vendor=0x105d, dev=0x5348, revid=0x01 class=03-00-00, hdrtype=0x00, mfdev=0 subordinatebus=0 secondarybus=0 intpin=a, irq=10 map[0]: type 3, range 32, base a8000000, size 25 map[1]: type 3, range 32, base aa000000, size 25 map[2]: type 1, range 32, base d8010000, size 12 map[3]: type 1, range 32, base d8000000, size 16 map[4]: type 4, range 32, base 0000e000, size 8 vga0: <Number Nine model 5348 graphics accelerator> rev 0x01 int a irq 10 on pci1.0.0 Probing for devices on the ISA bus: atkbd: the current kbd controller command byte 0047 atkbd: keyboard ID 0x41ab (2) kbdc: RESET_KBD return code:00fa kbdc: RESET_KBD status:00aa sc0 on isa sc0: fb0 kbd0 sc0: VGA color <16 virtual consoles, flags=0x0> atkbdc0 at 0x60-0x6f on motherboard atkbd0 irq 1 on isa kbd0: atkbd0, AT 101/102 (2), config:0x10000, flags:0x3d0000 psm0: current command byte:0047 kbdc: TEST_AUX_PORT status:0000 kbdc: RESET_AUX return code:00fa kbdc: RESET_AUX status:00aa kbdc: RESET_AUX ID:0000 psm: status 00 02 64 psm: data 08 00 00 psm: status 00 02 64 psm0 irq 12 flags 0xa00 on isa psm0: model Generic PS/2 mouse, device ID 0, 2 buttons psm0: config:00000a00, flags:00000000, packet size:3 psm0: syncmask:c0, syncbits:00 sio0: irq maps: 0x21 0x31 0x21 0x21 sio0 at 0x3f8-0x3ff irq 4 on isa sio0: type 16550A sio1: irq maps: 0x21 0x29 0x21 0x21 sio1 at 0x2f8-0x2ff irq 3 on isa sio1: type 16550A pca0 on motherboard pca0: PC speaker audio driver ppc: parallel port found at 0x378 ppc0: 0x87 - 0xc 0x0 0xff 0x50 0x44 0x0 0x0 0x0 0x0 0x8c 0xa 0xc 0x28 0xab 0x0 0x0 0x0 0x0 0x0 0x0 0x7 0x0 0x1e 0xfc 0x21 0xff 0xde 0xfe 0xbe 0x23 0x25 0x43 0x60 ppc0: ECP+EPP SPP ppc0 at 0x378 irq 7 on isa ppc0: Winbond chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode ppc0: FIFO with 16/16/16 bytes threshold nlpt0: <generic printer> on ppbus 0 nlpt0: Interrupt-driven port ppi0: <generic parallel i/o> on ppbus 0 lppps0: <Pulse per second Timing Interface> on ppbus 0 fdc0 at 0x3f0-0x3f7 irq 6 drq 2 on isa fdc0: FIFO enabled, 8 bytes threshold fd0: 1.44MB 3.5in wdc0 at 0x1f0-0x1f7 irq 14 on isa wdc0: unit 0 (wd0): <WDC AC22500L> wd0: 2441MB (4999680 sectors), 4960 cyls, 16 heads, 63 S/T, 512 B/S wd0: ATA INQUIRE valid = 0003, dmamword = 0000, apio = 0003, udma = 0000 wdc1 at 0x170-0x177 irq 15 on isa wdc1: unit 0 (atapi): <ATAPI CD-ROM/>, removable, dma, iordy acd0: drive speed 1367KB/sec, 128KB cache acd0: supported read types: CD-DA acd0: Audio: play, 255 volume levels acd0: Mechanism: ejectable tray acd0: Medium: CD-ROM 120mm data/audio disc loaded, unlocked vga0 at 0x3b0-0x3df maddr 0xa0000 msize 131072 on isa fb0: vga0, vga, type:VGA (5), flags:0x7007f fb0: port:0x3b0-0x3df, crtc:0x3d4, mem:0xa0000 0x20000 fb0: init mode:24, bios mode:3, current mode:24 fb0: window:0xf00b8000 size:32k gran:32k, buf:0x0 size:0k VGA parameters upon power-up 50 18 10 00 00 00 03 00 02 27 59 4f 4f 9d 54 1b ff ff 00 ef 0e 0f 00 00 07 80 7d 8f 1f 28 1f 1e 00 a3 ff 00 01 02 03 04 05 14 07 38 39 3a 3b 3c 3d 3e 3f 0c 00 0f 08 00 00 00 00 00 10 0e 00 ff VGA parameters in BIOS for mode 24 50 18 10 00 10 00 03 00 02 27 59 4f 4f 9d 54 1b ff ff 00 ef 0d 0e 00 00 00 00 7d 8f 1f 28 1f 1e 00 a3 ff 00 01 02 03 04 05 14 07 38 39 3a 3b 3c 3d 3e 3f 0c 00 0f 08 00 00 00 00 00 10 0e 00 ff EGA/VGA parameters to be used for mode 24 50 18 10 00 10 00 03 00 02 27 59 4f 4f 9d 54 1b ff ff 00 ef 0d 0e 00 00 00 00 7d 8f 1f 28 1f 1e 00 a3 ff 00 01 02 03 04 05 14 07 38 39 3a 3b 3c 3d 3e 3f 0c 00 0f 08 00 00 00 00 00 10 0e 00 ff npx0 on motherboard npx0: INT 16 interface i586_bzero() bandwidth = 54083288 bytes/sec bzero() bandwidth = 180799132 bytes/sec joy0 at 0x201 on isa joy0: joystick imasks: bio c008c060, tty c003109a, net c0060400 usbd_match usb0: <VIA 83C572 USB Host Controller> usbd_attach usbd_new_device bus=0xf0956000 depth=0 lowspeed=0 usbd_new_device: adding unit addr=1, rev=100, class=9, subclass=0, protocol=0, maxpacket=64, ls=0 usbd_new_device: new dev (addr 1), dev=0xf0967c80, parent=0xf0964240 uhub0 at usb0 uhub0: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1 usbd_set_config_index: (addr 1) attr=0x40, selfpowered=1, power=0, powerquirk=0 usbd_set_config_index: set config 1 usbd_set_config_index: setting new config 1 uhub0: 2 ports with 2 removable, self powered usbd_init_port: adding hub port=1 status=0x0108 change=0x0000 usbd_init_port: adding hub port=2 status=0x0309 change=0x0001 uhub_explore: status change hub=1 port=2 usbd_new_device bus=0xf0956000 depth=1 lowspeed=512 uhci_waitintr: timeout uhci_waitintr: timeout uhci_waitintr: timeout uhci_waitintr: timeout uhci_waitintr: timeout usbd_new_device: addr=2, getting first desc failed usbd_remove_device: 0xf0967980 uhub_explore: usb_new_device failed, error=17(TIMEOUT) uhub0: device problem, disabling port 2 usb0: Host System Error usb0: controller halted BIOS Geometries: 0:00000000 0..0=1 cylinders, 0..0=1 heads, 1..0=0 sectors 1:00000000 0..0=1 cylinders, 0..0=1 heads, 1..0=0 sectors 2:00000000 0..0=1 cylinders, 0..0=1 heads, 1..0=0 sectors 3:00000000 0..0=1 cylinders, 0..0=1 heads, 1..0=0 sectors 4:00000000 0..0=1 cylinders, 0..0=1 heads, 1..0=0 sectors 5:00000000 0..0=1 cylinders, 0..0=1 heads, 1..0=0 sectors 6:00000000 0..0=1 cylinders, 0..0=1 heads, 1..0=0 sectors 7:00000000 0..0=1 cylinders, 0..0=1 heads, 1..0=0 sectors 0 accounted for Device configuration finished. DEVFS: ready to run bpf: tun0 attached bpf: tun1 attached bpf: lo0 attached bpf: ds0 attached Linux-ELF exec handler installed de0 XXX: driver didn't set ifq_maxlen lo0 XXX: driver didn't set ifq_maxlen ds0 XXX: driver didn't set ifq_maxlen Considering FFS root f/s. changing root device to wd0s2a wd0s1: type 0xe, start 207711, end = 2837519, size 2629809 : OK wd0s2: type 0xa5, start 63, end = 207647, size 207585 : OK wd0s3: type 0xa5, start 2837520, end = 4999679, size 2162160 : OK ffs_mountfs: superblock updated for soft updates ffs_mountfs: superblock updated for soft updates de0: enabling 10baseT port
machine "i386" cpu "I586_CPU" # aka Pentium(tm) ident PLAY # # The `maxusers' parameter controls the static sizing of a number of # internal system tables by a complicated formula defined in param.c. # maxusers 20 config "kernel" root on da0 dumps on da0 options INCLUDE_CONFIG_FILE options "COMPAT_43" options USER_LDT #allow user-level control of i386 ldt options SYSVSHM options SYSVSEM options SYSVMSG options "VM86" options KTRACE #kernel tracing options UCONSOLE options INET #Internet communications protocols #options MROUTING # Multicast routing options PERFMON options "CLK_USE_I8254_CALIBRATION" options "CLK_USE_TSC_CALIBRATION" options DDB options DDB_UNATTENDED options INVARIANTS options INVARIANT_SUPPORT options USERCONFIG #boot -c editor pseudo-device ether #Generic Ethernet pseudo-device loop #Network loopback device pseudo-device bpfilter 4 #Berkeley packet filter pseudo-device tun 2 #Tunnel driver(user process ppp) pseudo-device disc options FFS #Fast filesystem options FFS_ROOT options NFS #Network File System options "CD9660" #ISO 9660 filesystem options FDESC #File descriptor filesystem options KERNFS #Kernel filesystem options MSDOSFS #MS DOS File System options PROCFS #Process filesystem options DEVFS #devices filesystem options SOFTUPDATES #oh, boy! pseudo-device pty 64 #Pseudo ttys - can go as high as 64 pseudo-device speaker #Play IBM BASIC-style noises out your speaker pseudo-device vn #Vnode driver (turns a file into a device) pseudo-device snp 3 #Snoop device - to look at pty/vty/etc.. options "MSGBUF_SIZE=40960" options PPS_SYNC ##################################################################### # HARDWARE DEVICE CONFIGURATION # ISA and EISA devices: # Currently there is no separate support for EISA. There should be. # Micro Channel is not supported at all. # # Mandatory ISA devices: isa, sc or vt, npx # controller isa0 pseudo-device splash controller atkbdc0 at isa? port IO_KBD tty device atkbd0 at isa? tty irq 1 device psm0 at isa? tty irq 12 flags 0xa00 device vga0 at isa? port ? conflicts device sc0 at isa? tty device npx0 at isa? port "IO_NPX" irq 13 controller fdc0 at isa? port "IO_FD1" bio irq 6 drq 2 disk fd0 at fdc0 drive 0 device sio0 at isa? port "IO_COM1" tty irq 4 device sio1 at isa? port "IO_COM2" tty irq 3 controller wdc0 at isa? port "IO_WD1" bio irq 14 disk wd0 at wdc0 drive 0 disk wd1 at wdc0 drive 1 controller wdc1 at isa? port "IO_WD2" bio irq 15 disk wd2 at wdc1 drive 0 disk wd3 at wdc1 drive 1 options IDE_DELAY=8000 # Be optimistic about Joe IDE device # IDE CD-ROM driver - requires wdc controller and ATAPI option device acd0 options ATAPI #Enable ATAPI support for IDE bus options ATAPI_STATIC #Don't do it as an LKM device pca0 at isa? port IO_TIMER1 tty device joy0 at isa? port "IO_GAME" # # PCI devices: # controller pci0 device de0 controller smbus0 controller iicbus0 controller iicbb0 controller ppbus0 device nlpt0 at ppbus? device ppi0 at ppbus? device pps0 at ppbus? device lpbb0 at ppbus? controller ppc0 at isa? port ? tty irq 7 # USB support controller uhci0 controller ohci0 controller usb0 device ums0 device ukbd0 device ulpt0 device uhub0 device ucom0 device umodem0 device hid0 device ugen0 options USB_DEBUG options USBVERBOSE options COMPAT_LINUX