Подскажите, как можно получить значение скорости и дуплексности из /proc.
Счетчики там есть, а вот эти параметры не нашел.
Просто если в системе нет mii-tool и ethtool я не знаю как еще определить параметры скорости и дуплекса.
> Подскажите, как можно получить значение скорости и дуплексности из /proc.
> Счетчики там есть, а вот эти параметры не нашел.
> Просто если в системе нет mii-tool и ethtool я не знаю как
> еще определить параметры скорости и дуплекса.а какая разница, если без ethtool того же ты ничего изменить не сможешь?
>> Подскажите, как можно получить значение скорости и дуплексности из /proc.
>> Счетчики там есть, а вот эти параметры не нашел.
>> Просто если в системе нет mii-tool и ethtool я не знаю как
>> еще определить параметры скорости и дуплекса.
> а какая разница, если без ethtool того же ты ничего изменить не
> сможешь?а такая разница что для диагностики... Если знаешь параметры одной из сторон, то можно на второй выставить аналогичные.
>>> Подскажите, как можно получить значение скорости и дуплексности из /proc.
>>> Счетчики там есть, а вот эти параметры не нашел.
>>> Просто если в системе нет mii-tool и ethtool я не знаю как
>>> еще определить параметры скорости и дуплекса.
>> а какая разница, если без ethtool того же ты ничего изменить не
>> сможешь?
> а такая разница что для диагностики... Если знаешь параметры одной из сторон,
> то можно на второй выставить аналогичные.а в логах dmesg на момент поднятия интерфейса, в /sys поковыряться
>>>> Подскажите, как можно получить значение скорости и дуплексности из /proc.
>>>> Счетчики там есть, а вот эти параметры не нашел.
>>>> Просто если в системе нет mii-tool и ethtool я не знаю как
>>>> еще определить параметры скорости и дуплекса.
>>> а какая разница, если без ethtool того же ты ничего изменить не
>>> сможешь?
>> а такая разница что для диагностики... Если знаешь параметры одной из сторон,
>> то можно на второй выставить аналогичные.
> а в логах dmesg на момент поднятия интерфейса, в /sys поковырятьсяУгу спасибо за конкретику, КЕП.
>>>>> Подскажите, как можно получить значение скорости и дуплексности из /proc.
>>>>> Счетчики там есть, а вот эти параметры не нашел.
>>>>> Просто если в системе нет mii-tool и ethtool я не знаю как
>>>>> еще определить параметры скорости и дуплекса.
>>>> а какая разница, если без ethtool того же ты ничего изменить не
>>>> сможешь?
>>> а такая разница что для диагностики... Если знаешь параметры одной из сторон,
>>> то можно на второй выставить аналогичные.
>> а в логах dmesg на момент поднятия интерфейса, в /sys поковыряться
> Угу спасибо за конкретику, КЕП.конкретика отличается в зависимости от драйверов и версий ядра, так что find /sys |grep 'eth'
С уважением, КЕП.
>>>>> Подскажите, как можно получить значение скорости и дуплексности из /proc.
>>>>> Счетчики там есть, а вот эти параметры не нашел.
>>>>> Просто если в системе нет mii-tool и ethtool я не знаю как
>>>>> еще определить параметры скорости и дуплекса.
>>>> а какая разница, если без ethtool того же ты ничего изменить не
>>>> сможешь?
>>> а такая разница что для диагностики... Если знаешь параметры одной из сторон,
>>> то можно на второй выставить аналогичные.
>> а в логах dmesg на момент поднятия интерфейса, в /sys поковыряться
> Угу спасибо за конкретику, КЕП.Вот народ борзый пошел: ему говорят правильный ответ, а он выёживается...
find /sys | grep '/eth0/'
ну или какое имя интерфейса
выводит в том числе файлы, содержащие скорость и дуплекс
например у меня:
/sys/devices/pci0000:00/0000:00:07.0/0000:05:00.0/net/eth0/speed
/sys/devices/pci0000:00/0000:00:07.0/0000:05:00.0/net/eth0/duplex
нафига в команде греп? так нельзя?
find /sys -name '*/eth0/*'
> нафига в команде греп? так нельзя?
> find /sys -name '*/eth0/*'А самому попробовать, прежде чем советовать?
# find /sys -name '*/eth0/*'
find: предупреждение: в именах файлов в Unix, обычно, не содержится символ косой черты (хотя он есть в именах путей). Это означает, что '-name `*/eth0/*'', вероятно, будет равно false всегда на этой системе. Вам может пригодиться тест '-wholename', или, возможно, '-samefile'. Или же, если вы используете GNU grep, то можете выполнять так: 'find ... -print0 | grep -FzZ `*/eth0/*''.
> Вот народ борзый пошел: ему говорят правильный ответ, а он выёживается...
> find /sys | grep '/eth0/'
> ну или какое имя интерфейса
> выводит в том числе файлы, содержащие скорость и дуплекс
> например у меня:
> /sys/devices/pci0000:00/0000:00:07.0/0000:05:00.0/net/eth0/speed
> /sys/devices/pci0000:00/0000:00:07.0/0000:05:00.0/net/eth0/duplexВот народ борзый пошел. копай - (c) reader OS/DEV depended:
[root@local ~]# find /sys | grep '/eth0/'
/sys/class/net/eth0/statistics
/sys/class/net/eth0/statistics/tx_compressed
/sys/class/net/eth0/statistics/rx_compressed
/sys/class/net/eth0/statistics/tx_window_errors
/sys/class/net/eth0/statistics/tx_heartbeat_errors
/sys/class/net/eth0/statistics/tx_fifo_errors
/sys/class/net/eth0/statistics/tx_carrier_errors
/sys/class/net/eth0/statistics/tx_aborted_errors
/sys/class/net/eth0/statistics/rx_missed_errors
/sys/class/net/eth0/statistics/rx_fifo_errors
/sys/class/net/eth0/statistics/rx_frame_errors
/sys/class/net/eth0/statistics/rx_crc_errors
/sys/class/net/eth0/statistics/rx_over_errors
/sys/class/net/eth0/statistics/rx_length_errors
/sys/class/net/eth0/statistics/collisions
/sys/class/net/eth0/statistics/multicast
/sys/class/net/eth0/statistics/tx_dropped
/sys/class/net/eth0/statistics/rx_dropped
/sys/class/net/eth0/statistics/tx_errors
/sys/class/net/eth0/statistics/rx_errors
/sys/class/net/eth0/statistics/tx_bytes
/sys/class/net/eth0/statistics/rx_bytes
/sys/class/net/eth0/statistics/tx_packets
/sys/class/net/eth0/statistics/rx_packets
/sys/class/net/eth0/device
/sys/class/net/eth0/weight
/sys/class/net/eth0/tx_queue_len
/sys/class/net/eth0/flags
/sys/class/net/eth0/mtu
/sys/class/net/eth0/operstate
/sys/class/net/eth0/dormant
/sys/class/net/eth0/carrier
/sys/class/net/eth0/broadcast
/sys/class/net/eth0/address
/sys/class/net/eth0/link_mode
/sys/class/net/eth0/type
/sys/class/net/eth0/features
/sys/class/net/eth0/ifindex
/sys/class/net/eth0/iflink
/sys/class/net/eth0/addr_len
/sys/class/net/eth0/ueventнарыл свой speed/duplex? могу тебе еще пару десятков систем подкинуть для развития.
PS
ИМХО
не надо определять на что настроен IF - надо настроить его ч/з ifconfig итп (софт всегда есть в ОС) другую сторону. все. это полное решение задачи в рамках предложенных условий:"
> а какая разница, если без ethtool того же ты ничего изменить не
> сможешь?а такая разница что для диагностики...
Если знаешь параметры одной из сторон, то можно на второй выставить аналогичные.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
"
>[оверквотинг удален]
> не надо определять на что настроен IF - надо настроить его
> ч/з ifconfig итп (софт всегда есть в ОС) другую сторону. все.
> это полное решение задачи в рамках предложенных условий:
> "
>> а какая разница, если без ethtool того же ты ничего изменить не
>> сможешь?
> а такая разница что для диагностики...
> Если знаешь параметры одной из сторон, то можно на второй выставить аналогичные.
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> "Не нарыл. Может плохо искал, но то что ты привел не отображает реальной скорости подключения, можешь проверить сам.
Статистика и ошибки, а также состояние линка - это не то.
Во-вторых например в RedHat в sys нет параметра speed для интерфейса.find /sys | grep 'speed'
/sys/module/pcmcia/parameters/io_speed
/sys/module/pcmcia_core/parameters/cis_speed
/sys/devices/pci0000:00/0000:00:1d.7/usb2/speed
/sys/devices/pci0000:00/0000:00:1d.2/usb8/speed
/sys/devices/pci0000:00/0000:00:1d.1/usb7/speed
/sys/devices/pci0000:00/0000:00:1d.0/usb6/6-2/speed
/sys/devices/pci0000:00/0000:00:1d.0/usb6/speed
/sys/devices/pci0000:00/0000:00:1a.7/usb1/speed
/sys/devices/pci0000:00/0000:00:1a.2/usb5/speed
/sys/devices/pci0000:00/0000:00:1a.1/usb4/speed
/sys/devices/pci0000:00/0000:00:1a.0/usb3/speedИ да, я не оборзел, просто КЭПов стало дохрена. И советуют не по делу.
find /sys | grep 'eth0'
/sys/class/net/eth0
/sys/class/net/eth0/statistics
/sys/class/net/eth0/statistics/tx_compressed
/sys/class/net/eth0/statistics/rx_compressed
/sys/class/net/eth0/statistics/tx_window_errors
/sys/class/net/eth0/statistics/tx_heartbeat_errors
/sys/class/net/eth0/statistics/tx_fifo_errors
/sys/class/net/eth0/statistics/tx_carrier_errors
/sys/class/net/eth0/statistics/tx_aborted_errors
/sys/class/net/eth0/statistics/rx_missed_errors
/sys/class/net/eth0/statistics/rx_fifo_errors
/sys/class/net/eth0/statistics/rx_frame_errors
/sys/class/net/eth0/statistics/rx_crc_errors
/sys/class/net/eth0/statistics/rx_over_errors
/sys/class/net/eth0/statistics/rx_length_errors
/sys/class/net/eth0/statistics/collisions
/sys/class/net/eth0/statistics/multicast
/sys/class/net/eth0/statistics/tx_dropped
/sys/class/net/eth0/statistics/rx_dropped
/sys/class/net/eth0/statistics/tx_errors
/sys/class/net/eth0/statistics/rx_errors
/sys/class/net/eth0/statistics/tx_bytes
/sys/class/net/eth0/statistics/rx_bytes
/sys/class/net/eth0/statistics/tx_packets
/sys/class/net/eth0/statistics/rx_packets
/sys/class/net/eth0/device
/sys/class/net/eth0/weight
/sys/class/net/eth0/tx_queue_len
/sys/class/net/eth0/flags
/sys/class/net/eth0/mtu
/sys/class/net/eth0/operstate
/sys/class/net/eth0/dormant
/sys/class/net/eth0/carrier
/sys/class/net/eth0/broadcast
/sys/class/net/eth0/address
/sys/class/net/eth0/link_mode
/sys/class/net/eth0/type
/sys/class/net/eth0/features
/sys/class/net/eth0/ifindex
/sys/class/net/eth0/iflink
/sys/class/net/eth0/addr_len
/sys/class/net/eth0/uevent
/sys/class/net/eth0/subsystem
/sys/devices/pci0000:00/0000:00:01.0/0000:04:00.0/net:eth0ls -la /sys/devices/pci0000:00/0000:00:01.0/0000:04:00.0/net:eth0/
total 0
drwxr-xr-x 3 root root 0 May 18 11:06 .
drwxr-xr-x 9 root root 0 Apr 18 15:34 ..
-r--r--r-- 1 root root 4096 May 18 11:06 address
-r--r--r-- 1 root root 4096 May 18 11:06 addr_len
-r--r--r-- 1 root root 4096 May 18 11:06 broadcast
-r--r--r-- 1 root root 4096 May 18 11:06 carrier
lrwxrwxrwx 1 root root 0 May 18 11:06 device -> ../../../devices/pci0000:00/0000:00:01.0/0000:04:00.0
-r--r--r-- 1 root root 4096 May 18 11:06 dormant
-r--r--r-- 1 root root 4096 May 18 11:06 features
-rw-r--r-- 1 root root 4096 May 18 11:06 flags
-r--r--r-- 1 root root 4096 May 18 11:06 ifindex
-r--r--r-- 1 root root 4096 May 18 11:06 iflink
-r--r--r-- 1 root root 4096 May 18 11:06 link_mode
-rw-r--r-- 1 root root 4096 May 18 11:06 mtu
-r--r--r-- 1 root root 4096 May 18 11:06 operstate
drwxr-xr-x 2 root root 0 May 18 11:11 statistics
lrwxrwxrwx 1 root root 0 May 18 11:06 subsystem -> ../../../class/net
-rw-r--r-- 1 root root 4096 May 18 11:06 tx_queue_len
-r--r--r-- 1 root root 4096 May 18 11:06 type
--w------- 1 root root 4096 May 18 11:06 uevent
-rw-r--r-- 1 root root 4096 May 18 11:06 weight
Приношу извинения. Неправильно понял твой пост :)
Спасибо за понимание.
> Приношу извинения. Неправильно понял твой пост :)
> Спасибо за понимание.Нормально все - главное понял. Если такое решение тебя устраивает, значит все хорошо.
PS
про оборзевание была цитата предыдущего постера, которому я и отвечал. тебе еще 11 числа совет вроде как дал - после овета на мой вопрос "зачем"
>>> Подскажите, как можно получить значение скорости и дуплексности из /proc.
>>> Счетчики там есть, а вот эти параметры не нашел.
>>> Просто если в системе нет mii-tool и ethtool я не знаю как
>>> еще определить параметры скорости и дуплекса.
>> а какая разница, если без ethtool того же ты ничего изменить не
>> сможешь?
> а такая разница что для диагностики... Если знаешь параметры одной из сторон,
> то можно на второй выставить аналогичные.как вариант: поставить media type в ifconfig вручную или на автоматическое определение...
> Подскажите, как можно получить значение скорости и дуплексности из /proc.
> Счетчики там есть, а вот эти параметры не нашел.
> Просто если в системе нет mii-tool и ethtool я не знаю как
> еще определить параметры скорости и дуплекса.Может быть в таком случае стоит использовать ioctl()-и?