Skip to content

[BUG]qmodem_init脚本错误? 拨号总览,有两个拨号状态问题#75|Fuck H29K #179

@im-zhou

Description

@im-zhou

问题同#75

经查以下代码

_try_usb_device()
{
config_get data_interface $1 data_interface
[ "$data_interface" == "usb" ] && _try_device
}
_try_pcie_device()
{
config_get data_interface $1 data_interface
[ "$data_interface" == "pcie" ] && _try_device
}

在调用中, _try_device并没有传参, 导致_try_device实际并不会有效执行
_try_device()
{
config_get path "$1" path
config_get type "$1" type
config_get network "$1" network
case "$type" in
usb)
path="/sys/bus/usb/devices/${path}"
;;
pcie)
path="/sys/bus/pci/devices/${path}"
;;
esac
if [ ! -d "$path" ]; then
/usr/share/qmodem/modem_scan.sh disable "$1"
return
fi
# if device_path not parent of netdevice_path,then disable device path an scan again
netdevice_path=`readlink -f /sys/class/net/$network/device/`
device_path=`readlink -f $path`
is_parent=`echo "$device_path" | grep -q "^$netdevice_path"`
if [ -z "$is_parent" ] || [ ! -d "$netdevice_path" ]; then
/usr/share/qmodem/modem_scan.sh disable "$1"
/usr/share/qmodem/modem_scan.sh add "$path" "$slot"
fi
}

并且查看配置文件后发现path为完整路径不需要二次拼接

root@H29K:~# uci show qmodem
qmodem.main=main
qmodem.main.enable_dial='1'
qmodem.main.try_preset_usb='1'
qmodem.main.try_preset_pcie='1'
qmodem.main.start_delay='0'
qmodem.main.enable_usb_scan='1'
qmodem.main.modem_count='4'
qmodem.3_1=modem-device
qmodem.3_1.path='/sys/bus/usb/devices/3-1/'
qmodem.3_1.data_interface='usb'
...
qmodem.4_1=modem-device
qmodem.4_1.path='/sys/bus/usb/devices/4-1/'
qmodem.4_1.data_interface='usb'
...

建议修改如下,经测可正常disable无效的profile (顺便删除无效的网卡别名)
im-zhou/QModem@c18a427

@@ -70,13 +70,13 @@ _try_usb_slot()
 _try_usb_device()
 {
     config_get data_interface $1 data_interface
-    [ "$data_interface" == "usb" ] && _try_device
+    [ "$data_interface" == "usb" ] && _try_device $1
 }

 _try_pcie_device()
 {
     config_get data_interface $1 data_interface
-    [ "$data_interface" == "pcie" ] && _try_device
+    [ "$data_interface" == "pcie" ] && _try_device $1
 }

 _scan_usb()
@@ -127,18 +127,13 @@ _try_slot()
 _try_device()
 {
     config_get path "$1" path
-    config_get type "$1" type
     config_get network "$1" network
-    case "$type" in
-        usb)
-            path="/sys/bus/usb/devices/${path}"
-            ;;
-        pcie)
-            path="/sys/bus/pci/devices/${path}"
-            ;;
-    esac
     if [ ! -d "$path" ]; then
         /usr/share/qmodem/modem_scan.sh disable "$1"
+        uci delete network.$1
+        uci delete network.${1}v6
+        uci commit network
+        /etc/init.d/network reload
         return
     fi
     # if device_path not parent of netdevice_path,then disable device path an scan again
Image

另外检查拨号log发现一直有输出 modem_dial:at port response unexpected, 但是貌似并不影响使用? 或不会明显感知
#111 修改PDP上下文序号1时, 就无法获取到ip了, 留空时正常, 详见下述log

