How can I enable USB type C connectors on 15.10?

Solution 1:

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).