Как найти скорость интерфейса wlan?

AFAIK там не является никаким пределом размера для gzip - по крайней мере, не 30 ГБ. Конечно, Вам нужно пространство для заархивированного файла на Вашем диске, обе версии будут там одновременно при сжатии.

bzip2 файлы сжатий (не только большие :-) лучше, но и это (иногда много) медленнее.

13
20.05.2013, 19:18
3 ответа

Можно использовать iwconfig инструмент для обнаружения этой информации:

$ iwconfig wlan0
wlan0     IEEE 802.11bg  ESSID:"SECRETSSID"  
          Mode:Managed  Frequency:2.462 GHz  Access Point: 00:10:7A:93:AE:BF   
          Bit Rate=48 Mb/s   Tx-Power=14 dBm   
          Retry  long limit:7   RTS thr:off   Fragment thr:off
          Power Management:off
          Link Quality=55/70  Signal level=-55 dBm  
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

Если Вы хотите скорость передачи от /sys непосредственно попробуйте это:

$ cat /sys/class/net/wlan0/wireless/link
51

Или от /proc:

$ cat /proc/net/wireless 
Inter-| sta-|   Quality        |   Discarded packets               | Missed | WE
 face | tus | link level noise |  nwid  crypt   frag  retry   misc | beacon | 22
 wlan0: 0000   56.  -54.  -256        0      0      0      0      0        0

Примечание: Значение для ссылки в 2-м примере равняется 56, для, например.

Я полагаю, что МБ/с является расчетным значением, таким образом, он не будет сохранен нигде специально для wlan0 устройства. Я думаю, что это берет совокупные биты, переданные по интерфейсу, и делит его к тому времени, когда это взяло, сказал что данные, которые будут переданы.

Один дополнительный способ получить эту информацию использует инструмент iw. Этот инструмент ew nl80211 основывал средство конфигурирования CLI для беспроводных устройств. Это должно быть на любом недавнем дистрибутиве Linux.

$ iw dev wlan0 link
Connected to 00:10:7A:93:AE:BF (on wlan0)
    SSID: SECRETSSID
    freq: 2462
    RX: 89045514 bytes (194863 packets)
    TX: 34783321 bytes (164504 packets)
    signal: -54 dBm
    tx bitrate: 48.0 MBit/s

Это также показывает количество отправленных и полученных пакетов (RX/TX).

14
27.01.2020, 19:53
  • 1
    Приложение, для которого я смотрю решение, использует подобный файлу объект считать скорость сети от него. И я не могу добавить новую часть кода, который может помочь мне извлечь информацию из iwconfig. Конфигурация для приложения использует только путь к файлу со скоростью. –  Tural Gurbanov 20.05.2013, 16:54
  • 2
    Разве у Вас уже нет iwconfig установленным? Это обычно устанавливается, если у Вас есть беспроводная сеть. Мне, должно быть, все же придется явно установить его в любых системах, с которыми я встретился, которые имеют беспроводную связь. –  slm♦ 20.05.2013, 17:56

Подход slm неверен, скорость передачи данных, показанная iwconfig - это максимальная скорость, поддерживаемая интерфейсом для соединения. Это не ток, с которым передаются данные. Используйте файл /sys/class/net//statistics/_bytes для получения данных о переданных байтах на интерфейс.

2
27.01.2020, 19:53

Короткий ответ: «нет», в Linux до сих пор нет подходящего интерфейса sysfs для WiFi. [Последняя проверка :Linux 5.10]. Но это не значит, что вам не повезло. Информация предоставляется пользователю через C API под названием «nl80211 », поэтому все, что вам нужно, — это программа, которая может извлекать нужную вам информацию. Я рекомендую wavemon, который имеет интерфейс curses, который показывает информацию в реальном времени:

┌─Interface──────────────────────────────────────────────────────────────────────────────────────────────────┐
│wlan0 (IEEE 802.11), phy 0, reg: n/a, SSID: Fifi's HiFi WiFi                                                │
├─Levels─────────────────────────────────────────────────────────────────────────────────────────────────────┤
│                                                                                                            │
│link quality: 54%  (38/70)                                                                                  │
│==========================================================                                                  │
│                                                                                                            │
│                                                                                                            │
│signal level: -72 dBm (0.06 nW)                                                                             │
│=================================                                                                           │
│                                                                                                            │
├─Statistics─────────────────────────────────────────────────────────────────────────────────────────────────┤
│RX: 80k (53.26 MiB), drop: 12 (0.0%)                                                                        │
│TX: 88k (31.45 MiB), retries: 8k (9.7%)                                                                     │
├─Info───────────────────────────────────────────────────────────────────────────────────────────────────────┤
│mode: Managed, connected to: 74:DA:88:42:CA:FE, time: 27:45m, inactive: 0.0s                                │
│freq: 5785 MHz, ctr1: 5775 MHz, channel: 157 (width: 80 MHz)                                                │
│rx rate: 234.0 Mbit/s VHT-MCS 5 80MHz VHT-NSS 1, tx rate: 260.0 Mbit/s VHT-MCS 3 80MHz short GI VHT-NSS 2   │
│beacons: 16020, lost: 298, avg sig: -69 dBm, interval: 0.1s, DTIM: 1                                        │
│power mgt: on,  tx-power: 22 dBm (158.49 mW)                                                                │
│retry: short limit 7,  rts/cts: off,  frag: off                                                             │
├─Network────────────────────────────────────────────────────────────────────────────────────────────────────┤
│wlan0 (UP RUNNING BROADCAST MULTICAST)                                                                      │
│mac: 34:C9:3D:CC:DD:EE, qlen: 1000                                                                          │
│ip: 192.168.9.167/24                                                                                        │
└────────────────────────────────────────────────────────────────────────────────────────────────────────────┘

F1 info  F2 lhist  F3 scan  F7 prefs  F8 help  F9 about  F10 quit

Данных много, но если вы изучите раздел «Информация», вы найдете то, что ищете.:

tx rate: 260.0 Mbit/s VHT-MCS 3 80MHz short GI VHT-NSS 2

Это скорость беспроводного соединения MAC-уровня, и это именно то, что /sys/class/net/wlan0/speed¹ должен показывать.


¹ Хорошо, технически это должно быть speedtxи speedrx, так как Wi-Fi асимметричен.

1
14.10.2021, 23:39

Теги

Похожие вопросы