Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 15 Mar 2015 14:51:36 +0100
From:      Hans Petter Selasky <hps@selasky.org>
To:        Ian Smith <smithi@nimnet.asn.au>, The Lost Admin <thelostadmin@gmail.com>
Cc:        freebsd-questions@freebsd.org
Subject:   Re: FreeBSD 9.3 is not recognizing USB 2.0 peripherals (or maybe USB2 bus)
Message-ID:  <55058E68.7070806@selasky.org>
In-Reply-To: <20150315233303.D22641@sola.nimnet.asn.au>
References:  <mailman.69.1426420801.23787.freebsd-questions@freebsd.org> <20150315233303.D22641@sola.nimnet.asn.au>

next in thread | previous in thread | raw e-mail | index | archive | help
On 03/15/15 14:35, Ian Smith wrote:
> In freebsd-questions Digest, Vol 562, Issue 7, Message: 2
> On Sat, 14 Mar 2015 10:24:52 -0400 The Lost Admin <thelostadmin@gmail.com> wrote:
>   > On Mar 14, 2015, at 12:53 AM, Ian Smith <smithi@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@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@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@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@x200:~ % kldstat -v | grep ehci
>   > >                295 ehci/usbus
>   > >                287 pci/ehci
>   > > smithi@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@freebsd.org, likely needing subscription.
>
> cheers, Ian
>

Hi,

With regular PC's there should be an EHCI or XHCI host controllers in 
dmesg. Else only FULL speed will be supported. What is "pciconf -lv" 
outputting. Might be an ACPI issue ...

--HPS




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?55058E68.7070806>