I and a friend have Thinkpad X1 Tablets and the USB-C connectors are not working. Nothing happens when a usb memory stick is inserted, nothing is shown in dmesg. Loading through USB-C works fine. USB-A works fine. I'm running: uname -a FreeBSD Danton 12.1-STABLE FreeBSD 12.1-STABLE r356939 GENERIC amd64 Any help would be apreciated. Thanks, Mathias More Info: The output of usbconfig stays the same with or without something connected to USB-C usbconfig show_ifdrv ugen0.1: <0x8086 XHCI root HUB> at usbus0, cfg=0 md=HOST spd=SUPER (5.0Gbps) pwr=SAVE (0mA) ugen0.1.0: uhub0: <0x8086 XHCI root HUB, class 9/0, rev 3.00/1.00, addr 1> ugen1.1: <0x8086 XHCI root HUB> at usbus1, cfg=0 md=HOST spd=SUPER (5.0Gbps) pwr=SAVE (0mA) ugen1.1.0: uhub1: <0x8086 XHCI root HUB, class 9/0, rev 3.00/1.00, addr 1> ugen0.2: <Generic 4-Port USB 2.0 Hub> at usbus0, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE (0mA) ugen0.2.0: uhub2: <Generic 4-Port USB 2.0 Hub, class 9/0, rev 2.10/1.04, addr 1> ugen0.3: <vendor 0x046d HD Pro Webcam C920> at usbus0, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (500mA) ugen0.3.2: uaudio0: <vendor 0x046d HD Pro Webcam C920, class 239/2, rev 2.00/0.11, addr 2> ugen0.4: <CM Storm Quickfire TKL 6keys> at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON (100mA) ugen0.4.0: ukbd0: <CM Storm Quickfire TKL 6keys, class 0/0, rev 1.10/1.11, addr 3> ugen0.4.1: uhid0: <CM Storm Quickfire TKL 6keys, class 0/0, rev 1.10/1.11, addr 3> ugen0.5: <La-VIEW Technology SteelSeries> at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON (200mA) ugen0.5.0: ums0: <La-VIEW Technology SteelSeries, class 0/0, rev 2.00/0.00, addr 4> ugen0.5.1: ukbd1: <La-VIEW Technology SteelSeries, class 0/0, rev 2.00/0.00, addr 4> ugen0.6: <vendor 0x8087 product 0x0a2b> at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON (100mA) ugen0.7: <SunplusIT Inc Integrated Camera> at usbus0, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (500mA) ugen0.8: <vendor 0x06cb product 0x009a> at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON (100mA) ugen0.9: <Wacom Co.,Ltd. Pen and multitouch sensor> at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON (400mA) ugen0.10: <Generic 4-Port USB 3.0 Hub> at usbus0, cfg=0 md=HOST spd=SUPER (5.0Gbps) pwr=SAVE (0mA) ugen0.10.0: uhub3: <Interrupt In Interface> ugen0.11: <Generic USB3.0-CRW> at usbus0, cfg=0 md=HOST spd=SUPER (5.0Gbps) pwr=ON (200mA) ugen0.11.0: umass0: <Bulk-In, Bulk-Out, Interface> This is my dmesg: ---<<BOOT>>--- Copyright (c) 1992-2020 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 12.1-STABLE r356939 GENERIC amd64 FreeBSD clang version 8.0.1 (tags/RELEASE_801/final 366581) (based on LLVM 8.0.1) VT(efifb): resolution 2560x1440 CPU: Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz (1992.08-MHz K8-class CPU) Origin="GenuineIntel" Id=0x806ea Family=0x6 Model=0x8e 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=0x7ffafbbf<SSE3,PCLMULQDQ,DTES64,MON,DS_CPL,VMX,EST,TM2,SSSE3,SDBG,FMA,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,TSCDLT,AESNI,XSAVE,OSXSAVE,AVX,F16C,RDRAND> AMD Features=0x2c100800<SYSCALL,NX,Page1GB,RDTSCP,LM> AMD Features2=0x121<LAHF,ABM,Prefetch> Structured Extended Features=0x29c67af<FSGSBASE,TSCADJ,SGX,BMI1,AVX2,SMEP,BMI2,ERMS,INVPCID,NFPUSG,MPX,RDSEED,ADX,SMAP,CLFLUSHOPT,PROCTRACE> Structured Extended Features3=0x9c000000<IBPB,STIBP,L1DFL,SSBD> XSAVE Features=0xf<XSAVEOPT,XSAVEC,XINUSE,XSAVES> VT-x: PAT,HLT,MTF,PAUSE,EPT,UG,VPID TSC: P-state invariant, performance statistics real memory = 17179869184 (16384 MB) avail memory = 16358600704 (15600 MB) Event timer "LAPIC" quality 600 ACPI APIC Table: <LENOVO TP-N25 > FreeBSD/SMP: Multiprocessor System Detected: 8 CPUs FreeBSD/SMP: 1 package(s) x 4 core(s) x 2 hardware threads random: unblocking device. ioapic0 <Version 2.0> irqs 0-119 on motherboard Launching APs: 1 3 4 6 7 5 2 Timecounter "TSC" frequency 1992079213 Hz quality 1000 Cuse v0.1.36 @ /dev/cuse random: entropy device external interface 000.000020 [4336] netmap_init netmap: loaded module [ath_hal] loaded module_register_init: MOD_LOAD (vesa, 0xffffffff8114d130, 0) error 19 random: registering fast source Intel Secure Key RNG random: fast provider: "Intel Secure Key RNG" kbd1 at kbdmux0 nexus0 efirtc0: <EFI Realtime Clock> on motherboard efirtc0: registered as a time-of-day clock, resolution 1.000000s cryptosoft0: <software crypto> on motherboard aesni0: <AES-CBC,AES-CCM,AES-GCM,AES-ICM,AES-XTS> on motherboard acpi0: <LENOVO TP-N25> on motherboard acpi_ec0: <Embedded Controller: GPE 0x16, ECDT> port 0x62,0x66 on acpi0 acpi0: Power Button (fixed) unknown: memory range not supported cpu0: <ACPI CPU> on acpi0 hpet0: <High Precision Event Timer> iomem 0xfed00000-0xfed003ff on acpi0 Timecounter "HPET" frequency 24000000 Hz quality 950 Event timer "HPET" frequency 24000000 Hz quality 550 atrtc0: <AT realtime clock> port 0x70-0x77 irq 8 on acpi0 atrtc0: Warning: Couldn't map I/O. atrtc0: registered as a time-of-day clock, resolution 1.000000s Event timer "RTC" frequency 32768 Hz quality 0 attimer0: <AT timer> port 0x40-0x43,0x50-0x53 irq 0 on acpi0 Timecounter "i8254" frequency 1193182 Hz quality 0 Event timer "i8254" frequency 1193182 Hz quality 100 Timecounter "ACPI-fast" frequency 3579545 Hz quality 900 acpi_timer0: <24-bit timer at 3.579545MHz> port 0x1808-0x180b on acpi0 pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0 pci0: <ACPI PCI bus> on pcib0 vgapci0: <VGA-compatible display> port 0xe000-0xe03f mem 0x2fe0000000-0x2fe0ffffff,0x2fc0000000-0x2fdfffffff at device 2.0 on pci0 acpi_video0: <ACPI video extension> on vgapci0 vgapci0: Boot video device pci0: <old, non-VGA display device> at device 19.0 (no driver attached) xhci0: <Intel Sunrise Point-LP USB 3.0 controller> mem 0x2fe1010000-0x2fe101ffff at device 20.0 on pci0 xhci0: 32 bytes context size, 64-bit DMA usbus0 on xhci0 usbus0: 5.0Gbps Super Speed USB v3.0 pci0: <simple comms> at device 22.0 (no driver attached) pcib1: <ACPI PCI-PCI bridge> at device 28.0 on pci0 pci1: <ACPI PCI bus> on pcib1 pci1: <network> at device 0.0 (no driver attached) pcib2: <ACPI PCI-PCI bridge> at device 28.2 on pci0 pci2: <ACPI PCI bus> on pcib2 pci2: <wireless controller> at device 0.0 (no driver attached) pcib3: <ACPI PCI-PCI bridge> at device 28.4 on pci0 pci3: <ACPI PCI bus> on pcib3 nvme0: <Generic NVMe Device> mem 0xec200000-0xec203fff at device 0.0 on pci3 pcib4: <ACPI PCI-PCI bridge> at device 29.0 on pci0 pcib4: [GIANT-LOCKED] pci4: <ACPI PCI bus> on pcib4 pcib5: <ACPI PCI-PCI bridge> at device 0.0 on pci4 pci5: <ACPI PCI bus> on pcib5 pcib6: <PCI-PCI bridge> at device 0.0 on pci5 pci6: <PCI bus> on pcib6 pcib7: <PCI-PCI bridge> at device 1.0 on pci5 pcib7: [GIANT-LOCKED] pcib8: <ACPI PCI-PCI bridge> at device 2.0 on pci5 pci7: <ACPI PCI bus> on pcib8 xhci1: <XHCI (generic) USB 3.0 controller> mem 0xec000000-0xec00ffff at device 0.0 on pci7 xhci1: 32 bytes context size, 64-bit DMA usbus1 on xhci1 usbus1: 5.0Gbps Super Speed USB v3.0 pcib9: <PCI-PCI bridge> at device 4.0 on pci5 pcib9: [GIANT-LOCKED] isab0: <PCI-ISA bridge> at device 31.0 on pci0 isa0: <ISA bus> on isab0 pci0: <memory> at device 31.2 (no driver attached) hdac0: <Intel Kaby Lake-LP HDA Controller> mem 0x2fe1028000-0x2fe102bfff,0x2fe1000000-0x2fe100ffff at device 31.3 on pci0 em0: <Intel(R) PRO/1000 Network Connection> mem 0xec500000-0xec51ffff at device 31.6 on pci0 em0: Using 1024 TX descriptors and 1024 RX descriptors em0: Using an MSI interrupt em0: Ethernet address: 48:2a:e3:1a:da:58 em0: netmap queues/slots: TX 1/1024, RX 1/1024 acpi_button0: <Sleep Button> on acpi0 acpi_lid0: <Control Method Lid Switch> on acpi0 acpi_tz0: <Thermal Zone> on acpi0 atkbdc0: <Keyboard controller (i8042)> port 0x60,0x64 irq 1 on acpi0 atkbd0: <AT Keyboard> irq 1 on atkbdc0 kbd0 at atkbd0 atkbd0: [GIANT-LOCKED] psm0: <PS/2 Mouse> irq 12 on atkbdc0 psm0: [GIANT-LOCKED] psm0: model Generic PS/2 mouse, device ID 0 acpi_ibm0: <IBM ThinkPad ACPI Extras> on acpi0 acpi_ibm0: Firmware version is 0x200 acpi_acad0: <AC Adapter> on acpi0 battery0: <ACPI Control Method Battery> on acpi0 est0: <Enhanced SpeedStep Frequency Control> on cpu0 ZFS filesystem version: 5 ZFS storage pool version: features support (5000) Timecounters tick every 1.000 msec ugen0.1: <0x8086 XHCI root HUB> at usbus0 ugen1.1: <0x8086 XHCI root HUB> at usbus1 uhub0: <0x8086 XHCI root HUB, class 9/0, rev 3.00/1.00, addr 1> on usbus0 uhub1: <0x8086 XHCI root HUB, class 9/0, rev 3.00/1.00, addr 1> on usbus1 nvd0: <SAMSUNG MZVLB1T0HALR-000L7> NVMe namespace nvd0: 976762MB (2000409264 512 byte sectors) hdacc0: <Realtek ALC285 HDA CODEC> at cad 0 on hdac0 GEOM_ELI: Device nvd0p4.eli created. hdaa0: GEOM_ELI: Encryption: AES-XTS 256 GEOM_ELI: Crypto: hardware <Realtek ALC285 Audio Function Group> at nid 1 on hdacc0 pcm0: <Realtek ALC285 (Internal Analog)> at nid 20 and 18 on hdaa0 pcm1: <Realtek ALC285 (Right Analog)> at nid 33 and 25 on hdaa0 hdacc1: <Intel Kaby Lake HDA CODEC> at cad 2 on hdac0 hdaa1: <Intel Kaby Lake Audio Function Group> at nid 1 on hdacc1 pcm2: <Intel Kaby Lake (HDMI/DP 8ch)> at nid 3 on hdaa1 Trying to mount root from zfs:zroot/ROOT/default []... Root mount waiting for: usbus0 usbus1 CAM uhub1: 4 ports with 4 removable, self powered uhub0: 18 ports with 18 removable, self powered Root mount waiting for: usbus0 ugen0.2: <Generic 4-Port USB 2.0 Hub> at usbus0 uhub2 on uhub0 uhub2: <Generic 4-Port USB 2.0 Hub, class 9/0, rev 2.10/1.04, addr 1> on usbus0 uhub2: MTT enabled uhub2: 4 ports with 4 removable, self powered Root mount waiting for: usbus0 ugen0.3: <vendor 0x046d HD Pro Webcam C920> at usbus0 Root mount waiting for: usbus0 ugen0.4: <CM Storm Quickfire TKL 6keys> at usbus0 ukbd0 on uhub2 ukbd0: <CM Storm Quickfire TKL 6keys, class 0/0, rev 1.10/1.11, addr 3> on usbus0 kbd2 at ukbd0 ugen0.5: <La-VIEW Technology SteelSeries> at usbus0 ukbd1 on uhub2 ukbd1: <La-VIEW Technology SteelSeries, class 0/0, rev 2.00/0.00, addr 4> on usbus0 kbd3 at ukbd1 Root mount waiting for: usbus0 ugen0.6: <vendor 0x8087 product 0x0a2b> at usbus0 Root mount waiting for: usbus0 ugen0.7: <SunplusIT Inc Integrated Camera> at usbus0 ugen0.8: <vendor 0x06cb product 0x009a> at usbus0 Root mount waiting for: usbus0 ugen0.9: <Wacom Co.,Ltd. Pen and multitouch sensor> at usbus0 Root mount waiting for: usbus0 ugen0.10: <Generic 4-Port USB 3.0 Hub> at usbus0 uhub3 on uhub0 uhub3: <Interrupt In Interface> on usbus0 uhub3: 4 ports with 4 removable, self powered Root mount waiting for: usbus0 ugen0.11: <Generic USB3.0-CRW> at usbus0 umass0 on uhub0 umass0: <Bulk-In, Bulk-Out, Interface> on usbus0 umass0: SCSI over Bulk-Only; quirks = 0x4000 umass0:0:0: Attached to scbus0 (probe0:umass-sim0:0:0:0): REPORT LUNS. CDB: a0 00 00 00 00 00 00 00 00 10 00 00 (probe0:umass-sim0:0:0:0): CAM status: SCSI Status Error (probe0:umass-sim0:0:0:0): SCSI status: Check Condition (probe0:umass-sim0:0:0:0): SCSI sense: ILLEGAL REQUEST asc:24,0 (Invalid field in CDB) (probe0:umass-sim0:0:0:0): Error 22, Unretryable error da0 at umass-sim0 bus 0 scbus0 target 0 lun 0 da0: <Generic- SD/MMC CRW 1.00> Removable Direct Access SPC-4 SCSI device da0: Serial Number 28203008282014000 da0: 400.000MB/s transfers da0: Attempt to query device size failed: NOT READY, Medium not present da0: quirks=0x2<NO_6_BYTE> GEOM_ELI: Device nvd0p3.eli created. GEOM_ELI: Encryption: AES-XTS 128 GEOM_ELI: Crypto: hardware drmn0: <drmn> on vgapci0 vgapci0: child drmn0 requested pci_enable_io vgapci0: child drmn0 requested pci_enable_io [drm] Unable to create a private tmpfs mount, hugepage support will be disabled(-19). Failed to add WC MTRR for [0x2fc0000000-0x2fdfffffff]: -22; performance may suffer [drm] Got stolen memory base rxaa800000, size 0x2000000 [drm] Supports vblank timestamp caching Rev 2 (21.10.2013). [drm] Driver supports precise vblank timestamp query. [drm] Connector eDP-1: get mode from tunables: [drm] - kern.vt.fb.modes.eDP-1 [drm] - kern.vt.fb.default_mode [drm] Connector DP-1: get mode from tunables: [drm] - kern.vt.fb.modes.DP-1 [drm] - kern.vt.fb.default_mode [drm] Connector HDMI-A-1: get mode from tunables: [drm] - kern.vt.fb.modes.HDMI-A-1 [drm] - kern.vt.fb.default_mode [drm] Connector DP-2: get mode from tunables: [drm] - kern.vt.fb.modes.DP-2 [drm] - kern.vt.fb.default_mode [drm] Connector HDMI-A-2: get mode from tunables: [drm] - kern.vt.fb.modes.HDMI-A-2 [drm] - kern.vt.fb.default_mode [drm] Initialized i915 1.6.0 20171222 for drmn0 on minor 0 VT: Replacing driver "efifb" with new "fb". start FB_INFO: type=11 height=1440 width=2560 depth=32 cmsize=16 size=32763904 pbase=0x2fc0040000 vbase=0xfffffe0094e40000 name=drmn0 flags=0x0 stride=15168 bpp=32 cmap[0]=0 cmap[1]=7f0000 cmap[2]=7f00 cmap[3]=c4a000 end FB_INFO drmn0: fb0: inteldrmfb frame buffer device drmn0: successfully loaded firmware image with name: i915/kbl_dmc_ver1_04.bin [drm] Finished loading DMC firmware i915/kbl_dmc_ver1_04.bin (v1.4) lo0: link state changed to UP hdacc1: Unexpected unsolicited response with tag 63: ffffffff hdacc1: Unexpected unsolicited response with tag 63: ffffffff ig4iic0: <Intel Sunrise Point-LP I2C Controller-0> mem 0x2fe102e000-0x2fe102efff at device 21.0 on pci0 ig4iic0: Using MSI iicbus0: <Philips I2C bus> on ig4iic0 iwm0: <Intel(R) Dual Band Wireless AC 8265> mem 0xec400000-0xec401fff at device 0.0 on pci1 iwm0: hw rev 0x230, fw ver 22.361476.0, address 18:1d:ea:16:cc:77 uaudio0 on uhub2 uaudio0: <vendor 0x046d HD Pro Webcam C920, class 239/2, rev 2.00/0.11, addr 2> on usbus0 uaudio0: No playback. uaudio0: Record: 32000 Hz, 2 ch, 16-bit S-LE PCM format, 2x8ms buffer. uaudio0: Record: 24000 Hz, 2 ch, 16-bit S-LE PCM format, 2x8ms buffer. uaudio0: Record: 16000 Hz, 2 ch, 16-bit S-LE PCM format, 2x8ms buffer. uaudio0: No MIDI sequencer. pcm3: <USB audio> on uaudio0 uaudio0: No HID volume keys found. uhid0 on uhub2 uhid0: <CM Storm Quickfire TKL 6keys, class 0/0, rev 1.10/1.11, addr 3> on usbus0 ums0 on uhub2 ums0: <La-VIEW Technology SteelSeries, class 0/0, rev 2.00/0.00, addr 4> on usbus0 ums0: 8 buttons and [XYZT] coordinates ID=1 wmt0 on uhub0 wmt0: <Multitouch> on usbus0 wmt0: 16 contacts and [C]. Report range [0:0] - [12372:6960] wmt0: 10 feature report contactsuhid1 on uhub0 uhid1: <Pen> on usbus0 wmt0: at uhub0, port 10, addr 8 (disconnected) wmt0: detached uhid1: at uhub0, port 10, addr 8 (disconnected) uhid1: detached wlan0: Ethernet address: 18:1d:ea:16:cc:77 wlan0: link state changed to UP bridge0: Ethernet address: 02:19:47:22:6e:00 bridge0: changing name to 'vm-public' em0: promiscuous mode enabled vm-public: link state changed to UP Security policy loaded: MAC/ntpd (mac_ntpd)
Same here on my X1.
(In reply to Mathias.Picker from comment #0) I meant to write "Charging works fine through USB-C" Not a native speaker ;) Cheers, Mathias
Scott Long, CC'ed is working on this.
Hi, I'm assuming that this is a Thunderbolt 3 port, since it's a USB-C connector and your devices aren't showing up in the OS. There are some unfortunate and confusing hardware design decisions with TB3 that make it hard to work with. I'm finishing up a driver right now and intend to make it available for testing in the next few days. In the mean time, I recommend that you open up the BIOS on the laptop and see if there are any controls related to Thunderbolt 3. If there are, you might find a control for the hardware security model, with options for "none", "user", "display port", and "key exchange", or some similar words. You can try setting the security model to "none" and see if that allows your USB hardware to show up when you plug it in. Even if it does, there might still be some problems with the hardware not working or invoking endless internal resets, but it'll at least be some good data to collect. I'll update this bug report once I have some code that can be tested.
After setting the video ram down to 256Gb I could change the Thunderbold security to "none", but devices on the USB-C still do not show up :( Thanks for the suggestion, though. / Mathias
I switched to -CURRENT and did a BIOS update on Jan 3, now USB-C works. Since I did a BIOS update at the same time, I really do not know what's the actual reason for it to work now. I have switched off Thunderbolt in BIOS, and I don't think I could do this before, so it might well be the bios.