function print_info(api, dev)
local iw = iwinfo[api]
+ local enc = iw.encryption(dev)
- printf("%-9s Type: %s ESSID: \"%s\"", dev, api, iw.ssid(dev))
- printf(" Access Point: %s", iw.bssid(dev))
+ printf("%-9s Type: %s ESSID: \"%s\"",
+ dev, api, s(iw.ssid(dev)))
+
+ printf(" Access Point: %s",
+ s(iw.bssid(dev)))
printf(" Mode: %s Channel: %d (%.3f GHz)",
- iw.mode(dev), iw.channel(dev), n(iw.frequency(dev)) / 1000)
+ iw.mode(dev), n(iw.channel(dev)), n(iw.frequency(dev)) / 1000)
printf(" Tx-Power: %s dBm Link Quality: %s/%s",
s(iw.txpower(dev)), s(iw.quality(dev)), s(iw.quality_max(dev)))
n(iw.bitrate(dev)) / 1000)
printf(" Encryption: %s",
- iw.encryption(dev).description)
+ s(enc and enc.description))
print("")
end
for _, pe in ipairs(pl) do
printf("%s%3d dBm (%4d mW)",
(cp == pe.dbm) and "*" or " ",
- pe.dbm, pe.mw)
+ n(pe.dbm), n(pe.mw))
end
else
print("No TX power information available")
if fl and #fl > 0 then
for _, fe in ipairs(fl) do
- printf("%s %.3f GHz (Channel %d)",
+ printf("%s %.3f GHz (Channel %d)%s",
(cc == fe.channel) and "*" or " ",
- n(fe.mhz) / 1000, n(fe.channel))
+ n(fe.mhz) / 1000, n(fe.channel),
+ fe.restricted and " [restricted]" or "")
end
else
print("No frequency information available")
print("")
end
+function print_countrylist(api, dev)
+ local iw = iwinfo[api]
+ local cl = iw.countrylist(dev)
+ local cc = iw.country(dev)
+ local ce
+
+ if cl and #cl > 0 then
+ for _, ce in ipairs(cl) do
+ printf("%s %4s %s",
+ (cc == ce.alpha2) and "*" or " ",
+ ce.ccode, ce.name)
+ end
+ else
+ print("No country code information available")
+ end
+
+ print("")
+end
+
if #arg ~= 2 then
print("Usage:")
print(" iwinfo <device> txpowerlist")
print(" iwinfo <device> freqlist")
print(" iwinfo <device> assoclist")
+ print(" iwinfo <device> countrylist")
os.exit(1)
end
elseif arg[2]:match("^a") then
print_assoclist(api, dev)
+elseif arg[2]:match("^c") then
+ print_countrylist(api, dev)
+
else
print("Unknown command: " .. arg[2])
end