luci-app-qmodem: add support for srm821 & nu313
This commit is contained in:
commit
6f5eefe240
@ -520,6 +520,62 @@
|
|||||||
{
|
{
|
||||||
"重启模组 > AT+RESET": "AT+RESET"
|
"重启模组 > AT+RESET": "AT+RESET"
|
||||||
}
|
}
|
||||||
|
],
|
||||||
|
"unisoc": [
|
||||||
|
{
|
||||||
|
"获取SIM卡卡槽状态 > AT^SIMSLOT?": "AT^SIMSLOT?"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"设置当前使用的为卡1 > AT^SIMSLOT=1": "AT^SIMSLOT=1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"设置当前使用的为卡2 > AT^SIMSLOT=2": "AT^SIMSLOT=2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"查询网络信息 > AT^SYSINFOEX": "AT^SYSINFOEX"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"查询载波聚合小区信息 > AT^CELLINFO=1": "AT^CELLINFO=1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"查询当前拨号模式 > AT+SER?": "AT+SER?"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"ECM拨号模式 > AT+SER=2,1": "AT+SER=2,1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"MBIM拨号模式 > AT+SER=3,1": "AT+SER=3,1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"RNDIS拨号模式 > AT+SER=3,1": "AT+SER=3,1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"NCM拨号模式 > AT+SER=1,1": "AT+SER=1,1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"锁4G > AT^SYSCFGEX=\"03\",all,0,2,all,all,all,all,1": "AT^SYSCFGEX=\"03\",all,0,2,all,all,all,all,1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"锁5G > AT^SYSCFGEX=\"04\",all,0,2,all,all,all,all,1": "AT^SYSCFGEX=\"04\",all,0,2,all,all,all,all,1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"恢复自动搜索网络 > AT^SYSCFGEX=\"00\",all,0,2,all,all,all,all,1": "AT^SYSCFGEX=\"00\",all,0,2,all,all,all,all,1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"查询模组IMEI > AT+LCTSN=0,7": "AT+LCTSN=0,7"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"更改模组IMEI > AT+LCTSN=1,7,\"IMEI\"": "AT+LCTSN=1,7,\"在此设置IMEI\""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"开启转网口 > AT+MGCFGEX=\"ETH_SWITCH\",1": "AT+MGCFGEX=\"ETH_SWITCH\",1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"获取模组温度 > AT+TEMP": "AT+TEMP"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"重启模组 > AT+RESET": "AT+RESET"
|
||||||
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"foxconn": {
|
"foxconn": {
|
||||||
|
@ -258,6 +258,9 @@ check_ip()
|
|||||||
"qualcomm")
|
"qualcomm")
|
||||||
check_ip_command="AT+CGPADDR=1"
|
check_ip_command="AT+CGPADDR=1"
|
||||||
;;
|
;;
|
||||||
|
"unisoc")
|
||||||
|
check_ip_command="AT+CGPADDR=1"
|
||||||
|
;;
|
||||||
esac
|
esac
|
||||||
;;
|
;;
|
||||||
"neoway")
|
"neoway")
|
||||||
@ -856,6 +859,10 @@ at_dial()
|
|||||||
at_command='AT$MYUSBNETACT=0,1'
|
at_command='AT$MYUSBNETACT=0,1'
|
||||||
cgdcont_command="AT+CGDCONT=1,\"$pdp_type\",\"$apn\""
|
cgdcont_command="AT+CGDCONT=1,\"$pdp_type\",\"$apn\""
|
||||||
;;
|
;;
|
||||||
|
"unisoc")
|
||||||
|
at_command=""
|
||||||
|
cgdcont_command="AT+CGDCONT=1,\"$pdp_type\",\"$apn\""
|
||||||
|
;;
|
||||||
esac
|
esac
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
@ -41,6 +41,30 @@
|
|||||||
"name": "rg801",
|
"name": "rg801",
|
||||||
"option_driver": 1
|
"option_driver": 1
|
||||||
},
|
},
|
||||||
|
"1782:4039": {
|
||||||
|
"name": "nu313-m2",
|
||||||
|
"mode": "ecm",
|
||||||
|
"option_driver": 1,
|
||||||
|
"include": [
|
||||||
|
"1.2"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"1782:4038": {
|
||||||
|
"name": "nu313-m2",
|
||||||
|
"mode": "rndis",
|
||||||
|
"option_driver": 1,
|
||||||
|
"include": [
|
||||||
|
"1.2"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"1782:4040": {
|
||||||
|
"name": "nu313-m2",
|
||||||
|
"mode": "ncm",
|
||||||
|
"option_driver": 1,
|
||||||
|
"include": [
|
||||||
|
"1.2"
|
||||||
|
]
|
||||||
|
},
|
||||||
"3763:3c93": {
|
"3763:3c93": {
|
||||||
"name": "nari-m601",
|
"name": "nari-m601",
|
||||||
"mode": "ecm",
|
"mode": "ecm",
|
||||||
|
@ -354,6 +354,9 @@ match_config()
|
|||||||
#rg200u-cn
|
#rg200u-cn
|
||||||
[[ "$name" = *"rg200u-cn"* ]] && name="rg200u-cn"
|
[[ "$name" = *"rg200u-cn"* ]] && name="rg200u-cn"
|
||||||
|
|
||||||
|
#nu313-m2
|
||||||
|
[[ "$name" = *"nu313-m2"* ]] && name="srm821"
|
||||||
|
|
||||||
#nari-m601
|
#nari-m601
|
||||||
[[ "$name" = *"m601"* ]] && name="n510m"
|
[[ "$name" = *"m601"* ]] && name="n510m"
|
||||||
|
|
||||||
|
@ -818,6 +818,18 @@
|
|||||||
"mbim",
|
"mbim",
|
||||||
"rmnet"
|
"rmnet"
|
||||||
]
|
]
|
||||||
|
},
|
||||||
|
"srm821": {
|
||||||
|
"manufacturer_id": "1782",
|
||||||
|
"manufacturer": "meig",
|
||||||
|
"platform": "unisoc",
|
||||||
|
"data_interface": "usb",
|
||||||
|
"define_connect": "1",
|
||||||
|
"modes": [
|
||||||
|
"ecm",
|
||||||
|
"rndis",
|
||||||
|
"ncm"
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"t99w373": {
|
"t99w373": {
|
||||||
"manufacturer_id": "05c6",
|
"manufacturer_id": "05c6",
|
||||||
@ -1256,13 +1268,17 @@
|
|||||||
"meig": {
|
"meig": {
|
||||||
"unisoc": {
|
"unisoc": {
|
||||||
"vendor_id": [
|
"vendor_id": [
|
||||||
"2dee"
|
"2dee",
|
||||||
|
"1782"
|
||||||
],
|
],
|
||||||
"product_id": [
|
"product_id": [
|
||||||
"4d50",
|
"4d50",
|
||||||
"4d51",
|
"4d51",
|
||||||
"4d52",
|
"4d52",
|
||||||
"4d53"
|
"4d53",
|
||||||
|
"4039",
|
||||||
|
"4038",
|
||||||
|
"4040"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"qualcomm": {
|
"qualcomm": {
|
||||||
|
@ -44,7 +44,7 @@ get_mode()
|
|||||||
*) mode="${mode_num}" ;;
|
*) mode="${mode_num}" ;;
|
||||||
esac
|
esac
|
||||||
;;
|
;;
|
||||||
"unisoc"|"lte12"|"lte")
|
"lte12"|"lte")
|
||||||
case "$mode_num" in
|
case "$mode_num" in
|
||||||
"2") mode="ecm" ;;
|
"2") mode="ecm" ;;
|
||||||
"3") mode="rndis" ;;
|
"3") mode="rndis" ;;
|
||||||
@ -52,6 +52,14 @@ get_mode()
|
|||||||
*) mode="${mode_num}" ;;
|
*) mode="${mode_num}" ;;
|
||||||
esac
|
esac
|
||||||
;;
|
;;
|
||||||
|
"unisoc")
|
||||||
|
case "$mode_num" in
|
||||||
|
"2") mode="ecm" ;;
|
||||||
|
"3") mode="rndis" ;;
|
||||||
|
"1") mode="ncm" ;;
|
||||||
|
*) mode="${mode_num}" ;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
*)
|
*)
|
||||||
mode="${mode_num}"
|
mode="${mode_num}"
|
||||||
;;
|
;;
|
||||||
@ -73,7 +81,7 @@ set_mode()
|
|||||||
{
|
{
|
||||||
local mode=$1
|
local mode=$1
|
||||||
case "$platform" in
|
case "$platform" in
|
||||||
"qualcomm"|"unisoc"|"lte12"|"lte")
|
"qualcomm"|"lte12"|"lte")
|
||||||
case "$mode" in
|
case "$mode" in
|
||||||
"ecm") mode_num="2" ;;
|
"ecm") mode_num="2" ;;
|
||||||
"rndis") mode_num="3" ;;
|
"rndis") mode_num="3" ;;
|
||||||
@ -81,6 +89,14 @@ set_mode()
|
|||||||
*) mode_num="1" ;;
|
*) mode_num="1" ;;
|
||||||
esac
|
esac
|
||||||
;;
|
;;
|
||||||
|
"unisoc")
|
||||||
|
case "$mode" in
|
||||||
|
"ecm") mode_num="2" ;;
|
||||||
|
"rndis") mode_num="3" ;;
|
||||||
|
"ncm") mode_num="1" ;;
|
||||||
|
*) mode_num="1" ;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
*)
|
*)
|
||||||
mode_num="1"
|
mode_num="1"
|
||||||
;;
|
;;
|
||||||
@ -176,12 +192,30 @@ get_voltage()
|
|||||||
get_temperature()
|
get_temperature()
|
||||||
{
|
{
|
||||||
at_command="AT+TEMP"
|
at_command="AT+TEMP"
|
||||||
local response=$(at ${at_port} ${at_command} | grep 'TEMP: "cpu0-0-usr"' | awk -F'"' '{print $4}')
|
local response
|
||||||
local temp
|
local temp
|
||||||
if [ -n "$response" ]; then
|
local degree_symbol=$(printf "\xc2\xb0")C
|
||||||
temp="${response}$(printf "\xc2\xb0")C"
|
|
||||||
|
# 根据平台选择不同的AT命令并提取温度值
|
||||||
|
if [ "$platform" = "unisoc" ]; then
|
||||||
|
response=$(at ${at_port} ${at_command} | grep 'TEMP: "soc-thmzone"' | awk -F'"' '{print $4}')
|
||||||
|
else
|
||||||
|
response=$(at ${at_port} ${at_command} | grep 'TEMP: "cpu0-0-usr"' | awk -F'"' '{print $4}')
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 处理响应值
|
||||||
|
if [ -n "$response" ]; then
|
||||||
|
if [ "$platform" = "unisoc" ]; then
|
||||||
|
# Unisoc平台需要将原始值除以1000并保留两位小数
|
||||||
|
temp_value=$(echo "scale=2; $response / 1000" | bc)
|
||||||
|
temp="${temp_value}${degree_symbol}"
|
||||||
else
|
else
|
||||||
temp="NaN $(printf "\xc2\xb0")C"
|
# 其他平台直接使用原始值
|
||||||
|
temp="${response}${degree_symbol}"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
# 无响应时显示NaN
|
||||||
|
temp="NaN ${degree_symbol}"
|
||||||
fi
|
fi
|
||||||
add_plain_info_entry "temperature" "$temp" "Temperature"
|
add_plain_info_entry "temperature" "$temp" "Temperature"
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user