Które gniazdo USB to 2.0 lub 3.0? Skąd mam wiedzieć?

18

Chciałbym wiedzieć, czy mój komputer stacjonarny obsługuje USB 3.0, ale z danych wyjściowych poniżej wydaje się to mało prawdopodobne.

Otrzymuję następujące dane wyjściowe z lspci:

root@liv-HP-Compaq-dc7900:/home/liv# lspci -v | grep -i usb
00:1a.0 USB controller: Intel Corporation 82801JD/DO (ICH10 Family) USB UHCI Controller #4 (rev 02) (prog-if 00 [UHCI])
00:1a.1 USB controller: Intel Corporation 82801JD/DO (ICH10 Family) USB UHCI Controller #5 (rev 02) (prog-if 00 [UHCI])
00:1a.2 USB controller: Intel Corporation 82801JD/DO (ICH10 Family) USB UHCI Controller #6 (rev 02) (prog-if 00 [UHCI])
00:1a.7 USB controller: Intel Corporation 82801JD/DO (ICH10 Family) USB2 EHCI Controller #2 (rev 02) (prog-if 20 [EHCI])
00:1d.0 USB controller: Intel Corporation 82801JD/DO (ICH10 Family) USB UHCI Controller #1 (rev 02) (prog-if 00 [UHCI])
00:1d.1 USB controller: Intel Corporation 82801JD/DO (ICH10 Family) USB UHCI Controller #2 (rev 02) (prog-if 00 [UHCI])
00:1d.2 USB controller: Intel Corporation 82801JD/DO (ICH10 Family) USB UHCI Controller #3 (rev 02) (prog-if 00 [UHCI])
00:1d.7 USB controller: Intel Corporation 82801JD/DO (ICH10 Family) USB2 EHCI Controller #1 (rev 02) (prog-if 20 [EHCI])

I od lsusb:

root@liv-HP-Compaq-dc7900:/home/liv# lsusb 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 002: ID 0cf3:9271 Atheros Communications, Inc. AR9271 802.11n
Bus 004 Device 002: ID 046d:c52b Logitech, Inc. Unifying Receiver
Bus 002 Device 004: ID 090c:1000 Silicon Motion, Inc. - Taiwan (formerly Feiya Technology Corp.) 64MB QDI U2 DISK

Po wykryciu wszystkich portów USB wykrytych jako USB 1.0, a nie USB 2.0 , publikuję również dane wyjściowe lsusb -t:

root@liv-HP-Compaq-dc7900:/home/liv# lsusb -t
/:  Bus 08.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/:  Bus 07.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/:  Bus 06.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/:  Bus 05.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
    |__ Port 2: Dev 2, If 0, Class=HID, Driver=usbhid, 12M
    |__ Port 2: Dev 2, If 1, Class=HID, Driver=usbhid, 12M
    |__ Port 2: Dev 2, If 2, Class=HID, Driver=usbhid, 12M
/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci_hcd/6p, 480M
    |__ Port 5: Dev 6, If 0, Class=stor., Driver=usb-storage, 480M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci_hcd/6p, 480M
    |__ Port 3: Dev 2, If 0, Class=vend., Driver=ath9k_htc, 480M

Czy rozumiem poprawnie, że tylko dwa gniazda obsługują USB 2.0? A jeśli tak, to w jaki sposób mogę dokładnie określić, które fizyczne gniazdo obsługuje USB 2.0?

landroni
źródło

Odpowiedzi:

8

Jest wiele pytań.

W przypadku pierwszego zestawu pytań chipset komputera nie obsługuje USB3. Możesz dodać kartę wtyczki, która zapewnia porty USB3 - w takim przypadku tylko porty podane na karcie to USB3, a istniejące porty pozostają USB2. Zobacz http://www.newegg.com/Product/Product.aspx?Item=N82E16815166026 (dla laptopa) lub http://www.newegg.com/Product/Product.aspx?Item=N82E16839314014 (dla komputera stacjonarnego ) jako przykład.

Jeśli chodzi o twoje ostatnie pytanie, które porty to USB1, a które USB2: Wszystkie porty są oba.

Kontrolery USB1 (UHCI) w standardzie USB nazywane są „kontrolerami towarzyszącymi”. Domyślnie wszystkie porty są tam kierowane (dla zgodności z systemami operacyjnymi bez sterownika EHCI), ale w sposób, który może przejąć kontroler USB2 (EHCI), jeśli sterownik USB wykryje urządzenie USB2.

