Commit | Line | Data |
---|---|---|
b4612a8a SK |
1 | #! /usr/bin/awk -f |
2 | # | |
3 | # Example iwconfig output: | |
4 | # ----------------------- | |
5 | # $ iwconfig wlp3s0 | |
6 | # wlp3s0 IEEE 802.11 ESSID:"BPLUNWIRED" | |
7 | # Mode:Managed Frequency:5.785 GHz Access Point: E2:55:2D:C0:64:B8 | |
8 | # Bit Rate=135 Mb/s Tx-Power=15 dBm | |
9 | # Retry short limit:7 RTS thr:off Fragment thr:off | |
10 | # Power Management:on | |
11 | # Link Quality=59/70 Signal level=-51 dBm | |
12 | # Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0 | |
13 | # Tx excessive retries:0 Invalid misc:0 Missed beacon:0 | |
14 | # | |
15 | # | |
16 | # USAGE: khatus_parse_iwconfig -v requested_interface="$wifi_interface" | |
17 | ||
18 | /^[a-z0-9]+ +IEEE 802\.11 +ESSID:/ { | |
19 | interface = $1 | |
20 | split($4, essid_parts, ":") | |
21 | essid[interface] = essid_parts[2] | |
22 | gsub("\"", "", essid[interface]) | |
23 | } | |
24 | ||
25 | /^ +Link Quality=[0-9]+\/[0-9]+ +Signal level=/ { | |
26 | split($2, lq_parts_eq, "=") | |
27 | split(lq_parts_eq[2], lq_parts_slash, "/") | |
28 | cur = lq_parts_slash[1] | |
29 | max = lq_parts_slash[2] | |
30 | link[interface] = cur / max * 100 | |
31 | } | |
32 | ||
33 | END { | |
34 | i = requested_interface | |
3657f7f9 | 35 | status = link[i] ? sprintf("%s %s:%d%%", i, essid[i], link[i]) : i " --" |
b4612a8a SK |
36 | print(status) |
37 | } |