23

Does linux support usb-c yet? So far only the power function seems to work, my phone will start charging when I plug it in.

I'm wondering if Ubuntu supports USB-C yet - in my experience, only the charging feature works when I connect my phone.

Are there extra program needed to enable it?

If it is not available at all yet, is there a good place to follow progress on the development?

6
  • 1
    It at least partially works with 4.4 kernel. ubuntuforums.org/…
    – oldfred
    Jan 11, 2016 at 14:25
  • @oldfred I do follow that thread I will post an answer here as soon as something valuable shows up.
    – Calin
    Jan 11, 2016 at 17:06
  • What's the make and model of your computer? USB data transfer and video out work with USB type-c adapters on some Dell machines I know. Jan 20, 2016 at 2:28
  • Is the latest XPS 15 with i7 Skylake processor
    – Calin
    Mar 14, 2016 at 20:37
  • Are you sure your phone is in whatever mode it needs to be? Some phones will not show up unless the phone is awake, unlocked, and configured to appear as mass storage. Apr 20, 2016 at 22:58

1 Answer 1

12

There are multiple parts to answer this question, first is does the linux kernel support USB Type-C; the answer is yes. The next thing to consider is, does the kernel you're currently using have that functionality yet? That's probably yes unless you're using a really old version of Ubuntu.

The next part is the important part: Does your USB host controller have a driver in the kernel? To find the answer you can type lspci -d ::0c03 -k you should find output like this:

00:14.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB xHCI (rev 05)
    Subsystem: CLEVO/KAPOK Computer 8 Series/C220 Series Chipset Family USB xHCI
    Kernel driver in use: xhci_hcd
00:1a.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #2 (rev 05)
    Subsystem: CLEVO/KAPOK Computer 8 Series/C220 Series Chipset Family USB EHCI
    Kernel driver in use: ehci-pci

Intel chipsets usually have the best support, and most usb chipset makers claim to have linux support on their websites for their USB Type-C chipsets. If you need more specific information about your type of usb controller, you can ask a question with this information in it.

If you have a driver, then the next part is to see what happens when you plug something in in the kern.log file, type tail -f /var/log/kern.log and plug and unplug some usb type-c device. For a usb-2 device, this is the kind of output one would see:

Jun  3 14:29:24 delen kernel: [10007.452686] usb 3-2: new low-speed USB device number 4 using xhci_hcd
Jun  3 14:29:24 delen kernel: [10007.584351] usb 3-2: New USB device found, idVendor=13ee, idProduct=0001
Jun  3 14:29:24 delen kernel: [10007.584356] usb 3-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Jun  3 14:29:24 delen kernel: [10007.584359] usb 3-2: Product: AND 
Jun  3 14:29:24 delen kernel: [10007.584361] usb 3-2: Manufacturer: MOON
Jun  3 14:29:24 delen kernel: [10007.584363] usb 3-2: SerialNumber: @ɌAB
Jun  3 14:29:24 delen kernel: [10007.584567] usb 3-2: ep 0x81 - rounding interval to 64 microframes, ep desc says 80 microframes
Jun  3 14:29:24 delen kernel: [10007.599137] hidraw: raw HID events driver (C) Jiri Kosina
Jun  3 14:29:24 delen kernel: [10007.604255] usbcore: registered new interface driver usbhid
Jun  3 14:29:24 delen kernel: [10007.604258] usbhid: USB HID core driver
Jun  3 14:29:24 delen kernel: [10007.606568] input: MOON AND  as /devices/pci0000:00/0000:00:14.0/usb3/3-2/3-2:1.0/0003:13EE:0001.0001/input/input26
Jun  3 14:29:24 delen kernel: [10007.606725] hid-generic 0003:13EE:0001.0001: input,hidraw0: USB HID v1.00 Mouse [MOON AND ] on usb-0000:00:14.0-2/input0
Jun  3 14:29:27 delen kernel: [10010.189280] usb 3-2: USB disconnect, device number 4

If you see nothing happening, then you don't have a driver or it doesn't really work (or the thing you're trying to plug in is switch off or broken).

You can use the log information above to understand what might be happening, it documents things like device use switching (power vs. data vs. display) and can tell you a lot about why the mode you want isn't being used.

The last part of usb type-c is as a display port. I could only find information about Google Chromebooks which have this port and no information about if the functionality had made its way into the mailline kernel (google does not always push for upstream patches of it's kernel code).

5
  • Thanks for the comment, my usb-c issues was a little weird it the latest kernel's the detection strated working but there where other issues bugzilla.opensuse.org/show_bug.cgi?id=973138
    – Calin
    Jun 5, 2016 at 14:59
  • Good to hear it was a driver issue, can you comment on which driver it was for the record? Jun 8, 2016 at 1:26
  • Not sure how to figure that out, I've switched computers in the mean time
    – Calin
    Jun 8, 2016 at 9:16
  • Matches my experience on Dell precision 5510 and ubuntu 16.04. The ethernet port on the Dell 4 plug dongle worked fine from start. The USB-2 plug in the USB_c dongle did work for a while, but quit when kernel updated. I don't have power connecter to test USB-C ability to receive power.
    – pauljohn32
    Oct 14, 2016 at 5:14
  • I will mark this as answer, looks like a very good detailed explanation, unfortunately I don't own a Dell anymore.
    – Calin
    Apr 8, 2017 at 16:44

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.