장치가 USB 3 포트에 연결되었는지 어떻게 확인할 수 있나요?

장치가 USB 3 포트에 연결되었는지 어떻게 확인할 수 있나요?

내 컴퓨터에는 여러 개의 USB 포트(일부는 USB 2, 일부는 USB 3)가 있습니다. 장치를 USB 3 포트에 연결하고 싶습니다. 안타깝게도 모두 검은색이어서 일반적인 "USB 3.0 포트는 파란색"이라는 경험 법칙을 사용할 수 없습니다.

이것은 Linux 상자이므로 명령줄 유틸리티를 사용하거나 일부 커널 메시지를 검사하여 장치를 USB 3 포트에 연결했는지 알 수 있는 방법이 있습니까?

답변1

다음을 실행하여 USB 버전을 확인할 수 있습니다.lsusb

  • 12M = 12MBit/s = USB1
  • 480M = 480MBit/s = USB2
  • 5000M = 5000MBit/s = USB3.0(일명 USB3.1 Gen) 1
  • 10000M = 10000MBit/s = USB3.1 세대. 2

다음과 같은 것을 사용해 보십시오:

lsusb -D /dev/bus/usb/002/005

USB 2.00/3.00은 USB 2.0/3.0에 해당합니다.

아마도 사용해 볼 수도 있습니다.lsusb -t

첫 번째 변환 차트는 USB 버전을 결정하는 데 도움이 됩니다.

보세요이것더 많은 예시를 보려면 링크를 클릭하세요.

답변2

@MarkHu와 @Matthew가 언급했듯이 현재 허용되는 답변(lsusb -D)은 실제 속도가 아닌 장치에서 지원하는 속도를 나열하므로 오해의 소지가 있을 수 있습니다. 또는 적어도 출력을 사용하여 현재 장치 속도를 찾을 수 없었습니다.

USB 3 속도를 협상하지 않으면 USB 3 포트인지 여부가 중요합니까?

Linux 상자에서 실제 속도를 보는 것은 약간 번거롭습니다. lsusb는 현재 즉시 사용 가능한 솔루션을 제공하지 않는 것 같습니다. 그것이 내가 일하는 것을 발견한 것입니다. 먼저, 연결된 장치와 허브를 모두 나열하여 장치를 식별하세요.

> lsusb
Bus 002 Device 003: ID 0424:2660 Microchip Technology, Inc. (formerly SMSC) Hub
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching 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 005 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 004: ID 1058:25ee Western Digital Technologies, Inc.
Bus 001 Device 003: ID 051d:0002 American Power Conversion Uninterruptible Power Supply
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

제 경우에는 외부 WD MyBook 디스크의 속도를 살펴보고 있습니다. 따라서 흥미로운 내용은 다음과 같습니다.

Bus 001 Device 004: ID 1058:25ee Western Digital Technologies, Inc.

그러나 "Bus 001 Device 004" 부분은 현재 장치 속도를 찾는 데 유용하지 않은 것 같습니다. 대신 콜론으로 구분된 두 개의 숫자 1058:25ee, 즉 해당 장치의 공급업체 ID와 제품 ID가 필요합니다.

이제 /sys/devices파일 내용에 대한 디렉터리를 확인하고 idVendor위에서 공급업체 ID를 찾아야 합니다(1058을 자신의 공급업체 ID로 교체).

> find /sys/devices/ -name idVendor -print -exec cat {} \; | grep -B 1 1058
./pci0000:00/0000:00:1a.0/usb1/1-1/1-1.6/idVendor
1058

이제 위의 출력 경로를 선택하고 idVendor다음으로 바꾸고 speed내용을 살펴보세요.

> cat ./pci0000:00/0000:00:1a.0/usb1/1-1/1-1.6/speed
480

이렇게 하면 480Mbps USB 2.0 연결을 찾을 수 있습니다.

연결된 장치가 여러 개인 경우 idProduct콘텐츠도 확인할 수 있습니다. 여러 개 가지고 있다면동일한장치의 내용 serial도 찾아보세요.

답변3

내 경험에 따르면 lsusb -D장치가 연결된 잭 유형에 따라 현재 활성화되지 않은 "기능"이 보고되면 명령이 오해의 소지가 있을 수 있습니다. 필터링된 출력의 아래 예를 참조하십시오(전체 출력은 sudo lsusb -D ${USB_DEVICE_PATH}80개 이상의 라인이었습니다). 이 예에서는 비교를 위해 드라이브를 USB 2 잭에 연결했을 때 해당 라인이 여전히 존재했음을 bcdUSB 3.00암시해야 한다고 추론합니다.Device can operate at SuperSpeed (5Gbps)

$ lsusb -D /dev/bus/usb/007/003 | egrep -i 'usb|speed|version|Mbps|gbps|id|speed'

Device: ID 174c:1153 ASMedia Technology Inc. ASM2115 SATA 6Gb/s bridge
  bcdUSB               3.00
  idVendor           0x174c ASMedia Technology Inc.
  idProduct          0x1153 ASM2115 SATA 6Gb/s bridge

  SuperSpeed USB Device Capability:
    wSpeedsSupported   0x000e
      Device can operate at Full Speed (12Mbps)
      Device can operate at High Speed (480Mbps)
      Device can operate at SuperSpeed (5Gbps)
      Lowest fully-functional device speed is Full Speed (12Mbps)

또한 해당 행 에는 달성 가능한 속도로 해석되어서는 안되는 idProduct일부 권고/마케팅 텍스트가 포함되어 있습니다 .6Gb/s

더 유용할 수 있는 대체 짧은 명령:

$ sudo lsusb -t | egrep -i "storage" -B1

/:  Bus 07.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 5000M
    |__ Port 1: Dev 3, If 0, Class=Mass Storage, Driver=usb-storage, 5000M

답변4

연결의 실제 속도(lsusb에서 보고한 용량과 반대)를 확인하려면 /sys/devices에서 "속도" 파일을 읽을 수 있습니다. 장치를 자유롭게 연결하고 연결 해제할 수 있다고 가정하면 다음 스크립트를 사용하여 프로세스를 반자동으로 만들 수 있습니다. 전체 목록을 가져오는 또 다른 스크립트는 아래에 설명되어 있습니다.

  1. 장치를 분리하세요
  2. 스크립트를 시작합니다. 장치를 연결하고 ENTER를 누르라는 메시지가 표시됩니다.
  3. 장치를 연결하세요
  4. 엔터 키를 치시오
  5. 스크립트는 해당 연결 속도를 보고합니다.
/sys/devices/pci0000:00/0000:00:14.0/usb1/1-2/speed    480

또는:

/sys/devices/pci0000:00/0000:00:14.0/usb2/2-3/2-3.3/2-3.3.1/speed    5000

가능한 속도(Mbit/s)는 다음과 같습니다.

  • 1.5 = USB 1.0/저속
  • 12 = USB 1.1/전속력
  • 480 = USB 2.0/고속
  • 5000 = USB 3.0/초고속
  • 10000 = USB 3.1/초고속

그리고 여기 스크립트가 있습니다. 나는 그것을 이렇게 부른다 usbspeed-get:

#!/bin/bash
# https://superuser.com/a/1780101/
set -e

LIST1=`mktemp`
LIST2=`mktemp`
echo "Getting list of current devices..."
find /sys/devices -name speed | sort > "$LIST1"
echo -n "Now plug the relevant USB device and press ENTER..."
read dummy
find /sys/devices -name speed | sort > "$LIST2"

comm -3 "$LIST1" "$LIST2" | while read f ; do
echo -n "$f" " "
cat "$f"
done | column -t -s' '

rm  "$LIST1" "$LIST2"

모든 장치 및 속도에 대한 개요를 보려면 다음 스크립트를 사용할 수 있습니다. 나는 그것을 부른다 usbspeed-list.

#!/bin/bash
# https://superuser.com/a/1780101/

sep="|"
find /sys/devices -name speed | grep usb  | while read f ; do
  dir=`dirname "$f"`
  for name in speed manufacturer product ; do
     cat "$dir/$name" 2>/dev/null | tr '\n' ' ' 
     echo -n "$sep"
  done
  echo -n "$dir$sep"
  echo
done | column -t --separator "$sep"

기본적으로 /sys/devices에 있는 순서대로 장치를 출력합니다. 속도별로 정렬하려면 다음과 결합할 수 있습니다 sort -n.

