描述问题
Telit FN990A28 支持不完整,有两个问题:
- 识别:
modem_support.json 只登记了 fn990a40,没有 fn990a28(FN990 家族有 A40/A28 两个型号,AT 命令集和 USB composition 完全相同),导致 FN990A28 的 AT+CGMM 返回 "FN990A28" 归一化后查不到 profile,扫描器报 modem profile not matched。
- 拨号:补上 profile 识别成功后,QMI 拨号一直失败。FN990 在 5G SA 下网络自动建立默认 PDU 会话(模组已拿到运营商 IP),quectel-CM-M 再
requestSetupDataCall 新建同配置会话被拒,报 call_end_reason_verbose = 241(INTERFACE_IN_USE_CONFIG_MATCH),无限重试。MBIM 模式同样失败(mbim_set_connect Status=2)。RNDIS 模式(#USBCFG=0 + 自带自动建链)才能通。
Describe the Issue
Telit FN990A28 support is incomplete:
- Recognition:
modem_support.json only has fn990a40, not fn990a28 (the FN990 family has A40/A28 variants with identical AT command sets and USB compositions), so FN990A28 fails to match → modem profile not matched.
- Dialing: after recognition is fixed, QMI dialing keeps failing. On 5G SA the FN990 auto-establishes the default PDU session (modem already has a carrier IP), and quectel-CM-M's
requestSetupDataCall is rejected with call_end_reason_verbose = 241 (INTERFACE_IN_USE_CONFIG_MATCH), retrying forever. MBIM mode fails the same way (Status=2). Only RNDIS mode works.
复现方法
- 模组保持默认 QMI 组合(
AT#USBCFG=1,PID 1bc7:1070)。
- QModem 识别到模组(识别修复后 name=fn990a28)并启用拨号(apn=
3gnet,force_set_apn=1)。
- 观察拨号日志持续报 241,
wwan0 无载波、拿不到 IP,接口一直 down。
Steps to Reproduce
- Keep the modem in QMI composition (
AT#USBCFG=1, PID 1bc7:1070).
- After recognition is fixed (name=fn990a28), enable dialing (apn=
3gnet, force_set_apn=1).
- The dial log keeps showing 241;
wwan0 has no carrier and never gets an IP.
期望行为
quectel-CM-M 应检测到已存在的默认 PDU 会话并复用(查询 current settings / 直接把 IP 绑到接口),而不是永远 requestSetupDataCall 新建一条。
Expected Behavior
quectel-CM-M should detect and reuse the already-active default PDU session instead of always issuing a new requestSetupDataCall.
屏幕截图
(无 / N/A)
Screenshots
日志信息
Log Information
模组配置 (Module Configuration)
# uci show qmodem
qmodem.6_1=modem-device
qmodem.6_1.path='/sys/bus/usb/devices/6-1/'
qmodem.6_1.data_interface='usb'
qmodem.6_1.enable_dial='1'
qmodem.6_1.pdp_type='ipv4v6'
qmodem.6_1.metric='11'
qmodem.6_1.name='fn990a28'
qmodem.6_1.manufacturer='telit'
qmodem.6_1.platform='qualcomm'
qmodem.6_1.suggest_pdp_index='1'
qmodem.6_1.at_port='/dev/ttyUSB3'
qmodem.6_1.apn='3gnet'
qmodem.6_1.force_set_apn='1'
qmodem.6_1.modes='mbim' 'rndis' 'qmi' 'ecm'
qmodem.6_1.valid_at_ports='/dev/ttyUSB3' '/dev/ttyUSB4' '/dev/ttyUSB2'
网络配置 (Network Configuration)
# uci show network(QMI 模式下 device 为 wwan0,RNDIS 模式下为 eth2)
network.wan=interface
network.wan.device='eth0'
network.wan.proto='dhcp'
network.6_1=interface
network.6_1.modem_config='6_1'
network.6_1.proto='dhcp'
network.6_1.defaultroute='1'
network.6_1.metric='11'
network.6_1.device='eth2'
network.6_1v6=interface
network.6_1v6.proto='dhcpv6'
network.6_1v6.device='@6_1'
系统日志 (System Logs)
# 识别(修复前报 profile not matched,修复后正常)
modem_scand: slot=6-1 type=usb modem profile not matched # 修复前
modem_scand: added modem section=6_1 name=fn990a28 type=usb ports=3 valid=3 # 修复后
# QMI 拨号日志 /var/run/qmodem/6_1_dir/dial_log(核心证据,无限重试 241)
requestGetProfile[pdp:1 index:1] 3gnet///0/IPV4V6
requestSetProfile[pdp:1 index:1] 3gnet///0/IPV4
requestRegistrationState2 MCC: 460, MNC: 1, PS: Attached, DataCap: 5G_SA
requestSetupDataCall QMUXResult = 0x1, QMUXError = 0xe
call_end_reason is 1
call_end_reason_type is 2
call_end_reason_verbose is 241
try to requestSetupDataCall 5 second later
requestSetupDataCall QMUXResult = 0x1, QMUXError = 0xe
call_end_reason_verbose is 241
try to requestSetupDataCall 10 second later
...
# AT 侧证据:会话其实已经自动建立、拿到 IP
AT+C5GREG? -> +C5GREG: 0,1 (5G 已注册回家网)
AT+CGACT? -> +CGACT: 1,1 (context 1 已激活)
AT+CGCONTRDP=1 -> +CGCONTRDP: 1,1,"3gnet","10.46.243.196", 网关 10.46.243.197, DNS 202.102.224.68
AT+CGACT=0,1 -> ERROR (always-on 会话 UE 侧关不掉)
# MBIM 模式(#USBCFG=2)同样失败
mbim_set_connect(onoff=1, sessionID=0)
< Status = 2
< ActivationState = Deactivated (3)
mbim_set_connect:2023 err=0, Status=2
内核日志 (Kernel Logs)
# QMI 模式(0x1070)下接口 2 绑定 qmi_wwan_q
qmi_wwan_q 6-1:1.2: cdc-wdm0: USB WDM device
qmi_wwan_q 6-1:1.2 wwan0: register 'qmi_wwan_q' at usb-xhci-hcd.1.auto-1
# option 驱动绑定串口
option 6-1:1.0: GSM modem (1-port) converter detected -> ttyUSB0
option 6-1:1.4: GSM modem (1-port) converter detected -> ttyUSB1
option 6-1:1.5: GSM modem (1-port) converter detected -> ttyUSB2
option 6-1:1.6: GSM modem (1-port) converter detected -> ttyUSB3
option 6-1:1.7: GSM modem (1-port) converter detected -> ttyUSB4
USB设备信息 (USB Devices)
# QMI 模式(默认,#USBCFG=1)
Bus 006 Device 002: ID 1bc7:1070 Telit Wireless Solutions FN990
|__ Port 001: Dev 002, If 0, Driver=option
|__ Port 001: Dev 002, If 1, Driver=[none] (ADB)
|__ Port 001: Dev 002, If 2, Driver=qmi_wwan_q (RmNet/QMI)
|__ Port 001: Dev 002, If 3, Driver=option (NMEA)
|__ Port 001: Dev 002, If 4, Driver=option (MODEM/AT)
|__ Port 001: Dev 002, If 5, Driver=option (MODEM)
|__ Port 001: Dev 002, If 6, Driver=option (AUX)
# 当前 workaround:RNDIS 模式(#USBCFG=0)
Bus 006 Device 006: ID 1bc7:1072 Telit Wireless Solutions FN990
|__ Port 001: Dev 006, If 0, Driver=rndis_host
|__ Port 001: Dev 006, If 1, Driver=rndis_host
|__ Port 001: Dev 006, If 2, Driver=option
|__ Port 001: Dev 006, If 3, Driver=[none]
|__ Port 001: Dev 006, If 4, Driver=option
|__ Port 001: Dev 006, If 5, Driver=option
|__ Port 001: Dev 006, If 6, Driver=option
|__ Port 001: Dev 006, If 7, Driver=option
模组扫描 (Module Scanning)
# /usr/share/qmodem/modem_scan.sh scan
{"code":0,"message":"queued"}
# 扫描结果(logread)
modem_scand: added modem section=6_1 name=fn990a28 type=usb ports=3 valid=3
描述问题
Telit FN990A28 支持不完整,有两个问题:
modem_support.json只登记了fn990a40,没有fn990a28(FN990 家族有 A40/A28 两个型号,AT 命令集和 USB composition 完全相同),导致 FN990A28 的AT+CGMM返回 "FN990A28" 归一化后查不到 profile,扫描器报modem profile not matched。requestSetupDataCall新建同配置会话被拒,报call_end_reason_verbose = 241(INTERFACE_IN_USE_CONFIG_MATCH),无限重试。MBIM 模式同样失败(mbim_set_connectStatus=2)。RNDIS 模式(#USBCFG=0+ 自带自动建链)才能通。Describe the Issue
Telit FN990A28 support is incomplete:
modem_support.jsononly hasfn990a40, notfn990a28(the FN990 family has A40/A28 variants with identical AT command sets and USB compositions), so FN990A28 fails to match →modem profile not matched.requestSetupDataCallis rejected withcall_end_reason_verbose = 241(INTERFACE_IN_USE_CONFIG_MATCH), retrying forever. MBIM mode fails the same way (Status=2). Only RNDIS mode works.复现方法
AT#USBCFG=1,PID1bc7:1070)。3gnet,force_set_apn=1)。wwan0无载波、拿不到 IP,接口一直 down。Steps to Reproduce
AT#USBCFG=1, PID1bc7:1070).3gnet, force_set_apn=1).wwan0has no carrier and never gets an IP.期望行为
quectel-CM-M 应检测到已存在的默认 PDU 会话并复用(查询 current settings / 直接把 IP 绑到接口),而不是永远
requestSetupDataCall新建一条。Expected Behavior
quectel-CM-M should detect and reuse the already-active default PDU session instead of always issuing a new
requestSetupDataCall.屏幕截图
(无 / N/A)
Screenshots
日志信息
Log Information
模组配置 (Module Configuration)
网络配置 (Network Configuration)
系统日志 (System Logs)
内核日志 (Kernel Logs)
USB设备信息 (USB Devices)
模组扫描 (Module Scanning)