diff --git a/docs/user/supported_devices.rst b/docs/user/supported_devices.rst index 36e822c8..19e3d2b3 100644 --- a/docs/user/supported_devices.rst +++ b/docs/user/supported_devices.rst @@ -147,6 +147,7 @@ ath79-nand - GL-AR300M - GL-AR750S + - GL-XE300 * Netgear diff --git a/package/gluon-core/luasrc/lib/gluon/upgrade/250-cellular b/package/gluon-core/luasrc/lib/gluon/upgrade/250-cellular index f428f67f..b60d8e6a 100755 --- a/package/gluon-core/luasrc/lib/gluon/upgrade/250-cellular +++ b/package/gluon-core/luasrc/lib/gluon/upgrade/250-cellular @@ -43,6 +43,10 @@ local function setup_ncm_qmi(devpath, control_type, delay) end if platform.match('ath79', 'nand', { + 'glinet,gl-xe300', +}) then + setup_ncm_qmi('/dev/cdc-wdm0', 'qmi', 15) +elseif platform.match('ath79', 'nand', { 'zte,mf281', }) then setup_ncm_qmi('/dev/ttyACM0', 'ncm', 15) diff --git a/package/gluon-core/luasrc/usr/lib/lua/gluon/platform.lua b/package/gluon-core/luasrc/usr/lib/lua/gluon/platform.lua index e3dae295..6debe8c5 100644 --- a/package/gluon-core/luasrc/usr/lib/lua/gluon/platform.lua +++ b/package/gluon-core/luasrc/usr/lib/lua/gluon/platform.lua @@ -74,6 +74,7 @@ end function M.is_cellular_device() if M.match('ath79', 'nand', { 'zte,mf281', + 'glinet,gl-xe300', }) then return true elseif M.match('ipq40xx', 'generic', { diff --git a/package/gluon-setup-mode/files/lib/gluon/setup-mode/rc.d/S96led b/package/gluon-setup-mode/files/lib/gluon/setup-mode/rc.d/S96led index c3ac6681..c456278f 100755 --- a/package/gluon-setup-mode/files/lib/gluon/setup-mode/rc.d/S96led +++ b/package/gluon-setup-mode/files/lib/gluon/setup-mode/rc.d/S96led @@ -3,18 +3,26 @@ START=96 start() { + local custom_led + /etc/init.d/led start . /etc/diag.sh get_status_led 2> /dev/null - if [ -z $status_led ]; then + if [ -z "$status_led" ]; then status_led="$running" fi - if [ -z $status_led ]; then + + if [ -z "$status_led" ]; then status_led="$boot" fi + custom_led="$(lua -e 'print(require("gluon.setup-mode").get_status_led() or "")')" + if [ -z "$status_led" ]; then + status_led="$custom_led" + fi + status_led_set_timer 1000 300 } diff --git a/package/gluon-setup-mode/luasrc/usr/lib/lua/gluon/setup-mode.lua b/package/gluon-setup-mode/luasrc/usr/lib/lua/gluon/setup-mode.lua new file mode 100644 index 00000000..3b107bf9 --- /dev/null +++ b/package/gluon-setup-mode/luasrc/usr/lib/lua/gluon/setup-mode.lua @@ -0,0 +1,14 @@ +local platform = require 'gluon.platform' + + +local M = {} + +function M.get_status_led() + if platform.match('ath79', 'nand', { + 'glinet,gl-xe300', + }) then + return "green:wlan" + end +end + +return M diff --git a/targets/ath79-nand b/targets/ath79-nand index 757d24a1..7dff2453 100644 --- a/targets/ath79-nand +++ b/targets/ath79-nand @@ -23,6 +23,9 @@ device('gl.inet-gl-ar750s-nor', 'glinet_gl-ar750s-nor', { packages = ATH10K_PACKAGES_QCA9887, }) +device('gl.inet-gl-xe300', 'glinet_gl-xe300', { + factory = false, +}) -- Netgear