mirror of
https://github.com/koreader/koreader.git
synced 2025-08-10 00:52:38 +00:00
Merge pull request #1620 from NiLuJe/master
Some rather critical Kobo networkmgr fixes
This commit is contained in:
2
Makefile
2
Makefile
@@ -78,7 +78,7 @@ endif
|
||||
ifeq ($(or $(EMULATE_READER),$(WIN32)),)
|
||||
# clean up, remove unused files for releases
|
||||
rm -rf $(INSTALL_DIR)/koreader/data/{cr3.ini,cr3skin-format.txt,desktop,devices,manual}
|
||||
rm $(INSTALL_DIR)/koreader/fonts/droid/DroidSansFallbackFull.ttf
|
||||
rm -rf $(INSTALL_DIR)/koreader/fonts/droid/DroidSansFallbackFull.ttf
|
||||
endif
|
||||
|
||||
$(KOR_BASE)/$(OUTPUT_DIR)/luajit:
|
||||
|
||||
2
base
2
base
Submodule base updated: fb3847c109...c26c3ddca2
@@ -7,7 +7,7 @@ local ReaderActivityIndicator = EventListener:new{}
|
||||
|
||||
function ReaderActivityIndicator:init()
|
||||
local dev_mod = Device.model
|
||||
if dev_mod == "KindlePaperWhite" or dev_mod == "KindlePaperWhite2" or dev_mod == "KindleVoyage" or dev_mod == "KindleBasic" or dev_mod == "KindleTouch" then
|
||||
if dev_mod == "KindlePaperWhite" or dev_mod == "KindlePaperWhite2" or dev_mod == "KindleVoyage" or dev_mod == "KindleBasic" or dev_mod == "KindlePaperWhite3" or dev_mod == "KindleTouch" then
|
||||
if (pcall(require, "liblipclua")) then
|
||||
self.lipc_handle = lipc.init("com.github.koreader.activityindicator")
|
||||
end
|
||||
|
||||
@@ -69,6 +69,14 @@ local KindleVoyage = Kindle:new{
|
||||
touch_dev = "/dev/input/event1",
|
||||
}
|
||||
|
||||
local KindlePaperWhite3 = Kindle:new{
|
||||
model = "KindlePaperWhite3",
|
||||
isTouchDevice = yes,
|
||||
hasFrontlight = yes,
|
||||
display_dpi = 300,
|
||||
touch_dev = "/dev/input/event1",
|
||||
}
|
||||
|
||||
function Kindle2:init()
|
||||
self.screen = require("ffi/framebuffer_einkfb"):new{device = self, debug = DEBUG}
|
||||
self.input = require("device/input"):new{
|
||||
@@ -205,6 +213,21 @@ function KindleVoyage:init()
|
||||
self.input.open("fake_events")
|
||||
end
|
||||
|
||||
function KindlePaperWhite3:init()
|
||||
self.screen = require("ffi/framebuffer_mxcfb"):new{device = self, debug = DEBUG}
|
||||
self.powerd = require("device/kindle/powerd"):new{
|
||||
device = self,
|
||||
fl_intensity_file = "/sys/class/backlight/max77696-bl/brightness",
|
||||
batt_capacity_file = "/sys/devices/system/wario_battery/wario_battery0/battery_capacity",
|
||||
is_charging_file = "/sys/devices/system/wario_charger/wario_charger0/charging",
|
||||
}
|
||||
|
||||
Kindle.init(self)
|
||||
|
||||
self.input.open("/dev/input/event1")
|
||||
self.input.open("fake_events")
|
||||
end
|
||||
|
||||
--[[
|
||||
Test if a kindle device has Special Offers
|
||||
--]]
|
||||
@@ -246,6 +269,7 @@ KindlePaperWhite.exit = KindleTouch.exit
|
||||
KindlePaperWhite2.exit = KindleTouch.exit
|
||||
KindleBasic.exit = KindleTouch.exit
|
||||
KindleVoyage.exit = KindleTouch.exit
|
||||
KindlePaperWhite3.exit = KindleTouch.exit
|
||||
|
||||
function Kindle3:exit()
|
||||
-- send double menu key press events to trigger screen refresh
|
||||
@@ -269,6 +293,7 @@ end
|
||||
local kindle_sn = io.open("/proc/usid", "r")
|
||||
if not kindle_sn then return end
|
||||
local kindle_devcode = string.sub(kindle_sn:read(),3,4)
|
||||
local kindle_devcode_v2 = string.sub(kindle_sn:read(),4,6)
|
||||
kindle_sn:close()
|
||||
|
||||
-- NOTE: Update me when new devices come out :)
|
||||
@@ -283,6 +308,7 @@ local pw2_set = Set { "D4", "5A", "D5", "D6", "D7", "D8", "F2", "17",
|
||||
"60", "F4", "F9", "62", "61", "5F" }
|
||||
local kt2_set = Set { "C6", "DD" }
|
||||
local kv_set = Set { "13", "54", "2A", "4F", "52", "53" }
|
||||
local pw3_set = Set { "0G1", "0G2", "0G4", "0G5", "0G6", "0G7" }
|
||||
|
||||
if k2_set[kindle_devcode] then
|
||||
return Kindle2
|
||||
@@ -304,6 +330,8 @@ elseif kt2_set[kindle_devcode] then
|
||||
return KindleBasic
|
||||
elseif kv_set[kindle_devcode] then
|
||||
return KindleVoyage
|
||||
elseif pw3_set[kindle_devcode_v2] then
|
||||
return KindlePaperWhite3
|
||||
end
|
||||
|
||||
error("unknown Kindle model "..kindle_devcode)
|
||||
|
||||
@@ -26,11 +26,11 @@ local function koboEnableWifi(toggle)
|
||||
os.execute("sleep 2")
|
||||
os.execute("ifconfig eth0 up")
|
||||
os.execute("wlarm_le -i eth0 up")
|
||||
os.execute("pidof wpa_supplicant >/dev/null || wpa_supplicant -s -i eth0 -c /etc/wpa_supplicant/wpa_supplicant.conf -C /var/run/wpa_supplicant -B")
|
||||
os.execute("pidof wpa_supplicant >/dev/null || cd / && env -u LD_LIBRARY_PATH wpa_supplicant -s -i eth0 -c /etc/wpa_supplicant/wpa_supplicant.conf -C /var/run/wpa_supplicant -B")
|
||||
os.execute("sleep 1")
|
||||
os.execute("/sbin/udhcpc -S -i eth0 -s /etc/udhcpc.d/default.script -t15 -T10 -A3 -b -q >/dev/null 2>&1 &")
|
||||
os.execute("cd / && env -u LD_LIBRARY_PATH /sbin/udhcpc -S -i eth0 -s /etc/udhcpc.d/default.script -t15 -T10 -A3 -b -q >/dev/null 2>&1 &")
|
||||
else
|
||||
os.execute("killall udhcpc wpa_supplicant 2>/dev/null")
|
||||
os.execute("killall udhcpc default.script wpa_supplicant 2>/dev/null")
|
||||
os.execute("wlarm_le -i eth0 down")
|
||||
os.execute("ifconfig eth0 down")
|
||||
os.execute("rmmod -r dhd")
|
||||
|
||||
@@ -15,6 +15,13 @@ fi
|
||||
# We need to get the proper constants for our model...
|
||||
kmodel="$(cut -c3-4 /proc/usid)"
|
||||
case "${kmodel}" in
|
||||
"13" | "54" | "2A" | "4F" | "52" | "53" )
|
||||
# Voyage...
|
||||
SCREEN_X_RES=1088 # NOTE: Yes, 1088, not 1072 or 1080...
|
||||
SCREEN_Y_RES=1448
|
||||
EIPS_X_RES=16
|
||||
EIPS_Y_RES=24 # Manually mesured, should be accurate.
|
||||
;;
|
||||
"24" | "1B" | "1D" | "1F" | "1C" | "20" | "D4" | "5A" | "D5" | "D6" | "D7" | "D8" | "F2" | "17" | "60" | "F4" | "F9" | "62" | "61" | "5F" )
|
||||
# PaperWhite...
|
||||
SCREEN_X_RES=768 # NOTE: Yes, 768, not 758...
|
||||
@@ -22,20 +29,20 @@ case "${kmodel}" in
|
||||
EIPS_X_RES=16
|
||||
EIPS_Y_RES=24 # Manually mesured, should be accurate.
|
||||
;;
|
||||
"13" | "54" | "2A" | "4F" | "52" | "53" )
|
||||
# Kindle Voyage
|
||||
SCREEN_X_RES=1088 # NOTE: Yes, 1088, not 1072 or 1080...
|
||||
SCREEN_Y_RES=1448
|
||||
EIPS_X_RES=16
|
||||
EIPS_Y_RES=24 # Manually mesured, should be accurate.
|
||||
;;
|
||||
"C6" | "DD" )
|
||||
# KT2...
|
||||
SCREEN_X_RES=608 # NOTE: Might actually be 600...
|
||||
SCREEN_X_RES=608
|
||||
SCREEN_Y_RES=800
|
||||
EIPS_X_RES=16
|
||||
EIPS_Y_RES=24
|
||||
;;
|
||||
"0F" | "11" | "10" | "12" )
|
||||
# Touch
|
||||
SCREEN_X_RES=600 # _v_width @ upstart/functions
|
||||
SCREEN_Y_RES=800 # _v_height @ upstart/functions
|
||||
EIPS_X_RES=12 # from f_puts @ upstart/functions
|
||||
EIPS_Y_RES=20 # from f_puts @ upstart/functions
|
||||
;;
|
||||
* )
|
||||
# Handle legacy devices...
|
||||
if [ -f "/etc/rc.d/functions" ] && grep "EIPS" "/etc/rc.d/functions" > /dev/null 2>&1 ; then
|
||||
@@ -43,11 +50,24 @@ case "${kmodel}" in
|
||||
#. /etc/rc.d/functions
|
||||
echo "foo" >/dev/null
|
||||
else
|
||||
# Touch
|
||||
SCREEN_X_RES=600 # _v_width @ upstart/functions
|
||||
SCREEN_Y_RES=800 # _v_height @ upstart/functions
|
||||
EIPS_X_RES=12 # from f_puts @ upstart/functions
|
||||
EIPS_Y_RES=20 # from f_puts @ upstart/functions
|
||||
# Try the new device ID scheme...
|
||||
kmodel="$(cut -c4-6 /proc/usid)"
|
||||
case "${kmodel}" in
|
||||
"0G1" | "0G2" | "0G4" | "0G5" | "0G6" | "0G7" )
|
||||
# PW3... NOTE: Hopefully matches the KV...
|
||||
SCREEN_X_RES=1088
|
||||
SCREEN_Y_RES=1448
|
||||
EIPS_X_RES=16
|
||||
EIPS_Y_RES=24
|
||||
;;
|
||||
* )
|
||||
# Fallback... We shouldn't ever hit that.
|
||||
SCREEN_X_RES=600
|
||||
SCREEN_Y_RES=800
|
||||
EIPS_X_RES=12
|
||||
EIPS_Y_RES=20
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
@@ -29,6 +29,7 @@ export LANG="en_US.UTF-8"
|
||||
# Make sure we kill the WiFi first, because nickel apparently doesn't like it if it's up... (cf. #1520)
|
||||
# NOTE: That check is possibly wrong on PLATFORM == freescale (because I don't know if the sdio_wifi_pwr module exists there), but we don't terribly care about that.
|
||||
if lsmod | grep -q sdio_wifi_pwr ; then
|
||||
killall udhcpc default.script wpa_supplicant 2>/dev/null
|
||||
wlarm_le -i ${INTERFACE} down
|
||||
ifconfig ${INTERFACE} down
|
||||
# NOTE: Kobo's busybox build is weird. rmmod appears to be modprobe in disguise, defaulting to the -r flag. If re-specifying -r starts to fail one day, switch to rmmod without args, or modprobe -r.
|
||||
|
||||
Reference in New Issue
Block a user