点击展开
[2026-02-26 09:24:15] modem_dial:at port response unexpected  
[2026-02-26 09:24:30] modem_hang:hang up /sys/bus/usb/devices/3-1/ driver rndis 
[2026-02-26 09:24:30] modem_hang:ecm_hang 
[2026-02-26 09:24:30] modem_hang:auto_dial_hang 
[2026-02-26 09:24:31] modem_hang:delete interface 3_1 
[2026-02-26 09:24:31] modem_dial:modem_path=/sys/bus/usb/devices/3-1/,driver=rndis,interface=3_1,at_port=/dev/ttyUSB3,using_sim_slot:1,dns_list: 
[2026-02-26 09:24:36] modem_dial:info sim card is ready 
[2026-02-26 09:24:36] modem_dial:create interface 3_1 with proto static and metric 14 
[2026-02-26 09:25:06] modem_dial:network reload 
[2026-02-26 09:25:09] modem_dial:firewall reload 
[2026-02-26 09:25:10] modem_dial:set interface 3_1 to eth1 
[2026-02-26 09:25:10] modem_dial:dialing /sys/bus/usb/devices/3-1/ driver rndis 
[2026-02-26 09:25:10] modem_dial:dialing: vendor:fibocom; platform:mediatek; driver:rndis; apn:cbnet; command:AT+CGACT=1,1 
[2026-02-26 09:25:10] modem_dial:dial_cmd: AT+CGACT=1,1; cgdcont_cmd: AT+CGDCONT=1,"IP","cbnet"; ppp_auth_cmd:  
[2026-02-26 09:25:21] modem_dial:at port response unexpected  
[2026-02-26 09:25:26] modem_dial:at port response unexpected  
[2026-02-26 09:25:31] modem_dial:ip changed from , to ,0.0.0.0
0.0.0.0
24.151.166.212
158.188.207.222 
[2026-02-26 09:25:31] modem_dial:ip_change_fm350 
[2026-02-26 09:25:31] modem_dial:set interface 3_1 to  
[2026-02-26 09:26:08] modem_dial:at port response unexpected  
[2026-02-26 09:26:29] modem_dial:at port response unexpected  
[2026-02-26 09:26:29] modem_dial:dialing: vendor:fibocom; platform:mediatek; driver:rndis; apn:cbnet; command:AT+CGACT=1,1 
[2026-02-26 09:26:29] modem_dial:dial_cmd: AT+CGACT=1,1; cgdcont_cmd: AT+CGDCONT=1,"IP","cbnet"; ppp_auth_cmd:  
[2026-02-26 09:26:35] modem_dial:at port response unexpected  
[2026-02-26 09:26:41] modem_dial:at port response unexpected  
[2026-02-26 09:27:05] modem_dial:at port response unexpected  
[2026-02-26 09:28:16] modem_hang:hang up /sys/bus/usb/devices/3-1/ driver rndis 
[2026-02-26 09:28:16] modem_hang:ecm_hang 
[2026-02-26 09:28:16] modem_hang:auto_dial_hang 
[2026-02-26 09:28:17] modem_hang:delete interface 3_1 
[2026-02-26 09:28:23] modem_dial:modem_path=/sys/bus/usb/devices/3-1/,driver=rndis,interface=3_1,at_port=/dev/ttyUSB3,using_sim_slot:1,dns_list: 
[2026-02-26 09:28:32] modem_dial:info sim card is ready 
[2026-02-26 09:28:32] modem_dial:create interface 3_1 with proto static and metric 14 
[2026-02-26 09:28:32] modem_dial:network reload 
[2026-02-26 09:28:36] modem_dial:firewall reload 
[2026-02-26 09:28:36] modem_dial:set interface 3_1 to eth1 
[2026-02-26 09:28:36] modem_dial:dialing /sys/bus/usb/devices/3-1/ driver rndis 
[2026-02-26 09:28:39] modem_dial:dialing: vendor:fibocom; platform:mediatek; driver:rndis; apn:cbnet; command:AT+CGACT=1,3 
[2026-02-26 09:28:39] modem_dial:dial_cmd: AT+CGACT=1,3; cgdcont_cmd: AT+CGDCONT=3,"IP","cbnet"; ppp_auth_cmd:  
[2026-02-26 09:28:44] modem_dial:ip changed from , to ,10.26.231.165 
[2026-02-26 09:28:44] modem_dial:ip_change_fm350 
[2026-02-26 09:28:47] modem_dial:set interface 3_1 to 10.26.231.165 
[2026-02-26 09:29:54] modem_dial:at port response unexpected  
[2026-02-26 09:30:49] modem_dial:at port response unexpected  
[2026-02-26 09:31:40] modem_dial:at port response unexpected  
[2026-02-26 09:31:45] modem_dial:at port response unexpected  
[2026-02-26 09:31:45] modem_dial:dialing: vendor:fibocom; platform:mediatek; driver:rndis; apn:cbnet; command:AT+CGACT=1,3 
[2026-02-26 09:31:45] modem_dial:dial_cmd: AT+CGACT=1,3; cgdcont_cmd: AT+CGDCONT=3,"IP","cbnet"; ppp_auth_cmd:  
[2026-02-26 09:32:23] modem_dial:at port response unexpected  
[2026-02-26 09:32:46] modem_dial:at port response unexpected  
[2026-02-26 09:32:54] modem_dial:at port response unexpected  
[2026-02-26 09:33:14] modem_dial:at port response unexpected  
[2026-02-26 09:33:14] modem_dial:dialing: vendor:fibocom; platform:mediatek; driver:rndis; apn:cbnet; command:AT+CGACT=1,3 
[2026-02-26 09:33:14] modem_dial:dial_cmd: AT+CGACT=1,3; cgdcont_cmd: AT+CGDCONT=3,"IP","cbnet"; ppp_auth_cmd:  
[2026-02-26 09:33:22] modem_dial:at port response unexpected  
[2026-02-26 09:33:30] modem_dial:at port response unexpected  
[2026-02-26 09:33:35] modem_dial:at port response unexpected  
[2026-02-26 09:33:55] modem_dial:at port response unexpected  
[2026-02-26 09:33:55] modem_dial:dialing: vendor:fibocom; platform:mediatek; driver:rndis; apn:cbnet; command:AT+CGACT=1,3 
[2026-02-26 09:33:55] modem_dial:dial_cmd: AT+CGACT=1,3; cgdcont_cmd: AT+CGDCONT=3,"IP","cbnet"; ppp_auth_cmd:  
[2026-02-26 09:34:06] modem_dial:at port response unexpected  
[2026-02-26 09:34:14] modem_dial:at port response unexpected  
[2026-02-26 09:34:35] modem_dial:at port response unexpected  
[2026-02-26 09:34:55] modem_dial:at port response unexpected  
[2026-02-26 09:34:55] modem_dial:dialing: vendor:fibocom; platform:mediatek; driver:rndis; apn:cbnet; command:AT+CGACT=1,3 
[2026-02-26 09:34:55] modem_dial:dial_cmd: AT+CGACT=1,3; cgdcont_cmd: AT+CGDCONT=3,"IP","cbnet"; ppp_auth_cmd:  
[2026-02-26 09:35:37] modem_dial:at port response unexpected  
[2026-02-26 09:35:45] modem_dial:at port response unexpected  
[2026-02-26 09:35:53] modem_dial:at port response unexpected  
[2026-02-26 09:36:16] modem_dial:at port response unexpected  
...

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions