diff --git a/hoodselector/luasrc/usr/sbin/hoodselector b/hoodselector/luasrc/usr/sbin/hoodselector index e7179cd0b926af01df19a55ad37094036c456065..5b135af9999070396fe14a86f2fa26dd01f41f2e 100755 --- a/hoodselector/luasrc/usr/sbin/hoodselector +++ b/hoodselector/luasrc/usr/sbin/hoodselector @@ -343,9 +343,6 @@ local function ibss_scan(radio,ifname,ssid,networks) -- loop through each line in the output of iw for wifiscan in io.popen(wireless_scan, 'r'):lines() do -- the following line matches a new network in the output of iw - if row["ssid"] ~= nil and ssid ~= nil then - print(row["ssid"].." == "..ssid) - end if(row["bssid"] ~= nil and row["quality"] ~= nil and row["ssid"] == ssid) then table.insert(networks, row) row = {} @@ -826,27 +823,33 @@ local function get_batman_mesh_network(sorted_wlan_list, defaultHood, meshprefix for iface in io.popen(string.format("iw dev"),'r'):lines() do if iface:match("Interface") then iface = trim(iface:split("Interface")[2]) - if not iface:match("ibss") then + if not ( iface:match("ibss") or iface:match("mesh")) then os.execute("iw dev "..iface.." del") end end end for _, wireless in pairs(sorted_wlan_list) do + local ibss = uci:get('wireless', 'ibss_' .. wireless["radio"], 'ifname') + local mesh = uci:get('wireless', 'mesh_' .. wireless["radio"], 'ifname') if wireless["ssid"] == uci:get('wireless', 'ibss_' .. wireless["radio"], 'ssid') then io.stdout:write("Testing IBSS "..wireless["bssid"].."...\n") - local ifname = uci:get('wireless', 'ibss_' .. wireless["radio"], 'ifname') -- leave the current adhoc network - os.execute("iw dev "..ifname.." ibss leave") + os.execute("iw dev "..ibss.." ibss leave") + if mesh ~= nil then + os.execute("iw dev "..mesh.." mesh leave") + end -- setup the adhoc network we want to test - os.execute("iw dev "..ifname.." ibss join "..wireless["ssid"].." "..wireless["frequency"].." "..wireless["bssid"]) + os.execute("iw dev "..ibss.." ibss join "..wireless["ssid"].." "..wireless["frequency"].." "..wireless["bssid"]) end if wireless["ssid"] == meshprefix then io.stdout:write("Testing MESH "..wireless["bssid"].."...\n") - local ifname = uci:get('wireless', 'mesh_' .. wireless["radio"], 'ifname') -- leave the current mesh network - os.execute("iw dev "..ifname.." mesh leave") + os.execute("iw dev "..mesh.." mesh leave") + if ibss ~= nil then + os.execute("iw dev "..ibss.." ibss leave") + end -- setup the mesh network we want to test - os.execute("iw dev "..ifname.." mesh join "..meshprefix..wireless["bssid"].." freq "..wireless["frequency"]) + os.execute("iw dev "..mesh.." mesh join "..meshprefix..wireless["bssid"].." freq "..wireless["frequency"]) end -- sleep 30 seconds till the connection is fully setup local c = 0;