usbspeed-list | sort -n
1.5                                        Keyboard                    /sys/devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3.4/1-3.4.4/1-3.4.4.2              
1.5     Texas Instruments                  TPS65983B                   /sys/devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3.3/1-3.3.2                        
12      Silicon Laboratories               EFM8 HID ISP                /sys/devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3.3/1-3.3.3                        
12                                                                     /sys/devices/pci0000:00/0000:00:14.0/usb1/1-14                                     
480     GenesysLogic                       USB2.0 Hub                  /sys/devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3.4/1-3.4.4                        
480     GenesysLogic                       USB2.0 Hub                  /sys/devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3.4/1-3.4.4/1-3.4.4.4              
480     Linux 5.19.0-38-generic xhci-hcd   xHCI Host Controller        /sys/devices/pci0000:00/0000:00:14.0/usb1                                          
480     Sonix Technology Co., Ltd.         USB2.0 Camera               /sys/devices/pci0000:00/0000:00:14.0/usb1/1-8                                      
480                                        USB2.0 Hub                  /sys/devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3.4/1-3.4.4/1-3.4.4.1              
480     VIA Labs, Inc.                     USB2.0 Hub                  /sys/devices/pci0000:00/0000:00:14.0/usb1/1-3                                      
480     VIA Labs, Inc.                     USB2.0 Hub                  /sys/devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3.3                                
480     VIA Labs, Inc.                     USB2.0 Hub                  /sys/devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3.4                                
1000                                                                   /sys/devices/pci0000:00/0000:00:14.0/usb2/2-3/2-3.1/2-3.1:1.5/net/enx806d9711f2b1  
5000    DisplayLink                        USB-C Triple-4K Dock        /sys/devices/pci0000:00/0000:00:14.0/usb2/2-3/2-3.1                                
5000    Generic                            USB Storage                 /sys/devices/pci0000:00/0000:00:14.0/usb2/2-3/2-3.4/2-3.4.4/2-3.4.4.4/2-3.4.4.4.4  
5000    GenesysLogic                       USB3.0 Hub                  /sys/devices/pci0000:00/0000:00:14.0/usb2/2-3/2-3.4/2-3.4.4                        
5000    GenesysLogic                       USB3.0 Hub                  /sys/devices/pci0000:00/0000:00:14.0/usb2/2-3/2-3.4/2-3.4.4/2-3.4.4.4              
5000    Prolific Technology Inc.           ATAPI-6 Bridge Controller   /sys/devices/pci0000:00/0000:00:14.0/usb2/2-2                                      
5000    Seagate                            BUP Portable                /sys/devices/pci0000:00/0000:00:14.0/usb2/2-3/2-3.2                                
5000    Space keys                         USB3.1 Storage Device       /sys/devices/pci0000:00/0000:00:14.0/usb2/2-3/2-3.3/2-3.3.1                        
5000    VIA Labs, Inc.                     USB3.0 Hub                  /sys/devices/pci0000:00/0000:00:14.0/usb2/2-3                                      
5000    VIA Labs, Inc.                     USB3.0 Hub                  /sys/devices/pci0000:00/0000:00:14.0/usb2/2-3/2-3.3                                
5000    VIA Labs, Inc.                     USB3.0 Hub                  /sys/devices/pci0000:00/0000:00:14.0/usb2/2-3/2-3.4                                
10000   Linux 5.19.0-38-generic xhci-hcd   xHCI Host Controller        /sys/devices/pci0000:00/0000:00:14.0/usb2 

여기서 키보드는 정상인 매우 낮은 속도(1.5)로 연결되고, USB 하드 디스크 도크(ATAPI-6 브리지 컨트롤러)는 5000MBit/s로 연결됩니다.

장치와 속도를 나열하는 또 다른 방법은 다음에서 제공하는 "usb-devices" 스크립트입니다.usbutils일부 배포판에서는 기본적으로 설치됩니다. 더 일반적이지만 매우 장황합니다. 장치 설명의 첫 번째 줄에 속도가 보고됩니다.

T:  Bus=02 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#= 44 Spd=5000 MxCh= 0
D:  Ver= 3.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 9 #Cfgs=  1
P:  Vendor=067b ProdID=2773 Rev=01.00
S:  Manufacturer=Prolific Technology Inc.
S:  Product=ATAPI-6 Bridge Controller
S:  SerialNumber=0123456789000000005
C:  #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr=96mA
I:  If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage
E:  Ad=01(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms
E:  Ad=84(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms

최신 버전을 사용하고 있는지 확인하세요. Ubuntu 22.04와 함께 제공되는 버전에는 모든 장치가 나열되지 않습니다.

관련 정보