From ad711d80330b3847eabd3c575cf376ed3da46d0d Mon Sep 17 00:00:00 2001 From: Qingping Hou Date: Mon, 17 Oct 2016 22:02:06 -0700 Subject: [PATCH 1/2] minor: show wifi scan error in UI --- frontend/ui/network/manager.lua | 6 +++++- frontend/ui/network/wpa_supplicant.lua | 22 +++++++++++++++++----- 2 files changed, 22 insertions(+), 6 deletions(-) diff --git a/frontend/ui/network/manager.lua b/frontend/ui/network/manager.lua index 4799bbcbf..db6630bb5 100644 --- a/frontend/ui/network/manager.lua +++ b/frontend/ui/network/manager.lua @@ -170,8 +170,12 @@ function NetworkMgr:showNetworkMenu(complete_callback) local info = InfoMessage:new{text = _("Scanning…")} UIManager:show(info) UIManager:nextTick(function() - local network_list = self:getNetworkList() + local network_list, err = self:getNetworkList() UIManager:close(info) + if network_list == nil then + UIManager:show(InfoMessage:new{text = err}) + return + end UIManager:show(require("ui/widget/networksetting"):new{ network_list = network_list, connect_callback = complete_callback, diff --git a/frontend/ui/network/wpa_supplicant.lua b/frontend/ui/network/wpa_supplicant.lua index e171b8e1d..cfc249a62 100644 --- a/frontend/ui/network/wpa_supplicant.lua +++ b/frontend/ui/network/wpa_supplicant.lua @@ -2,12 +2,19 @@ local UIManager = require("ui/uimanager") local WpaClient = require('lj-wpaclient/wpaclient') local InfoMessage = require("ui/widget/infomessage") local sleep = require("ffi/util").sleep +local T = require("ffi/util").template local _ = require("gettext") +local CLIENT_INIT_ERR_MSG = _("Failed to initialize network control client: %1.") + local WpaSupplicant = {} function WpaSupplicant:getNetworkList() - local wcli, _ = WpaClient.new(self.wpa_supplicant.ctrl_interface) + local wcli, err = WpaClient.new(self.wpa_supplicant.ctrl_interface) + if wcli == nil then + return nil, T(CLIENT_INIT_ERR_MSG, err) + end + local list = wcli:scanThenGetResults() wcli:close() @@ -33,9 +40,8 @@ function WpaSupplicant:authenticateNetwork(network) -- TODO: support passwordless network local err, wcli, nw_id wcli, err = WpaClient.new(self.wpa_supplicant.ctrl_interface) - if not wcli then - return false, _("Failed to initialize network control client: ")..err + return false, T(CLIENT_INIT_ERR_MSG, err) end nw_id, err = wcli:addNetwork() @@ -90,13 +96,19 @@ end function WpaSupplicant:disconnectNetwork(network) if not network.wpa_supplicant_id then return end - local wcli, _ = WpaClient.new(self.wpa_supplicant.ctrl_interface) + local wcli, err = WpaClient.new(self.wpa_supplicant.ctrl_interface) + if wcli == nil then + return nil, T(CLIENT_INIT_ERR_MSG, err) + end wcli:removeNetwork(network.wpa_supplicant_id) wcli:close() end function WpaSupplicant:getCurrentNetwork() - local wcli, _ = WpaClient.new(self.wpa_supplicant.ctrl_interface) + local wcli, err = WpaClient.new(self.wpa_supplicant.ctrl_interface) + if wcli == nil then + return nil, T(CLIENT_INIT_ERR_MSG, err) + end local nw = wcli:getCurrentNetwork() wcli:close() return nw From 705d3e4cb43d77b91eab4e32e8645b5a1189cec5 Mon Sep 17 00:00:00 2001 From: Qingping Hou Date: Mon, 17 Oct 2016 22:26:44 -0700 Subject: [PATCH 2/2] doc(minor): document alternative usb plug event source for kobo --- frontend/device/kobo/device.lua | 1 + platform/kobo/enable-wifi.sh | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/frontend/device/kobo/device.lua b/frontend/device/kobo/device.lua index b46cfdaa9..f3448f6fc 100644 --- a/frontend/device/kobo/device.lua +++ b/frontend/device/kobo/device.lua @@ -130,6 +130,7 @@ function Kobo:init() return "Light" end end, + -- NOTE: usb hotplug event is also available in /tmp/nickel-hardware-status [102] = "Home", [116] = "Power", } diff --git a/platform/kobo/enable-wifi.sh b/platform/kobo/enable-wifi.sh index 7bf524682..d11ee8022 100644 --- a/platform/kobo/enable-wifi.sh +++ b/platform/kobo/enable-wifi.sh @@ -9,4 +9,6 @@ sleep 1 ifconfig eth0 up wlarm_le -i eth0 up -pidof wpa_supplicant >/dev/null || env -u LD_LIBRARY_PATH wpa_supplicant -s -ieth0 -O /var/run/wpa_supplicant -c/etc/wpa_supplicant/wpa_supplicant.conf -B +pidof wpa_supplicant >/dev/null || \ + env -u LD_LIBRARY_PATH \ + wpa_supplicant -s -ieth0 -O /var/run/wpa_supplicant -c/etc/wpa_supplicant/wpa_supplicant.conf -B