Come faccio a sapere la velocità USB da un terminale?


15

Sto usando Ubuntu 12.04. Sono qui per sapere che esiste un modo per osservare la velocità di scrittura e lettura dell'USB attraverso il terminale.

Risposte:


6

È possibile utilizzare rsyncper fornire un'approssimazione della velocità di trasferimento, anche se varierà a seconda che vengano trasferiti file piccoli o grandi e che la destinazione sia un'unità flash lenta o un disco rigido esterno veloce. Per esempio:

rsync -avviu ~/Videos /media/Mik2

sent 874419803 bytes  received 149 bytes  4427442.79 bytes/sec
total size is 874312527  speedup is 1.00

(Inoltre, se apri tail -f /var/log/kern.loge poi colleghi il tuo dispositivo puoi vedere se è configurato per ehci (interfaccia controller host migliorata), che supporta le velocità USB 2. Ad esempio, il registro del kernel dovrebbe indicare 'nuovo dispositivo USB ad alta velocità ... usando ehci_hcd '.)


Immagino che questo abbia anticipato il motivo della domanda, ma non ha risposto alla domanda come posta.
— MC0e

13

Lo pvstrumento consente di visualizzare il throughput dei dati che lo attraversano. Dopo aver installato il pacchetto, è possibile eseguire un comando come il seguente per visualizzare la velocità di scrittura:

$ cat /dev/zero | pv > /media/some_usb/tmp123

203.1MiB 0:00:02 [100.2MiB/s] [ <=>                   ]

Per la lettura, eseguire l'operazione opposta utilizzando il tmp123file appena creato :

$ cat /media/some_usb/tmp123 | pv > dev/null

Questo approccio sembra fornire risultati di runtime misurabili ed effettivi.
— AjayKumarBasuthkar,

9

Ero curioso di questo perché avevo un SSD SATA 3 che volevo usare per elaborare alcuni file video (per mantenere le attese di I / O al minimo) ma avevo solo porte SATA 2 (3Gbps) disponibili sul sistema, ma anche un Porta USB3 disponibile.

È possibile determinare la velocità massima teorica della porta per ciascuna porta USB con il comando sudo lsusb -vvv |grep -i -B5 -A5 bcdUSB

La linea bcdUSB restituisce la versione USB della porta.

Un esempio da uno dei miei sistemi:

Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            9 Hub
  bDeviceSubClass         0 Unused
  bDeviceProtocol         1 Single TT
  bMaxPacketSize0        64
  idVendor           0x8087 Intel Corp.
--
   Port 7: 0000.0100 power
   Port 8: 0000.0100 power
Device Qualifier (for other device speed):
  bLength                10
  bDescriptorType         6
  bcdUSB               2.00
  bDeviceClass            9 Hub
  bDeviceSubClass         0 Unused
  bDeviceProtocol         0 Full speed (or root) hub
  bMaxPacketSize0        64
  bNumConfigurations      1
--

Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            9 Hub
  bDeviceSubClass         0 Unused
  bDeviceProtocol         0 Full speed (or root) hub
  bMaxPacketSize0        64
  idVendor           0x1d6b Linux Foundation
--

Bus 001 Device 003: ID 10d5:5a08 Uni Class Technology Co., Ltd 
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               1.10
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0         8
  idVendor           0x10d5 Uni Class Technology Co., Ltd
--

Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            9 Hub
  bDeviceSubClass         0 Unused
  bDeviceProtocol         1 Single TT
  bMaxPacketSize0        64
  idVendor           0x8087 Intel Corp.
--
   Port 5: 0000.0100 power
   Port 6: 0000.0303 lowspeed power enable connect
Device Qualifier (for other device speed):
  bLength                10
  bDescriptorType         6
  bcdUSB               2.00
  bDeviceClass            9 Hub
  bDeviceSubClass         0 Unused
  bDeviceProtocol         0 Full speed (or root) hub
  bMaxPacketSize0        64
  bNumConfigurations      1
--

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            9 Hub
  bDeviceSubClass         0 Unused
  bDeviceProtocol         0 Full speed (or root) hub
  bMaxPacketSize0        64
  idVendor           0x1d6b Linux Foundation
--

Bus 004 Device 002: ID 174c:5106 ASMedia Technology Inc. Transcend StoreJet 25M3
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               3.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0         9
  idVendor           0x174c ASMedia Technology Inc.
--

Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               3.00
  bDeviceClass            9 Hub
  bDeviceSubClass         0 Unused
  bDeviceProtocol         3 
  bMaxPacketSize0         9
  idVendor           0x1d6b Linux Foundation
--

Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            9 Hub
  bDeviceSubClass         0 Unused
  bDeviceProtocol         1 Single TT
  bMaxPacketSize0        64
  idVendor           0x1d6b Linux Foundation

O l'alternativa semplice e veloce lsusb -tfornisce un output come questo:

/:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M
    |__ Port 4: Dev 2, If 0, Class=Mass Storage, Driver=usb-storage, 5000M
/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 480M
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/2p, 480M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/8p, 480M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/2p, 480M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/6p, 480M
        |__ Port 6: Dev 3, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
        |__ Port 6: Dev 3, If 1, Class=Human Interface Device, Driver=usbhid, 1.5M

Dato che i 5 Gbps disponibili tramite USB3 erano molto più vicini ai 6 Gbps a cui è classificato SATA 3, ho deciso di collegare l'unità lì Bus 004 Device 002 (tramite adattatore Asmedia USB3toSATA). I risultati sono stati abbastanza soddisfacenti.

Fonti: questa pagina

Sperimentazione

https://en.wikipedia.org/wiki/USB

https://en.wikipedia.org/wiki/Serial_ATA Come trovare la velocità dell'hub USB


Esiste un modo per correlare tali informazioni con un nodo dispositivo?
— Melab,

@Melab Sembra ovvio nella maggior parte dei casi dato l'output di comandi like lsblke il contenuto di file come [etc / mtab] Se hai una nuova domanda, sentiti libero di chiedere usando il pulsante [Ask Question] ( askubuntu.com/questions/ chiedi ) nell'angolo in alto a destra della pagina.
— Elder Geek,


2

Prova con questo:

$ sudo lsusb -vvv

Quindi, dai un'occhiata alle voci denominate bDeviceProtocol e bInterfaceProtocol


1
"bInterfaceProtocol 80 Solo in blocco" "bDeviceProtocol 0" significa cosa? Ma questa risposta non è adatta alla mia domanda. Grazie, :)
— rʒɑdʒɑ

Hai usato l'opzione -vvv? Nel mio computer, c'è una descrizione associata al valore 0: "0 Hub full speed (o root)"
— jap1968


Hai ragione. Questa informazione sembra apparire solo su alcuni dispositivi.
— jap1968,

1
@Raja, Run sudo lsusb -vvv |grep -i -B5 -A5 bDeviceProtocol. Quindi guardare le voci elencate come Hub bDeviceClass.
— Cerin,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.