Move enablemodem from ramips to new package adb-enablemodem and make it used also by TL-MR6400
Signed-off-by: Filip Moc <lede@moc6.cz>
This commit is contained in:
parent
a639cbfd00
commit
43e4e1f4a5
5 changed files with 92 additions and 19 deletions
26
package/network/utils/adb-enablemodem/Makefile
Normal file
26
package/network/utils/adb-enablemodem/Makefile
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
|
PKG_NAME:=adb-enablemodem
|
||||||
|
PKG_VERSION:=2017-03-05
|
||||||
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
|
||||||
|
define Package/adb-enablemodem
|
||||||
|
SECTION:=net
|
||||||
|
CATEGORY:=Network
|
||||||
|
SUBMENU:=WWAN
|
||||||
|
TITLE:=Enable modem via adb
|
||||||
|
DEPENDS:=+adb
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Build/Compile
|
||||||
|
true
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/adb-enablemodem/install
|
||||||
|
$(INSTALL_DIR) $(1)/etc/init.d
|
||||||
|
$(INSTALL_BIN) ./files/adb-enablemodem $(1)/etc/init.d/adb-enablemodem
|
||||||
|
endef
|
||||||
|
|
||||||
|
$(eval $(call BuildPackage,adb-enablemodem))
|
64
package/network/utils/adb-enablemodem/files/adb-enablemodem
Normal file
64
package/network/utils/adb-enablemodem/files/adb-enablemodem
Normal file
|
@ -0,0 +1,64 @@
|
||||||
|
#!/bin/sh /etc/rc.common
|
||||||
|
|
||||||
|
START=99
|
||||||
|
|
||||||
|
adb_exec() {
|
||||||
|
adb -s "$serial" shell "( $1 ) >/dev/null 2>&1"'; printf "\nEXIT_CODE: %i\n" $?' | head -c 64 | grep -qx 'EXIT_CODE: 0\r\?'
|
||||||
|
}
|
||||||
|
|
||||||
|
enablemodem_do() {
|
||||||
|
logger -t adb-enablemodem 'INFO: waiting for device'
|
||||||
|
adb wait-for-device
|
||||||
|
serial="$(adb get-serialno)"
|
||||||
|
|
||||||
|
vendor_id="$(adb -s "$serial" shell 'uci get product.usb.vid' | head -c 16 | tr -d '\r\n')"
|
||||||
|
product_id="$(adb -s "$serial" shell 'uci get product.usb.pid' | head -c 16 | tr -d '\r\n')"
|
||||||
|
|
||||||
|
case "$vendor_id:$product_id" in
|
||||||
|
"0x2357:0x000D") # TP-LINK LTE MODULE
|
||||||
|
case "$1" in
|
||||||
|
start)
|
||||||
|
if adb_exec '
|
||||||
|
chmod +x /WEBSERVER/www/cgi-bin/*
|
||||||
|
fds="$(ls /proc/$$/fd | grep -v "^[012]$")"
|
||||||
|
for fd in $fds; do
|
||||||
|
eval "exec $fd>&-"
|
||||||
|
done
|
||||||
|
start-stop-daemon -x httpd -S -- -h /WEBSERVER/www/
|
||||||
|
'; then
|
||||||
|
logger -t adb-enablemodem 'INFO: httpd on modem started'
|
||||||
|
else
|
||||||
|
logger -t adb-enablemodem 'ERROR: failed to start httpd on modem'
|
||||||
|
fi
|
||||||
|
option_newid='/sys/bus/usb-serial/drivers/option1/new_id'
|
||||||
|
if [ -e "$option_newid" ]; then
|
||||||
|
printf '%s %s' "$vendor_id" "$product_id" > "$option_newid"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
stop)
|
||||||
|
if adb_exec 'start-stop-daemon -x httpd -K'; then
|
||||||
|
logger -t adb-enablemodem 'INFO: httpd on modem stopped'
|
||||||
|
else
|
||||||
|
logger -t adb-enablemodem 'ERROR: failed to stop httpd on modem'
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
logger -t adb-enablemodem "ERROR: unknown device $vendor_id:$product_id"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
start() {
|
||||||
|
( enablemodem_do start ) &
|
||||||
|
}
|
||||||
|
|
||||||
|
stop() {
|
||||||
|
( enablemodem_do stop ) &
|
||||||
|
}
|
||||||
|
|
||||||
|
restart() {
|
||||||
|
( enablemodem_do stop; enablemodem_do start ) &
|
||||||
|
}
|
||||||
|
|
|
@ -455,7 +455,7 @@ TARGET_DEVICES += tl-mr3020-v1 tl-mr3040-v1 tl-mr3040-v2 tl-mr3220-v1 tl-mr3220-
|
||||||
define Device/tl-mr6400-v1
|
define Device/tl-mr6400-v1
|
||||||
$(Device/tplink-8mlzma)
|
$(Device/tplink-8mlzma)
|
||||||
DEVICE_TITLE := TP-LINK TL-MR6400 v1
|
DEVICE_TITLE := TP-LINK TL-MR6400 v1
|
||||||
DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-net kmod-usb-net-rndis kmod-usb-serial kmod-usb-serial-option adb
|
DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-net kmod-usb-net-rndis kmod-usb-serial kmod-usb-serial-option adb-enablemodem
|
||||||
BOARDNAME := TL-MR6400
|
BOARDNAME := TL-MR6400
|
||||||
DEVICE_PROFILE := TLMR6400
|
DEVICE_PROFILE := TLMR6400
|
||||||
TPLINK_HWID := 0x64000001
|
TPLINK_HWID := 0x64000001
|
||||||
|
|
|
@ -1,17 +0,0 @@
|
||||||
#!/bin/sh /etc/rc.common
|
|
||||||
|
|
||||||
START=99
|
|
||||||
|
|
||||||
start() {
|
|
||||||
. /lib/ramips.sh
|
|
||||||
|
|
||||||
local board=$(ramips_board_name)
|
|
||||||
if [ $board = "mr200" ]; then
|
|
||||||
adb wait-for-device
|
|
||||||
adb shell chmod +x /WEBSERVER/www/cgi-bin/*
|
|
||||||
adb shell httpd -h /WEBSERVER/www/ &
|
|
||||||
echo "2357 000d" > /sys/bus/usb-serial/drivers/option1/new_id
|
|
||||||
sleep 2
|
|
||||||
adb kill-server
|
|
||||||
fi
|
|
||||||
}
|
|
|
@ -58,7 +58,7 @@ define Device/ArcherMR200
|
||||||
KERNEL := $(KERNEL_DTB)
|
KERNEL := $(KERNEL_DTB)
|
||||||
KERNEL_INITRAMFS := $(KERNEL_DTB) | tplink-header ArcherMR200 -c
|
KERNEL_INITRAMFS := $(KERNEL_DTB) | tplink-header ArcherMR200 -c
|
||||||
IMAGE/sysupgrade.bin := append-kernel | tplink-header ArcherMR200 -j -s | append-metadata
|
IMAGE/sysupgrade.bin := append-kernel | tplink-header ArcherMR200 -j -s | append-metadata
|
||||||
DEVICE_PACKAGES := kmod-usb2 kmod-usb-net kmod-usb-net-rndis kmod-usb-serial kmod-usb-serial-option adb
|
DEVICE_PACKAGES := kmod-usb2 kmod-usb-net kmod-usb-net-rndis kmod-usb-serial kmod-usb-serial-option adb-enablemodem
|
||||||
DEVICE_TITLE := TP-Link ArcherMR200
|
DEVICE_TITLE := TP-Link ArcherMR200
|
||||||
endef
|
endef
|
||||||
TARGET_DEVICES += ArcherMR200
|
TARGET_DEVICES += ArcherMR200
|
||||||
|
|
Loading…
Reference in a new issue