FreeBSD 9.3 is not recognizing USB 2.0 peripherals (or maybe USB2 bus)
Ian Smith
smithi at nimnet.asn.au
Sun Mar 15 13:35:38 UTC 2015
In freebsd-questions Digest, Vol 562, Issue 7, Message: 2
On Sat, 14 Mar 2015 10:24:52 -0400 The Lost Admin <thelostadmin at gmail.com> wrote:
> On Mar 14, 2015, at 12:53 AM, Ian Smith <smithi at nimnet.asn.au> 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 gmail.com> 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 -> http://pastebin.com/sUxvCd0m ; 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.
Ordinary dmesg will show ehci detection fine, and your dmesg at pastebin
may be enough for someone who knows the details of pci and usb detection
- which sure isn't me. Copying this to Hans Petter <hps at freebsd.org> as
this seems like a real failure to detect hardware - or broken hardware.
> It is a GENERIC kernel.
Ok, so loading ehci is superfluous, and ohci is the other USB 1 driver
other than the uhci that yours has. See below, where it seems that the
ehci that kldstat -v lists is the module rather than the built-in (hmm!)
> 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 amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC 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
> Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE>
> Features2=0x40e31d<SSE3,DTES64,MON,DS_CPL,TM2,SSSE3,CX16,xTPR,PDCM,MOVBE>
> AMD Features=0x20100000<NX,LM>
Any reason you're not running amd64 on this machine (LM)? Might be
worth booting from a 9.3 amd64 memstick to a shell and checking dmesg or
/var/run/dmesg.boot to see if it detects/attaches ehci with that kernel?
> 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
> >> NOTES:
> >> 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.
Have you tried say some linux boot CD or memstick to see if linux sees
the USB ports ok as USB 2 on this box? That could narrow this down to
whether the hardware on your board is faulty, or it's a FreeBSD issue?
> > 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
I find that odd, I'd have thought the failure to load ehci above would
have left you with the pci/ehci from kernel, like mine. Had you loaded
ehci from /boot/loader.conf the first time you reported this problem
also, or just this last time? Trying not to assume too much ..
> $ devinfo -v | grep ehci
> # produced nothing so..
Yes that only appears after hardware is detected, and yours isn't.
> $ 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
These look ok, and they're working ok at USB 1 speeds, right?
> > 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)
If you can confirm USB 2 works booting linux or $omethingelse then you
maybe should try freebsd-usb at freebsd.org, likely needing subscription.
cheers, Ian
More information about the freebsd-questions
mailing list