X-Git-Url: https://git.archive.openwrt.org/?p=project%2Fluci.git;a=blobdiff_plain;f=contrib%2Fpackage%2Fiwinfo%2Fsrc%2Fiwinfo.lua;h=76b9e4ad1f7df1eb3e192d9fbb77eb3028a1f454;hp=bbd2ff750a8e1522ed020b69c39861ea6921c70e;hb=66736c857476550c68720a4cf933ab2f6d04031d;hpb=653c9e782f54f3ab980b678227d0429259ce038b diff --git a/contrib/package/iwinfo/src/iwinfo.lua b/contrib/package/iwinfo/src/iwinfo.lua index bbd2ff750..76b9e4ad1 100755 --- a/contrib/package/iwinfo/src/iwinfo.lua +++ b/contrib/package/iwinfo/src/iwinfo.lua @@ -24,12 +24,16 @@ end 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))) @@ -41,7 +45,7 @@ function print_info(api, dev) n(iw.bitrate(dev)) / 1000) printf(" Encryption: %s", - iw.encryption(dev).description) + s(enc and enc.description)) print("") end @@ -84,7 +88,7 @@ function print_txpwrlist(api, dev) 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") @@ -101,9 +105,10 @@ function print_freqlist(api, dev) 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") @@ -128,6 +133,25 @@ function print_assoclist(api, dev) 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:") @@ -136,6 +160,7 @@ if #arg ~= 2 then print(" iwinfo txpowerlist") print(" iwinfo freqlist") print(" iwinfo assoclist") + print(" iwinfo countrylist") os.exit(1) end @@ -162,6 +187,9 @@ elseif arg[2]:match("^f") then 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