Date: Wed, 20 Jun 2018 07:24:56 +0200 From: Phil Norman <philnorm@gmail.com> To: usb@freebsd.org Subject: USB trouble on Ryzen 3/AsRock mobo. Message-ID: <CAOa8eG5RQorHCDyJRJeMfsSXzWBRiSEdkVkTas2Gw5VL2BfHfg@mail.gmail.com>
next in thread | raw e-mail | index | archive | help
Hi. [originally sent to freebsd-stable@; I've been advised to try usb@] I've recently converted to FreeBSD, fleeing the Windowsification of Ubuntu. I've been having some trouble with the USB system, which seems strange as FreeBSD's USB stack is, according to a friend, rock solid. I'd like to narrow down if this is a hardware (CPU or mobo) or software issue. I'm running a Ryzen 3 1200, plugged into a "Fatal1ty X370 Gaming-ITX/ac" motherboard (chosen because it supports ECC RAM and fits in an ITX case). On a cold boot (ie starting by flipping the physical PSU power switch), BSD boots up nice and quickly, without errors, and then runs for days without a single USB-related error on dmesg. However, any other kind of reboot which doesn't interrupt the electricity supply yields a large number of USB errors (USB_ERR_TIMEOUTs every few seconds or so) and frequent resets of the xhci0 controller. On occasion, I also get problems with my keyboard randomly stopping working (but then, if the USB subsystem is continuously resetting, that's only to be expected). I also seem to get slow USB storage device read throughput (2MB/s from a USB3 SSD), although I can't rule out that being caused by the fuse ext4fs driver. Here's what I see in dmesg when the USB system's in spam mode: ---------------- xhci0: Resetting controller usb_alloc_device: set address 2 failed (USB_ERR_TIMEOUT, ignored) usbd_setup_device_desc: getting device descriptor at addr 2 failed, USB_ERR_TIMEOUT igb0: link state changed to UP usbd_req_re_enumerate: addr=2, set address failed! (USB_ERR_TIMEOUT, ignored) usbd_setup_device_desc: getting device descriptor at addr 2 failed, USB_ERR_TIMEOUT uhid0 on uhub3 uhid0: <vendor 0x046d product 0xc214, class 0/0, rev 1.10/2.05, addr 3> on usbus1 uhid1 on uhub3 uhid1: <KINESIS FREESTYLE KB800 KB800 Kinesis Freestyle, class 0/0, rev 1.10/1.22, addr 4> on usbus1 ums0 on uhub2 ums0: <Logitech USB Optical Mouse, class 0/0, rev 2.00/72.00, addr 5> on usbus1 ums0: 3 buttons and [XYZ] coordinates ID=0 usbd_req_re_enumerate: addr=2, set address failed! (USB_ERR_TIMEOUT, ignored) usbd_setup_device_desc: getting device descriptor at addr 2 failed, USB_ERR_TIMEOUT usbd_req_re_enumerate: addr=2, set address failed! (USB_ERR_TIMEOUT, ignored) usbd_setup_device_desc: getting device descriptor at addr 2 failed, USB_ERR_TIMEOUT usbd_req_re_enumerate: addr=2, set address failed! (USB_ERR_TIMEOUT, ignored) usbd_setup_device_desc: getting device descriptor at addr 2 failed, USB_ERR_TIMEOUT ugen0.2: <Unknown > at usbus0 (disconnected) uhub_reattach_port: could not allocate new device uhub1: at usbus0, port 1, addr 1 (disconnected) uhub1: <0x1022 XHCI root HUB, class 9/0, rev 3.00/1.00, addr 1> on usbus0 uhub1: 22 ports with 22 removable, self powered xhci0: Resetting controller ----------------- Here's the start of dmesg: ----------------- Copyright (c) 1992-2018 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 11.2-PRERELEASE #0 r335198: Fri Jun 15 20:55:02 CEST 2018 phil@bob:/usr/obj/usr/src/sys/BOB amd64 FreeBSD clang version 6.0.0 (tags/RELEASE_600/final 326565) (based on LLVM 6.0.0) VT(efifb): resolution 1024x768 CPU: AMD Ryzen 3 1200 Quad-Core Processor (3094.26-MHz K8-class CPU) Origin="AuthenticAMD" Id=0x800f11 Family=0x17 Model=0x1 Stepping=1 Features=0x178bfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8, APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,MMX,FXSR,SSE,SSE2,HTT> Features2=0x7ed8320b<SSE3,PCLMULQDQ,MON,SSSE3,FMA,CX16, SSE4.1,SSE4.2,MOVBE,POPCNT,AESNI,XSAVE,OSXSAVE,AVX,F16C,RDRAND> AMD Features=0x2e500800<SYSCALL,NX,MMX+,FFXSR,Page1GB,RDTSCP,LM> AMD Features2=0x35c233ff<LAHF,CMP,SVM,ExtAPIC,CR8,ABM,SSE4A,MAS, Prefetch,OSVW,SKINIT,WDT,TCE,Topology,PCXC,PNXC,DBE,PL2I,MWAITX> Structured Extended Features=0x209c01a9<FSGSBASE, BMI1,AVX2,SMEP,BMI2,RDSEED,ADX,SMAP,CLFLUSHOPT,SHA> XSAVE Features=0xf<XSAVEOPT,XSAVEC,XINUSE,XSAVES> AMD Extended Feature Extensions ID EBX=0x1007<CLZERO,IRPerf,XSaveErPtr> SVM: (disabled in BIOS) NP,NRIP,VClean,AFlush,DAssist,NAsids=32768 TSC: P-state invariant, performance statistics real memory = 17179869184 (16384 MB) avail memory = 16519221248 (15753 MB) Event timer "LAPIC" quality 600 ACPI APIC Table: <ALASKA A M I > FreeBSD/SMP: Multiprocessor System Detected: 4 CPUs FreeBSD/SMP: 1 package(s) x 4 core(s) random: unblocking device. Firmware Warning (ACPI): Optional FADT field Pm2ControlBlock has valid Length but zero Address: 0x0000000000000000/0x1 (20171214/tbfadt-796) ioapic0 <Version 2.1> irqs 0-23 on motherboard ioapic1 <Version 2.1> irqs 24-55 on motherboard SMP: AP CPU #3 Launched! SMP: AP CPU #2 Launched! SMP: AP CPU #1 Launched! Timecounter "TSC-low" frequency 1547130097 Hz quality 1000 random: entropy device external interface kbd0 at kbdmux0 netmap: loaded module module_register_init: MOD_LOAD (vesa, 0xffffffff80a3bd40, 0) error 19 random: registering fast source Intel Secure Key RNG random: fast provider: "Intel Secure Key RNG" nvidia-modeset: Loading NVIDIA Kernel Mode Setting Driver for UNIX platforms 390.59 Wed May 9 21:54:48 PDT 2018 nexus0 cryptosoft0: <software crypto> on motherboard aesni0: <AES-CBC,AES-XTS,AES-GCM,AES-ICM> on motherboard acpi0: <ALASKA A M I > on motherboard acpi0: Power Button (fixed) cpu0: <ACPI CPU> on acpi0 cpu1: <ACPI CPU> on acpi0 cpu2: <ACPI CPU> on acpi0 cpu3: <ACPI CPU> on acpi0 attimer0: <AT timer> port 0x40-0x43 irq 0 on acpi0 Timecounter "i8254" frequency 1193182 Hz quality 0 Event timer "i8254" frequency 1193182 Hz quality 100 atrtc0: <AT realtime clock> port 0x70-0x71 on acpi0 atrtc0: registered as a time-of-day clock, resolution 1.000000s Event timer "RTC" frequency 32768 Hz quality 0 hpet0: <High Precision Event Timer> iomem 0xfed00000-0xfed003ff irq 0,8 on acpi0 Timecounter "HPET" frequency 14318180 Hz quality 950 Event timer "HPET" frequency 14318180 Hz quality 450 Event timer "HPET1" frequency 14318180 Hz quality 450 Event timer "HPET2" frequency 14318180 Hz quality 450 Timecounter "ACPI-fast" frequency 3579545 Hz quality 900 acpi_timer0: <32-bit timer at 3.579545MHz> port 0x808-0x80b on acpi0 pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0 pcib0: _OSC returned error 0x10 pci0: <ACPI PCI bus> on pcib0 amdsmn0: <AMD Family 17h System Management Network> on hostb0 amdtemp0: <AMD CPU On-Die Thermal Sensors> on hostb0 pci0: <base peripheral, IOMMU> at device 0.2 (no driver attached) pcib1: <ACPI PCI-PCI bridge> at device 1.3 on pci0 pci1: <ACPI PCI bus> on pcib1 xhci0: <XHCI (generic) USB 3.0 controller> mem 0xf77a0000-0xf77a7fff irq 32 at device 0.0 on pci1 xhci0: 32 bytes context size, 64-bit DMA usbus0 on xhci0 ----------------- I don't remember if I had similar USB trouble on Linux, but I definitely did during my brief excursion into NetBSD. If anyone knows whether this is likely to be a CPU, mother board or software problem, or knows of something I can try to get more information or try to debug the thing, please let me know. Thanks, Phil
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAOa8eG5RQorHCDyJRJeMfsSXzWBRiSEdkVkTas2Gw5VL2BfHfg>