FreeBSD 9.3 is not recognizing USB 2.0 peripherals (or maybe USB2 bus)

The Lost Admin thelostadmin at
Sat Mar 14 14:24:59 UTC 2015

On Mar 14, 2015, at 12:53 AM, Ian Smith <smithi at> wrote:

> In freebsd-questions Digest, Vol 562, Issue 4, Message: 3
> On Wed, 11 Mar 2015 18:43:03 -0400 The Lost Admin <thelostadmin at> wrote:
>> Hi all,
>> I?ve got a Zotac Zbox SD-ID12 (Intel Atop D525). According to the 
>> vendor specs it?s got 6 USB 2.0 ports. It?s spend the last few years 
>> sitting on a shelf running FreeBSD and getting periodic 
>> updates/upgrades and little else.
>> Currently at FreeBSD 9.3-RELEASE-p10.
>> Recently I decided to make use of some old USB2 hard drives I had 
>> lying around and turn the box into a basic NAS for my home network 
>> (nothing fancy just NFS). I got the NFS working without a hitch.
>> I attached the first of the USB 2.0 drives and it seamed really slow. 
>> Looking at /var/messages it indicates it?s running at USB 1 speeds:
>> da0 at umass-sim0 bus 0 scbus4 target 0 lun 0
>> da0: <WD My Passport 071A 2011> Fixed Direct Access SCSI-4 device 
>> da0: Serial Number 575851314136305639323030
>> da0: 1.000MB/s transfers
>> da0: 953842MB (1953468416 512 byte sectors: 255H 63S/T 121597C)
>> da0: quirks=0x2<NO_6_BYTE>
>> Further digging into dmesg suggests to me that FreeBSD is somehow 
>> either not finding or not using USB2 drivers.
>> For the sake of keeping this message short, the full verbose dmesg 
>> can be found here -> ; it will expire in 
>> one month (April 11, 2015).
> Unfortunately your dmesg is missing the top - these days you likely need 
> to set kern.msgbufsize=98304 or at least >64K, to capture a full verbose 
> boot; I have that in /boot/loader.conf or you can set it from the loader 
> prompt - so it's not clear whether you're running a GENERIC kernel, but 
> as you say 9.3-RELEASE-p10 I'll assume you probably do.  If not, and 
> your kernel doesn't include device ehci, that's your problem solved :)

This is the top of a non-verbose DMESG. It will take some fiddling to get the verbose one out of the box because it’s headless. NOTE: currently I have module_load eyries for ehci and ohci in loader.conf.

It is a GENERIC kernel.

Copyright (c) 1992-2014 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
	The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 9.3-RELEASE-p10 #0: Tue Feb 24 21:01:19 UTC 2015
    root at i386
gcc version 4.2.1 20070831 patched [FreeBSD]
module_register: module pci/ehci already exists!
Module pci/ehci failed to register: 17
module_register: module pci/ohci already exists!
Module pci/ohci failed to register: 17
CPU: Intel(R) Atom(TM) CPU D525   @ 1.80GHz (1795.74-MHz 686-class CPU)
  Origin = "GenuineIntel"  Id = 0x106ca  Family = 0x6  Model = 0x1c  Stepping = 10
  AMD Features=0x20100000<NX,LM>
  AMD Features2=0x1<LAHF>
  TSC: P-state invariant, performance statistics
real memory  = 2147483648 (2048 MB)
avail memory = 2071896064 (1975 MB)
Event timer "LAPIC" quality 400
ACPI APIC Table: <122310 APIC1702>
FreeBSD/SMP: Multiprocessor System Detected: 4 CPUs
FreeBSD/SMP: 1 package(s) x 2 core(s) x 2 HTT threads
 cpu0 (BSP): APIC ID:  0
 cpu1 (AP/HT): APIC ID:  1
 cpu2 (AP): APIC ID:  2
 cpu3 (AP/HT): APIC ID:  3
