mirror of
https://github.com/koreader/koreader.git
synced 2025-08-10 00:52:38 +00:00
[cervantes] automatically restore wifi connection (#4463)
This commit is contained in:
committed by
Frans de Jonge
parent
12c8d4fd17
commit
973e61557b
@@ -170,6 +170,7 @@ function Cervantes:initNetworkManager(NetworkMgr)
|
||||
os.execute("./release-ip.sh")
|
||||
end
|
||||
function NetworkMgr:restoreWifiAsync()
|
||||
os.execute("./restore-wifi-async.sh")
|
||||
end
|
||||
function NetworkMgr:isWifiOn()
|
||||
return 1 == isConnected()
|
||||
|
||||
@@ -187,7 +187,7 @@ function NetworkMgr:getRestoreMenuTable()
|
||||
return {
|
||||
text = _("Automatically restore Wi-Fi connection after resume"),
|
||||
checked_func = function() return G_reader_settings:nilOrTrue("auto_restore_wifi") end,
|
||||
enabled_func = function() return Device:isKobo() end,
|
||||
enabled_func = function() return Device:isKobo() or Device:isCervantes() end,
|
||||
callback = function() G_reader_settings:flipNilOrTrue("auto_restore_wifi") end,
|
||||
}
|
||||
end
|
||||
|
||||
31
platform/cervantes/restore-wifi-async.sh
Executable file
31
platform/cervantes/restore-wifi-async.sh
Executable file
@@ -0,0 +1,31 @@
|
||||
#!/bin/sh
|
||||
|
||||
RunWpaCli() {
|
||||
./luajit <<EOF
|
||||
require("setupkoenv")
|
||||
local DataStorage = require("datastorage")
|
||||
local LuaSettings = require("luasettings")
|
||||
|
||||
local settings = LuaSettings:open(DataStorage:getSettingsDir().."/network.lua")
|
||||
local cli = io.popen("wpa_cli -g /var/run/wpa_supplicant/eth0 > /dev/null", "w")
|
||||
local idx = 0
|
||||
for ssid, network in pairs(settings.data) do
|
||||
cli:write("add_network\n")
|
||||
cli:write("set_network " .. tostring(idx) .. " ssid \"" .. ssid .. "\"\n")
|
||||
cli:write("set_network " .. tostring(idx) .. " psk \"" .. network["password"] .. "\"\n")
|
||||
cli:write("enable_network " .. tostring(idx) .. "\n")
|
||||
idx = idx + 1
|
||||
end
|
||||
cli:close()
|
||||
EOF
|
||||
}
|
||||
|
||||
RestoreWifi() {
|
||||
echo "[$(date)] restore-wifi-async.sh: Restarting WiFi"
|
||||
./enable-wifi.sh
|
||||
RunWpaCli
|
||||
./obtain-ip.sh
|
||||
echo "[$(date)] restore-wifi-async.sh: Restarted WiFi"
|
||||
}
|
||||
|
||||
RestoreWifi &
|
||||
Reference in New Issue
Block a user