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
관련된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
저는 64비트 Archlinux를 사용하고 있습니다.
답변1
소스에서 ethtool을 컴파일하고 커널에 대해 cdc_ether 및 usbnet을 다시 컴파일합니다.
David Brownell(cdc_ether 작성자)
http://www.linux-usb.org/usbnet/
이더넷 도구
ethtool 버전 1.5 이상과 새로운 usbnet 드라이버 버전을 사용하면 드라이버에서 추가 정보를 얻을 수 있습니다. 장치마다 사용 가능한 정보가 다를 수 있습니다. 예를 들어 링크 가용성이 항상 알려진 것은 아닙니다. Linux는 널리 사용되지 않는 "메시지 수준" 비트에 대한 몇 가지 표준 해석을 정의합니다. 그러나 프레임워크는 이를 모든 장치에 사용하므로 표시되는 메시지를 마스킹할 수 있습니다. (디버깅이 활성화되지 않으면 많은 메시지를 사용할 수 없습니다.)
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#
라우팅 구성에 필요한 경우 안정적인 버스 정보 값을 사용하여 특정 링크에 할당할 네트워크 주소를 결정할 수 있습니다. ip link set usbN name newname 또는 유사한 도구를 사용할 수 있습니다. (참고: 불행하게도 nameif 도구는 이더넷 주소를 가정하므로 여기서는 도움이 되지 않습니다. 동적으로 할당된 이더넷 주소에는 작동하지 않습니다. "bus-info"를 사용하는 것이 적합한 솔루션입니다. .)
당신은 또한 볼 수 있습니다https://hewlettpackard.github.io/wireless-tools/HOTPLUG.txt이러한 핫 플러그 문제를 다루는 것은 주로 데비안과 무선입니다. )