Obtendo Velocidade de Link da Ethernet USB

2

Como obter velocidade de link da Ethernet USB?

$ sudo ethtool enp0s20u2c2
Settings for enp0s20u2c2:
    Current message level: 0x00000007 (7)
                           drv probe link
    Link detected: yes

$ sudo mii-tool enp0s20u2c2
SIOCGMIIPHY on 'enp0s20u2c2' failed: Operation not supported

$ ifconfig
enp0s20u2c2: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
    inet 10.0.0.6  netmask 255.0.0.0  broadcast 10.255.255.255
    inet6 fe80::f6f2:6dff:fe18:fb0b  prefixlen 64  scopeid 0x20<link>
    ether f4:f2:6d:18:fb:0b  txqueuelen 1000  (Ethernet)
    RX packets 91635  bytes 108661674 (103.6 MiB)
    RX errors 0  dropped 0  overruns 0  frame 0
    TX packets 82066  bytes 20398670 (19.4 MiB)
    TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

enp3s0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
    ether 8c:89:a5:0e:da:e2  txqueuelen 1000  (Ethernet)
    RX packets 274813965  bytes 281606620432 (262.2 GiB)
    RX errors 2  dropped 0  overruns 0  frame 2
    TX packets 307772449  bytes 202115845888 (188.2 GiB)
    TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    device interrupt 18

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
    inet 127.0.0.1  netmask 255.0.0.0
    inet6 ::1  prefixlen 128  scopeid 0x10<host>
    loop  txqueuelen 1  (Local Loopback)
    RX packets 4778773  bytes 1711054659 (1.5 GiB)
    RX errors 0  dropped 0  overruns 0  frame 0
    TX packets 4778773  bytes 1711054659 (1.5 GiB)
    TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

wlp4s0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
    ether 70:18:8b:82:51:79  txqueuelen 1000  (Ethernet)
    RX packets 171104  bytes 101660534 (96.9 MiB)
    RX errors 0  dropped 0  overruns 0  frame 0
    TX packets 140287  bytes 59377507 (56.6 MiB)
    TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Relacionado dmesg

[1281750.433715] usb 3-2: new high-speed USB device number 24 using xhci_hcd
[1281751.213885] cdc_ether 3-2:2.0 eth0: register 'cdc_ether' at usb-0000:00:14.0-2, CDC Ethernet Device, f4:f2:6d:18:fb:0b
[1281751.213910] usbcore: registered new interface driver cdc_ether
[1281751.348703] cdc_ether 3-2:2.0 enp0s20u2c2: renamed from eth0
[1281751.705115] IPv6: ADDRCONF(NETDEV_UP): enp0s20u2c2: link is not ready
[1281751.705235] cdc_ether 3-2:2.0 enp0s20u2c2: kevent 12 may have been dropped
[1281751.705241] cdc_ether 3-2:2.0 enp0s20u2c2: kevent 12 may have been dropped
[1281751.706719] cdc_ether 3-2:2.0 enp0s20u2c2: kevent 12 may have been dropped
[1281751.706925] cdc_ether 3-2:2.0 enp0s20u2c2: kevent 12 may have been dropped
[1281751.706934] cdc_ether 3-2:2.0 enp0s20u2c2: kevent 12 may have been dropped
[1281761.835095] cdc_ether 3-2:2.0 enp0s20u2c2: kevent 12 may have been dropped
[1281761.835106] cdc_ether 3-2:2.0 enp0s20u2c2: kevent 12 may have been dropped
[1281761.960577] cdc_ether 3-2:2.0 enp0s20u2c2: kevent 12 may have been dropped
[1281761.960593] cdc_ether 3-2:2.0 enp0s20u2c2: kevent 12 may have been dropped

Estou usando o archlinux de 64 bits.

    
por Kokizzu 03.05.2016 / 16:38

1 resposta

2

Eu iria compilar o ethtool a partir do código-fonte e recompilar o cdc_ether e o usbnet contra o seu kernel.

De David Brownell (autor de cdc_ether)

link

Ethtool

Com o ethtool versão 1.5 ou posterior e a versão recente do driver usbnet, você pode obter informações adicionais do driver. Dispositivos diferentes podem ter informações diferentes disponíveis; por exemplo, a disponibilidade de links nem sempre é conhecida. O Linux define algumas interpretações padrão para os bits "nível de mensagem", que não são amplamente usados ... mas este framework os utiliza para todos os seus dispositivos, permitindo que você mascare quais mensagens serão vistas. (Muitas mensagens não estarão disponíveis a menos que a depuração esteja ativada.)

sh# ethtool usb0
Settings for usb0:
    Current message level: 0x00000001 (1)
sh# ethtool -i usb0
driver: usbnet
version: 17-Jul-2002
firmware-version: Prolific PL-2301/PL-2302
bus-info: usb-00:02.0-1.2
sh#
sh# ethtool usb1
Settings for usb1:
    Current message level: 0x00000001 (1)
    Link detected: no
sh# ethtool -i usb1
driver: usbnet
version: 17-Jul-2002
firmware-version: NetChip TurboCONNECT
bus-info: usb-00:02.0-1.4
sh#

Você pode querer usar valores estáveis de informações de barramento para descobrir qual endereço de rede deve ser atribuído a um determinado link, se sua configuração de roteamento precisar disso. Você pode usar o ip link set usbN nome newname ou ferramentas semelhantes. (NOTA: infelizmente, a ferramenta nameif não ajudará, pois pressupõe que os endereços Ethernet resolvam esse problema. Para endereços Ethernet atribuídos dinamicamente, isso não funciona; o uso de "bus-info" é a solução apropriada.)

Veja também link sobre como lidar com esses problemas de hotplug, principalmente com o Debian e sem fio.)

    
por 18.04.2017 / 05:19

Tags