ioapic0: Changing APIC ID to 4
ioapic0 <Version 2.0> irqs 0-23 on motherboard
kbd1 at kbdmux0
acpi0: <122310 RSDT1702> on motherboard
acpi0: Power Button (fixed)
acpi0: reservation of fee00000, 1000 (3) failed
acpi0: reservation of 0, a0000 (3) failed
acpi0: reservation of 100000, 7f600000 (3) failed

>> I have tried a variety of USB2 devices (CD R/W, usb hard drive, thumb 
>> drives). I have confirmed that all are detected and accessed as USB 
>> 2.0 devices on Windows 7, Mac OSX. I have also confirmed that Linux 
>> (Raspbian on a raspberry Pi) recognized and used the hard drive as a 
>> USB2.0 device.
> Your dmesg shows:
> uhci0: <Intel 82801G (ICH7) USB controller USB-A> port 0xd880-0xd89f irq 
> 23 at device 29.0 on pci0
> ioapic0: routing intpin 23 (PCI IRQ 23) to lapic 0 vector 55
> uhci0: LegSup = 0x2f00
> usbus0 on uhci0
> usbus0: bpf attached
> uhci0: usbpf: Attached
> and the same for uhci1, uhci2 and uhci3.  If ehci (USB 2) were being 
> detected you'd then expect to see something like, as here on 9.3-R:
> ehci0: <Intel 82801I (ICH9) USB 2.0 controller> mem 0xf2926c00-0xf2926fff irq
> 23 at device 26.7 on pci0
> ioapic0: routing intpin 23 (PCI IRQ 23) to lapic 0 vector 55
> usbus3: EHCI version 1.0
> usbus3 on ehci0
> usbus3: bpf attached
> ehci0: usbpf: Attached
> though on a different irq and usbus than the uhci ones.
>> I tried a few different cables just in case.
>> Also, I have been using FreeBSD since the 1990s and used to be pretty 
>> active at helping people on this list (a long time ago).
> That's cool, but you don't need a credit balance to qualify :)
> smithi at x200:~ % kldstat -v | grep ehci
>                295 ehci/usbus
>                287 pci/ehci
> smithi at x200:~ % devinfo -v | grep ehci
>        ehci0 pnpinfo vendor=0x8086 device=0x293c subvendor=0x17aa 
> subdevice=0x20f1 class=0x0c0320 at slot=26 function=7 handle=\_SB_.PCI0.EHC1
>        ehci1 pnpinfo vendor=0x8086 device=0x293a subvendor=0x17aa 
> subdevice=0x20f1 class=0x0c0320 at slot=29 function=7 handle=\_SB_.PCI0.EHC0

$ kldstat -v | grep ehci
		317 ehci/usbus
 3    1 0xc1697000 e7b4     ehci.ko (/boot/kernel/ehci.ko)
		 2 pci/ehci

$ devinfo -v | grep ehci
	# produced nothing so..

$ devinfo -v | grep hci
        uhci0 pnpinfo vendor=0x8086 device=0x27c8 subvendor=0x8086 subdevice=0x27c8 class=0x0c0300 at slot=29 function=0 handle=\_SB_.PCI0.USB0
        uhci1 pnpinfo vendor=0x8086 device=0x27c9 subvendor=0x8086 subdevice=0x27c9 class=0x0c0300 at slot=29 function=1 handle=\_SB_.PCI0.USB1
        uhci2 pnpinfo vendor=0x8086 device=0x27ca subvendor=0x8086 subdevice=0x27ca class=0x0c0300 at slot=29 function=2 handle=\_SB_.PCI0.USB2
        uhci3 pnpinfo vendor=0x8086 device=0x27cb subvendor=0x8086 subdevice=0x27cb class=0x0c0300 at slot=29 function=3 handle=\_SB_.PCI0.USB3

> If you've got ehci loaded then it's not being detected, which is weird 
> indeed.  Report back with the output of those two commands?
> cheers, Ian  (please cc me, I take questions as a digest)

More information about the freebsd-questions mailing list