LINUX.ORG.RU

Как получить скорость адаптера USB-RJ45?

 , ,


0

1

Подключение устройства:

# dmesg
[  +9.908043] usb 1-4: new high-speed USB device number 61 using xhci_hcd
[  +0.200038] usb 1-4: New USB device found, idVendor=35b5, idProduct=3500, bcdDevice= c.02
[  +0.000004] usb 1-4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[  +0.000002] usb 1-4: Product: SZNX LAN 100M
[  +0.000002] usb 1-4: Manufacturer: Naxiang
[  +0.000001] usb 1-4: SerialNumber: EC9A0C121AD3
[  +0.035216] cdc_ether 1-4:1.0 eth0: register 'cdc_ether' at usb-0000:01:00.0-4, CDC Ethernet Device, ec:9a:0c:12:1a:d3
[  +0.015782] cdc_ether 1-4:1.0 enxec9a0c121ad3: renamed from eth0
[ +11.364164] IPv6: ADDRCONF(NETDEV_CHANGE): enxec9a0c121ad3: link becomes ready

При попытке получить скорость сетевого подключения, получаю ошибку:

# cat /sys/class/net/enxec9a0c121ad3/speed
cat: /sys/class/net/enxec9a0c121ad3/speed: Invalid argument

Сам файл существует:

# ls /sys/class/net/enxec9a0c121ad3/speed
/sys/class/net/enxec9a0c121ad3/speed

В чём может быть причина такого поведения?

Ответ на: комментарий от anonymous

ты где то нарукожопил

Где именно, кэп?

С другими сетевыми адаптерами такой проблемы нет. А этот я проверял на двух разных системах, и везде та же ошибка.

newbie24
() автор топика

Судя по коду ядра, драйвер имеет право указать, что скорость неизвестна (константа SPEED_UNKNOWN), в этом случае чтение /sys/class/net/$IF/speed будет возвращать EINVAL (Invalid argument). Так что, либо в драйвере бага, либо он недопилен, как со многими usb-ethernet, а может и чип не сообщает скорость.

Если есть желание, смотрите сорцы, смотрите что драйвер вашей сетёвки пишет в struct ethtool_cmd...

mky ★★★★★
()
Ответ на: комментарий от mky

Так что, либо в драйвере бага, либо он недопилен, как со многими usb-ethernet, а может и чип не сообщает скорость.

Спасибо, всё понятно. Действительно, есть чипы, принципиально не сообщающие скорость.

newbie24
() автор топика