Na wiele pytań można odpowiedzieć na wiele pytań, po pierwsze, czy jądro Linuksa obsługuje USB Type-C; odpowiedź brzmi tak. Następną rzeczą do rozważenia jest to, czy jądro, którego obecnie używasz, ma tę funkcję? Prawdopodobnie tak, chyba że używasz naprawdę starej wersji Ubuntu.
Następna część jest ważna: Czy kontroler hosta USB ma sterownik w jądrze? Aby znaleźć odpowiedź, którą możesz wpisać lspci -d ::0c03 -k
, powinieneś znaleźć dane wyjściowe w następujący sposób:
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
Chipsety Intel zazwyczaj mają najlepszą obsługę, a większość producentów chipsetów USB twierdzi, że ma wsparcie linux na swoich stronach internetowych dla ich chipsetów USB typu C. Jeśli potrzebujesz bardziej szczegółowych informacji o swoim typie kontrolera USB, możesz zadać pytanie, podając te informacje.
Jeśli masz sterownik, następną częścią jest sprawdzenie, co się stanie, gdy podłączysz coś do kern.log
pliku, wpisz tail -f /var/log/kern.log
i podłącz i odłącz urządzenie USB typu C. W przypadku urządzenia USB-2 jest to rodzaj wyjścia, jaki można zobaczyć:
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
Jeśli nic się nie dzieje, oznacza to, że nie masz sterownika lub nie działa on tak naprawdę (lub próbujesz go podłączyć lub wyłączyć).
Możesz użyć powyższych informacji dziennika, aby zrozumieć, co się dzieje, dokumentuje takie rzeczy, jak przełączanie urządzeń (moc vs. dane vs. wyświetlanie) i może powiedzieć ci wiele o tym, dlaczego nie chcesz używać wybranego trybu.
Ostatnią częścią USB typu c jest port wyświetlania. Mogłem tylko znaleźć informacje na temat Chromebooków Google, które mają ten port, i żadnych informacji o tym, czy ta funkcjonalność trafiła do jądra mailline (Google nie zawsze naciska na wcześniejsze poprawki swojego kodu jądra).