Jak mogę włączyć złącza USB typu C w 15.10?

21

Czy Linux obsługuje już USB-C? Do tej pory wydaje się, że działa tylko funkcja zasilania, mój telefon zacznie się ładować po podłączeniu.

Zastanawiam się, czy Ubuntu obsługuje jeszcze USB-C - z mojego doświadczenia wynika, że ​​tylko funkcja ładowania działa po podłączeniu telefonu.

Czy potrzebny jest dodatkowy program, aby to umożliwić?

Jeśli nie jest jeszcze w ogóle dostępny, czy jest dobre miejsce do śledzenia postępów w rozwoju?

Calin
źródło
1
Działa przynajmniej częściowo z jądrem 4.4. ubuntuforums.org/…
oldfred
@oldfred Śledzę ten wątek, opublikuję tutaj odpowiedź, gdy tylko pojawi się coś cennego.
Calin
Jaka jest marka i model twojego komputera? Przesyłanie danych USB i wyjście wideo działają z adapterami USB typu c na niektórych urządzeniach Dell, które znam.
Anthony Wong,
Jest najnowszym XPS 15 z procesorem i7 Skylake
Calin
Czy na pewno Twój telefon jest w jakimkolwiek trybie, w jakim powinien być? Niektóre telefony nie pojawią się, chyba że telefon będzie w stanie czuwania, odblokowany i skonfigurowany tak, aby pojawiał się jako pamięć masowa.
Ktoś gdzieś

Odpowiedzi:

8

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.logpliku, wpisz tail -f /var/log/kern.logi 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).

Martin Owens -doctormo-
źródło
Dzięki za komentarz, moje problemy z USB-C były trochę dziwne, że najnowsze jądro rozpoczęło się wykrywanie, ale tam, gdzie inne problemy bugzilla.opensuse.org/show_bug.cgi?id=973138
Calin
Dobrze słyszeć, że był to problem ze sterownikiem. Czy możesz skomentować, który sterownik był dla rekordu?
Martin Owens -doctormo-
Nie jestem pewien, jak to wymyślić, w międzyczasie
zmieniłem
Odpowiada mojemu doświadczeniu na Dell Precision 5510 i Ubuntu 16.04. Port Ethernet w donglu wtyczki Dell 4 działał dobrze od samego początku. Wtyczka USB-2 w kluczu USB_c działała przez jakiś czas, ale zakończyła się po aktualizacji jądra. Nie mam złącza zasilania, aby przetestować zdolność USB-C do odbierania zasilania.
pauljohn32
Oznaczę to jako odpowiedź, wygląda na bardzo dobre szczegółowe wyjaśnienie, niestety nie mam już Dell.
Calin