So i tried to track down the error.
This boi here is fed a null somehow:
function util.fixUtf8(str, replacement)
local pos = 1
local len = #str
By this other boi here:
-- Next, look for our own preferred networks...
local err_msg = _("Connection failed")
if not success then
for dummy, network in ipairs(network_list) do
if network.password then
-- If we hit a preferred network and we're not already connected,
-- attempt to connect to said preferred network....
logger.dbg("NetworkMgr: Attempting to authenticate on preferred network", util.fixUtf8(ssid, " "))
And then we have this (just before that up there ^^^) which makes me think something's going on with the wpa_supplement:
table.sort(network_list,
function(l, r) return l.signal_quality > r.signal_quality end)
-- true: we're connected; false: things went kablooey; nil: we don't know yet (e.g., interactive)
-- NOTE: false *will* lead enableWifi to kill Wi-Fi via _abortWifiConnection!
local success
local ssid
-- We need to do two passes, as we may have *both* an already connected network (from the global wpa config),
-- *and* preferred networks, and if the preferred networks have a better signal quality,
-- they'll be sorted *earlier*, which would cause us to try to associate to a different AP than
-- what wpa_supplicant is already trying to do...
-- NOTE: We can't really skip this, even when we force showing the scan list,
-- as the backend *will* connect in the background regardless of what we do,
-- and we *need* our complete_callback to run,
-- which would not be the case if we were to just dismiss the scan list,
-- especially since it wouldn't show as "connected" in this case...
for dummy, network in ipairs(network_list) do
if network.connected then
-- On platforms where we use wpa_supplicant (if we're calling this, we probably are),
-- the invocation will check its global config, and if an AP configured there is reachable,
-- it'll already have connected to it on its own.
success = true
ssid = network.ssid
break
end
end
So somehow ssid turned out to be a nil value and it got yeeted into a function that doesn't like nil values. But that's all koreader stuff, so it doesn't explain what's happening on the stock reader. So that makes me think that something has gone bad that both koreader and normal kobo use to connect to the wifi. But then how come I can connect to the wifi by deleting the network.lua file, and what's the kobo equivalent of that file? This problem has something to do with known networks, but what?
I am really confused. And frustrated cause I literally just factory rest my kobo and I realllllly dont want to do it again. ugh.
|