Oznacza to, że po podłączeniu urządzenia USB1 (np. Klawiatury) i urządzenia USB2 (np. Pendrive'a) do tego samego portu, pojawią się one w różnych miejscach wyjścia lsusb. Urządzenie USB2 skończy się na kontrolerze EHCI, a urządzenie USB1 na kontrolerze UHCI. Nie ma relacji 1: 1 między portami fizycznymi a kontrolerami.

Możesz określić tryb, w którym działa urządzenie w lsusb w samej linii urządzenia Port 2: Dev 2, If 0, Class=HID, Driver=usbhid, 12M:, 12M oznacza 12 MBit / s = USB1, 480 M = 480 MBit / s = USB2, 5000 M = 5000 MBit / s = USB3.

Z USB3 jest inaczej, ponieważ ma inny projekt portu - 9 linii w dwóch rzędach zamiast 4 w jednym, a wiele urządzeń jest wyposażonych w dedykowane porty USB3 i niektóre dodatkowe porty USB2 (ponieważ są tańsze).

Aby łatwo je zidentyfikować, standard USB3 nakazuje, aby porty USB3 musiały mieć niebieską wkładkę.

Patrick Georgi
źródło
Bardzo interesujące! Kiedy mówisz, że „chipset komputera nie obsługuje [USB3]”, czy masz na myśli, że nie ma gniazd USB3 lub że płyta główna nie jest w stanie zrozumieć USB3? Zasadniczo, czy istnieje sposób na dodanie USB3kontrolera do komputera stacjonarnego?
landroni
1
Płyta główna nie jest w stanie obsługiwać USB3. Możesz dodać kartę USB3, aby dodać obsługę (i nie będzie też portów USB3 - dlaczego mieliby je dodawać, nawet zakładając, że istniały już w momencie projektowania płyty głównej?) W takim przypadku masz jeden lub dwa porty USB3 na karcie, a stare porty USB2 „jak zwykle”, tylko USB2. Przykłady podano na stronie newegg.com/Product/Product.aspx?Item=N82E16815166026 (laptop) lub newegg.com/Product/Product.aspx?Item=N82E16839314014 (komputer stacjonarny)
Patrick Georgi
Kolejne pytanie: „Urządzenie USB2 skończy na kontrolerze EHCI, podczas gdy urządzenie USB1 skończy na kontrolerze UHCI.”. Czy to oznacza, że ​​po podłączeniu urządzenia mogę sprawdzić, czy działa ono pod USB1 lub USB2, po prostu sprawdzając lsusb -ti sprawdzając, czy urządzenie używa EHCIi reklamuje 480MB(weź usb-storageurządzenie w PO)?
landroni
1
Możesz określić tryb działania urządzenia w lsusb w samej linii urządzenia: „Port 2: Dev 2, If 0, Class = HID, Driver = usbhid, 12M”, 12M oznacza 12 MBit / s = USB1, 480M = 480 MBit / s = USB2, 5000 M = 5000 MB / s = USB3.
Patrick Georgi
Dzięki, to odpowiada na moje pytanie. Jeśli chodzi o mnie, dwa komentarze, które tu napisałeś, są warte uwzględnienia w samej odpowiedzi.
landroni
18

Według strony Wikipedii na USB :

Zabarwienie

Porty i złącza są często oznaczone kolorami w celu rozróżnienia różnych funkcji. Te kolory nie są częścią specyfikacji USB i mogą różnić się w zależności od producenta.

- USB 1.x               White
- USB 2.0               Black, sometimes white
- USB 3.0               Blue
- Sleep-and-charge      Yellow or red

Jako dodatkowy identyfikator, jeśli spojrzysz na stronę Wikipedii USB 3.0 :

Po raz pierwszy wprowadzony w 2008 roku, USB 3.0 dodaje nowy tryb przesyłania zwany „SuperSpeed” (odróżnialny od USB 2.0 albo niebieskim kolorem portu lub inicjałami SS)

tak dobrze jak to:

Ponieważ porty USB 2.0 i USB 3.0 mogą współistnieć na tym samym komputerze i wyglądają podobnie, złącze USB 3.0 Standard-A ma niebieską wkładkę (kolor Pantone 300C). To samo kodowanie kolorów dotyczy wtyczki USB 3.0 Standard-A.

Jeśli chodzi o okablowanie (a czasami same porty, zauważ „SS” na okablowaniu, oznacza to Super Speed, które jest nazwą dla USB 3.0.

                                       ss of SS

Z linii poleceń?

lsusb

Możesz także użyć lsusbdo określenia, które porty są sklasyfikowane jako USB 2 vs. 3 w następujący sposób:

$ sudo lsusb -v | grep -iE "Bus|^Device Desc|bcdusb"
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Device Descriptor:
  bcdUSB               2.00
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Device Descriptor:
  bcdUSB               2.00
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Device Descriptor:
  bcdUSB               1.10
...
...
Bus 010 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Device Descriptor:
  bcdUSB               3.00

UWAGA: każde urządzenie, które ma, 1.10jest jednym z typowo żółtych portów USB, które są zawsze włączone.

lspci

Możesz także zrobić coś podobnego lspci.

$ sudo lspci | grep USB
00:1a.0 USB controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #4
00:1a.1 USB controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #5
00:1a.2 USB controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #6
00:1a.7 USB controller: Intel Corporation 82801JI (ICH10 Family) USB2 EHCI Controller #2
00:1d.0 USB controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #1
00:1d.1 USB controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #2
00:1d.2 USB controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #3
00:1d.7 USB controller: Intel Corporation 82801JI (ICH10 Family) USB2 EHCI Controller #1
02:00.0 USB controller: NEC Corporation uPD720200 USB 3.0 Host Controller (rev 03)

Ponownie na wyjściu, porty oznaczone jako USBsą zawsze zasilane (np. Porty uśpienia i ładowania ), podczas gdy USB2i USB 3.0są odpowiednio oznaczone.

slm
źródło
Co oznacza typ „zawsze włączony”?
landroni
1
@landroni - gdy laptop lub system jest zawieszony lub wyłączony, porty te są nadal zasilane. Są przeznaczone przede wszystkim do ładowania urządzeń.
slm
@landroni - aby odpowiedzieć na pytanie, czy twój system ma USB 3, podana przez Ciebie jednostka wyjściowa powiedziałaby „nie”. Ale miej to na uwadze. Mam 2 identyczne systemy, jeden z systemem CentOS 5, a drugi 6. System ma porty USB 3, ale CentOS 5 nie może z nich korzystać, podczas gdy CentOS 6 może, w oparciu o polecenia pokazane w moim A.
slm
Czy to oznacza, że USBkontrolery działają wolniej niż USB2? (Przepraszam, wciąż próbuję nadać sens całemu temu
wynikowi
@landroni - Tak. Sądzę, że są to zwykłe porty USB 1.1, oparte na wyjściu z lsusbgóry, z perf. punkt widzenia.
slm