安装文件来自于 U100 Team
https://mega.nz/file/hGllFajb#krXAzWRNrPvEu_BipICrsZcUVKXVeS9guBxijz9lsyA
(原帖: https://xdaforums.com/t/qualcomm-qxdm5-qcat-pcat-qdart-qrct-tools.4296027/page-24)
https://1818633696.share.123pan.cn/123pan/CuZhjv-apYN?pwd=yVGx (资源包里面那个 QualcommInstaller-xda-U100(QXDM5.5.1.350.1).exe 就是)
0. 将系统时间改为2022年7月或者之前(我设置的是2022年1月),并关掉时间自动更新。
1. 安装时断开网络
2. 它首先会安装 vc
3. 然后会安装QPM,会出现一个登录界面,不要理它,它会自动关闭。 接着会出现一个提示对话框。
提示对话框会教你下一步怎么做。
4. QPM登录界面,再次出现。随便输入username和password, 点击 Sign In , 报错。再次点击 Sign In 就进取了。
QPM 就以离线模式启动了,点击 右上角齿轮(gear)按钮, 弹出菜单,选择Patching Qualcomm Tools
此时,点击Refresh ,只能看到QPM, 如果你是用U100 给的安装器 作的全新安装的话。
5. 剩下等它自动安装完。
用qxdm和qcat分析volte信令
所有
cdc_ether与下一跳网关地址
在 cdc_ether(以太网模拟模式的蜂窝网卡/USB 网卡)这类二层广播接口(Broadcast/Ethernet)上配置跨网段的 IPv6 路由时,必须指定下一跳网关地址(via ra_router_ll),否则内核无法完成邻居发现(NDP)解析。
在 Linux 路由表中,带不带 via 代表两种完全不同的转发逻辑:
不带 via(ip -6 route add prefix/32 dev cdc_ether):
这被称为 On-link(直连/链路本地)路由。它告诉 Linux 内核:“目标 IP 就在 cdc_ether 这根网线上,不需要经过路由器转发。” 当内核发送数据包给 P-CSCF 时,会直接在 cdc_ether 接口上发送 NDP 邻居请求(Neighbor Solicitation, NS),广播询问:“谁拥有 pcscf_ip?请告诉我你的 MAC 地址。”
带 via(ip -6 route add prefix/32 via ra_router_ll dev cdc_ether):
这被称为 Gateway(网关/下一跳)路由。它告诉内核:“目标 IP 在远端网络,请把数据包交给下一跳路由器 ra_router_ll。” 此时内核只会向 ra_router_ll 请求 MAC 地址,并将目标 IP 为 P-CSCF 的数据包封装上路由器的 MAC 地址发送出去。
cdc_ether 这条链路上真正的对端设备只有调制解调器(ECM 接口);P-CSCF 在运营商核心网里,与终端的 /64 前缀根本不在同一个二层链路上。所以 dev-only 的写法会对 P-CSCF 地址发 NS——通常没人应答,邻居解析 INCOMPLETE/FAILED,包根本发不出去。加了 via fe80::Y 后,目的 MAC 改成调制解调器的,由它在网络层继续转发,这才符合真实拓扑。
部分 USB 4G/5G 模组固件为了兼容不规范的路由配置,会在内部开启“NDP 代答”(Proxy NDP)。当你的主机直接对 pcscf_ip 发送 NS 请求时,模组固件会假装自己是 P-CSCF 并回复自己的 MAC 地址,从而让不带 via 的直连路由“歪打正着”地跑通。一旦升级了模组固件、更换了网卡型号,或者模组切换了工作模式,模组不再替远端 IP 代答 NS 请求,内核就会报错 Destination unreachable: Address unreachable(通过 ip -6 neigh show dev cdc_ether 可以看到目标 P-CSCF IP 处于 FAILED 或 INCOMPLETE 状态)。
如何用 ip -6 route 获取 ra_router_ll
ra_router_ll=$(ip -6 route show default dev cdc_ether | awk '/via/ {for(i=1;i<=NF;i++) if($i=="via") print $(i+1); exit}')
或者
GW=$(ip -6 route show default dev cdc_ether | awk '/^default via/ {print $3; exit}')
或者
import json, subprocess
out = subprocess.check_output(
["ip", "-j", "-6", "route", "show", "default", "dev", "cdc_ether"]
)
gw = json.loads(out)[0]["gateway"] # fe80::...
如果默认路由已经被不小心删掉了,只要还没有清空邻居表,也可以通过 ip -6 neigh show dev cdc_ether | grep router 找到带有 router 标记的 fe80:: 地址。
另外一个方法:rdisc6 cdc_ether(ndisc6 包)主动发 RS,从应答源地址读 fe80::
P-CSCF的发现
IMS 的 P-CSCF(Proxy-Call Session Control Function)地址发现主要在建立 ims 专用 APN 的 PDN 连接时,由基带通过 NAS 信令中的 PCO(Protocol Configuration Options) 向核心网(PGW/SMF)请求并获取。
附着或建立 IMS PDN 连接时,网络在 Activate default EPS bearer context request 的 PCO 字段里下发 P-CSCF 地址(Container ID 0x000C 为 IPv6,0x000A 为 IPv4)。
在应用层或调试过程中,可以通过 3GPP 标准 AT 指令、高通 QMI 接口
AT命令
AT+CGDCONT? AT+CGCONTRDP +CGCONTRDP 按 3GPP TS 27.007 的返回格式,包含 P-CSCF: +CGCONTRDP: <cid>,<bearer_id>,<apn>,<local_addr and subnet_mask>,<gw_addr>, <DNS_prim_addr>,<DNS_sec_addr>,<P-CSCF_prim_addr>,<P-CSCF_sec_addr>, <IM_CN_Signalling_Flag>,...
其中第 8 和第 9 个字段(P_CSCF_prim_addr 和 P_CSCF_sec_addr)即为核心网分配的主、备 P-CSCF 地址。
通过 Qualcomm QMI WDS(Wireless Data Service) 查询
1. 配置 Profile 请求 P-CSCF 标志位
在发起拨号前,需确保对应 Profile 的 P-CSCF Address using PCO Flag(TLV 0x2B)在 QMI_WDS_MODIFY_PROFILE_SETTINGS 中被置为 1,或者在调用 QMI_WDS_START_NETWORK_INTERFACE 时携带请求 P-CSCF 的参数。
2. 调用 QMI_WDS_GET_RUNTIME_SETTINGS (Msg ID: 0x002D)
当 IMS 数据呼叫建立成功后,向对应 IMS 网卡关联的 QMI WDS 客户端发送 QMI_WDS_GET_RUNTIME_SETTINGS 请求,并在 Request Mask(TLV 0x10)中勾选 P-CSCF 地址标志位(Bit 11 / 0x0800 用于请求 P-CSCF 服务器地址列表)。
3. 解析返回的 TLV 字段
验证方式: 检查响应包中的以下 TLV 即可提取地址:
TLV 0x23:IPv4 P-CSCF Server Address List
TLV 0x27:IPv6 P-CSCF Server Address List
TLV 0x24:P-CSCF Server Name List(FQDN 域名形式)
MSM8916 debian
# mmcli -m 0 --create-bearer="apn=ims,ip-type=ipv4v6"
Successfully created new bearer in modem:
/org/freedesktop/ModemManager1/Bearer/2
# mmcli -b 2 --connect
successfully connected the bearer
# mmcli -b 2
------------------------------------
General | path: /org/freedesktop/ModemManager1/Bearer/2
| type: default
------------------------------------
Status | connected: yes
| suspended: no
| multiplexed: no
| interface: wwan1
| ip timeout: 20
------------------------------------
Properties | apn: ims
| roaming: allowed
| ip type: ipv4v6
------------------------------------
IPv6 configuration | method: static
| address: 2409
| prefix: 64
| gateway: 2409
| dns: 2409:804c:0:2000::1, 2409:804c:0:200a::1
| mtu: 1500
------------------------------------
Statistics | start date: 2026-10-17T14:33:56Z
| duration: 29
| bytes rx: 88
| attempts: 1
| total-duration: 29
| total-bytes rx: 88
菲律宾DITO
USSD代码 :
拨打 *185# 查询号码,余额 (VoWiFi下可用)
*185*1*1# 查询流量使用情况
*123# 查询 语音/短信 使用情况
*143# 查询 剩余流量 (VoWiFi下可用)
*101# 查询余额,充值
短信:
发送 BAL 到 185
APN:
internet.dito.ph
Globe预付费卡
问:我在国外旅行时可以使用我的 Globe Prepaid 或 TM SIM 卡吗?
答:可以!即使身处海外,您依然能与 Globe 保持连接。您的 SIM 卡会自动接入我们在相关国家/地区的合作网络。查看漫游目的地完整列表。
问:使用 Globe 漫游有哪些好处?
使用 Globe 漫游服务,您可以:
1. 即刻保持联络——抵达目的地后,您的 SIM 卡会自动连接至当地合作网络,无需更换 SIM 卡。
2. 畅享全球覆盖——服务覆盖超过 130 个国家和地区。
3. 避免意外费用——选择各类实惠的漫游套餐,既能安心使用,又无需担心产生按量计费的额外开销。
问: 如何开启手机漫游功能?
答:无需激活!抵达目的地后,只需开启手机,SIM卡便会自动连接至合作运营商的网络。为获得更稳定的连接,建议先将设备设置为 2G/3G 模式;待成功接入数据漫游套餐后,再切换至 LTE 模式。
问:我在国外时该如何拨打电话和发送短信?
答: 只要有漫游信号且账户余额充足,您即可正常拨打电话和发送短信。
中国的标准按量计费费率。(Pay-Per-Use Rates)
拨打电话 PHP120/分钟
接听电话 PHP60/分钟
发送短信 PHP20 /160字符
接收SMS 免费。
免费电话和对方付费电话(collect calls)在境外使用 Globe 手机拨打,将按常规漫游费率收费。
仅拨打 Globe 漫游热线(+63277301212)是免费的。
此外,您也可以通过 GlobeOne 应用程序订购“漫游上网”(Roam Surf)套餐,以便使用 WhatsApp、Viber 和 Facebook Messenger 等即时通讯应用。
最后,请确保在您的设备上启用 3G 或 LTE 网络,并将移动接入点名称(APN)设置为 internet.globe.com.ph。
问:我的漫游信号能持续多久?
答:只要您身处设有合作网络的国家,您的漫游信号就不会失效。请确保您的 SIM 卡保持激活状态,以便持续连接网络。
问: 未接通的呼入和呼出通话会收费吗?
不会,除非来电者留下了语音留言。不过,部分国际网络会对未接来电收费,这可能会体现为一分钟的通话费用。
问:我在国外时该如何拨打电话和发送短信?
答: 只要有漫游信号且账户余额充足,您即可正常拨打电话和发送短信。点击此处查看各区域的标准按量付费费率。
问:需要多少花费余额才能有漫游信号,享有漫游促销?
答: 您无需维持账户余额即可获得漫游信号,但若要订购漫游优惠套餐,则需确保账户内有充足的余额。
您可以在 GlobeOne 应用程序中查看我们完整的漫游优惠套餐列表。点击“购买”(Buy) > “购买 Globe 预付费套餐”(Buy Globe Prepaid promos),然后在“漫游”(Roaming) 类别下选择一款套餐。
注册完成后,请开启“移动数据”和“数据漫游”功能以激活您的优惠活动,随后重启手机。
接下来,请确保在您的设备上启用 3G 或 LTE,并将移动 APN 设置为 internet.globe.com.ph
问: 如果我的话费余额用完了,漫游信号会中断吗?
答:不会,你依然会有漫游信号。不过,在没有话费余额的情况下,你将无法拨打电话或发送短信,但仍可免费接收短信。
问:我该如何查询剩余充值余额?
您可以通过 GlobeOne 应用程序查询账户余额并追踪使用情况。此外,您也可以通过 GCash 查看余额,或免费发送短信“ROAM DATA BAL”至 8080 进行查询。
You can check your load balance and track your usage on the GlobeOne app. You can also check your balance on GCash or text ROAM DATA BAL to 8080 toll-free.
ML307R/C网络
PDN激活与去激活及应用层网络
// 查询网络IP分配状态
AT+MIPCALL?
//配置PDP上下文
AT+CGDCONT=3,”IPV4V6″,”ims”
//激活PDP,建立应用层连接
AT+MIPCALL=1,3
或者 用通用AT
AT+CGACT=1,3
//断开连接,需要断开网络时执行
AT+MIPCALL=0,3
//飞行模式,断开所有连接并去激活PD
AT+CFUN=4
+MIPCALL: 1,0
+MIPCALL: 2,0
+MIPCALL: 3,0
OK
如果使用多路拨号,即使是上电自动拨号也请先执行一次AT+MIPCALL=1,1;
第1路为默认承载,模组会自动配置,不需使用AT+CGDCONT来配置。手动配置后掉电不保存;
cid8为IMS功能专用cid,请不要使用cid8进行拨号或PDP激活。其余1~15路均可配置,当前建议最多配置5路cid;
AT+MIPCALL=0,1 仅能断开网络连接,不会去激活PDP;
AT+MIPCALL=0,1 在网络连接已经断开的状态下,会重启协议栈,模组不会自动拨号激活网络。
由于自动拨号模式下模组底层逻辑影响,不建议使用AT+CGACT进行PDP激活与去激活操作;
由于模组必须保持至少有1路PDP处于激活状态,不论是单路还是多路拨号,建议使用 AT+CFUN=4 去激活PDP。
通过AT+MUECONFIG、AT+MDIALUPCFG命令设置,重启生效并且掉电保存。
AT+MUECONFIG=”autoconn”,1 // 配置为自动连网(模组应用层网络)
OK
AT+MDIALUPCFG=”auto”,1 // 配置为自动拨号(上位机网卡拨号)
OK
AT+MDIALUPCFG=”auto”,0 // 取消自动拨号(上位机网卡拨号)
OK
AT+MUECONFIG=”autoconn”,0 // 取消自动连网(模组应用层网络)
OK
上电自动连网、拨号功能仅对默认的PDP上下文(cid1)有效;
由于上位机网卡拨号是基于自动连网的,故”auto”配置为1时,
“autoconn”也会强制配置为1;
“autoconn”配置为0时,
“auto”也会强制配置为0。
参数解释:
设置USB拨号方式
AT+MDIALUPCFG="mode"[,mode] mode可以为 0, 1, 2 0 = RNDIS 这是默认值 1 = ECM 2 = NCM (ML307C不支持这个模式)
设置拨号工作模式
AT+MDIALUPCFG="workmode"[,mode] workmode 可以为0, 1 0 = 路由模式 , 默认值 1 = 网卡模式
设置最大支持网卡数量
AT+MDIALUPCFG="nicmaxcnt"[,nicmaxcnt]
设置开机自动拨号
AT+MDIALUPCFG="auto"[,enable[,conn_interface[,cid]]] conn_interface 自动拨号物理接口 0 USB 1 网口(以太网卡) cid pdp上下文标识符 取值的范围 见AT+CGDCONT命令。
用于模组拨号协议配置。设置完后,重启生效。拨号需要使用的PDP上下文和鉴权信息请使用 AT+CGDCONT 和 AT+CGAUTH 命令设置,也可使用AT+MUECONFIG=”defapn”命令设置默认PDP上下文信息。
控制拨号连网功能
AT+MDIALUP=cid,connect
建立模组数据连接
AT+MIPCALL
设置默认APN
AT+MUECONFIG=”defapn”[,PDP_type[,defapn]]
设置自动连接网络
AT+MUECONFIG=”autoconn”[,autoconn]
实例:
AT+MDIALUPCFG="workmode"
+MDIALUPCFG: "workmode",0
OK
AT+MDIALUPCFG="mode"
+MDIALUPCFG: "mode",0
OK
AT+MDIALUPCFG="auto"
+MDIALUPCFG: "auto",0
OK
AT+CGDCONT?
+CGDCONT: 1,"IPV4V6","3gnet.MNC001.MCC460.GPRS", , 0, 0, , ,,
cid, pdd_type, apn, pdp_addr, d_comp, h_comp, IPV4AddrAlloc, request_type, P-CSCF_discovery
OK
at+cgpaddr=1
+CGPADDR: 1,"10.19.206.38","2408:844F:CBA7:2986::1"
OK
AT+CGCONTRDP=1 (RDP表示Read PDP context dynamic parameters)
+CGCONTRDP: 1,5,"3gnet.MNC001.MCC460.GPRS","10.19.206.38","","218.104.111.122","218.106.127.114","","",0,0
1,
5,
"3gnet.MNC001.MCC460.GPRS",
"10.19.206.38",
"",
"218.104.111.122",
"218.106.127.114",
"",
"",
0,
0
+CGCONTRDP: 1,5,"3gnet.MNC001.MCC460.GPRS","254.128.0.0.0.0.0.0.0.0.0.0.0.0.0.1","","36.8.136.136.0.0.0.0.0.0.0.0.0.0.0.8","36.8.136.153.0.0.0.0.0.0.0.0.0.0.0.8","","",0,0
1, //cid
5, // bearer_id
"3gnet.MNC001.MCC460.GPRS", //apn
"254.128.0.0.0.0.0.0.0.0.0.0.0.0.0.1", //local_addr_and_subnet_mask
"", //gw_addr
"36.8.136.136.0.0.0.0.0.0.0.0.0.0.0.8", //dns_prim_addr
"36.8.136.153.0.0.0.0.0.0.0.0.0.0.0.8", // dns_sec_addr
"", //p_cscf_prim_addr
"", //p_cscf_sec_addr
0, //im_cn_signalling_flag
0
切换为网卡模式
AT+MDIALUPCFG="workmode",1
AT+CGCONTRDP=1
+CGCONTRDP: 1,6,"ims","254.128.0.0.0.0.0.0.0.0.0.0.0.0.0.1","","","","36.8.129.66.32.1.255.0.0.0.0.0.0.0.0.97","36.8.129.66.32.1.255.0.0.0.0.0.0.0.0.33",0,0
1, // cid
6, // bearer_id
"ims", // apn
"254.128.0.0.0.0.0.0.0.0.0.0.0.0.0.1", //local_addr_and_subnet_mask
"",
"", // dns_prim_addr
"", // dns_sec_addr
"36.8.129.66.32.1.255.0.0.0.0.0.0.0.0.65", // p_cscf_prim_addr
"36.8.129.66.32.1.255.0.0.0.0.0.0.0.0.81", // p_cscf_sec_addr
0, // im_cn_signalling_flag_ind
0 // NSLPI
切换到ECM
echo -e 'AT+MDIALUPCFG="mode",1\r\n' > /dev/ttyUSB2 echo -e 'AT+CFUN=1,1\r\n' > /dev/ttyUSB2
中移 ML307A/R/C模组
芯片平台:翱捷 ASR1605,614MHz
网络制式:LTE-FDD/TDD Cat.1,兼容 GSM(2G)回落
工作频段:FDD:B1/B3/B5/B8;TDD:B34/B38/B39/B40/B41
传输速率:FDD:下行 10Mbps / 上行 5Mbps;TDD:下行 9Mbps / 上行 3Mbps
硬件配置:4MB RAM + 2MB Flash
物理尺寸:17.7×15.8×2.2mm,重量约 2.0g
封装形式:LCC+LGA(109 引脚),贴片式
当前最具性价比的通信模组:
中移 ML307A/R/C模组
usb设备信息
usb 1-13: new high-speed USB device number 9 using xhci_hcd
usb 1-13: New USB device found, idVendor=2ecc, idProduct=3004, bcdDevice= 0.00
usb 1-13: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 1-13: Product: Arom Usb Boot Port
usb 1-13: Manufacturer: ASR Microelectornics
usb 1-13: SerialNumber: arom0123456789
cdc_acm 1-13:1.0: ttyACM0: USB ACM device
usb 1-13: USB disconnect, device number 9
usb 1-13: new high-speed USB device number 10 using xhci_hcd
usb 1-13: New USB device found, idVendor=2ecc, idProduct=3012, bcdDevice= 1.00
usb 1-13: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 1-13: Product: ML307B
usb 1-13: Manufacturer: CMIOT
usb 1-13: SerialNumber: 200806006809080000
rndis_host 1-13:1.0 eth0: register 'rndis_host' at usb-0000:00:14.0-13, RNDIS device, ac:0c:29:a3:9b:6d
rndis_host 1-13:1.0 enxac0c29a39b6d: renamed from eth0
|__ Port 013: Dev 010, If 0, Class=Wireless, Driver=rndis_host, 480M
|__ Port 013: Dev 010, If 1, Class=CDC Data, Driver=rndis_host, 480M
|__ Port 013: Dev 010, If 2, Class=Vendor Specific Class, Driver=[none], 480M
|__ Port 013: Dev 010, If 3, Class=Vendor Specific Class, Driver=[none], 480M
|__ Port 013: Dev 010, If 4, Class=Vendor Specific Class, Driver=[none], 480M
主动加载option 串口驱动
modprobe option
echo 2ecc 3012 | sudo tee /sys/bus/usb-serial/drivers/option1/new_id
就会看到驱动加载
usbcore: registered new interface driver usbserial_generic
usbserial: USB Serial support registered for generic
usbcore: registered new interface driver option
usbserial: USB Serial support registered for GSM modem (1-port)
option 1-13:1.4: GSM modem (1-port) converter detected
usb 1-13: GSM modem (1-port) converter now attached to ttyUSB0
option 1-13:1.3: GSM modem (1-port) converter detected
usb 1-13: GSM modem (1-port) converter now attached to ttyUSB1
option 1-13:1.2: GSM modem (1-port) converter detected
usb 1-13: GSM modem (1-port) converter now attached to ttyUSB2
# lsusb -v -d 2ecc:3012
Bus 001 Device 010: ID 2ecc:3012 ASR Microelectronics ML307B
Negotiated speed: High Speed (480Mbps)
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 239 Miscellaneous Device
bDeviceSubClass 2 [unknown]
bDeviceProtocol 1 Interface Association
bMaxPacketSize0 64
idVendor 0x2ecc ASR Microelectronics
idProduct 0x3012 ML307B
bcdDevice 1.00
iManufacturer 1 CMIOT
iProduct 2 ML307B
iSerial 3 200806006809080000
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 0x00c4
bNumInterfaces 5
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xc0
Self Powered
MaxPower 500mA
Interface Association:
bLength 8
bDescriptorType 11
bFirstInterface 0
bInterfaceCount 2
bFunctionClass 224 Wireless
bFunctionSubClass 1 Radio Frequency
bFunctionProtocol 3 RNDIS
iFunction 5 Mobile RNDIS Network Adapter
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 224 Wireless
bInterfaceSubClass 1 Radio Frequency
bInterfaceProtocol 3 RNDIS
iInterface 5 Mobile RNDIS Network Adapter
** UNRECOGNIZED: 05 24 00 10 01
** UNRECOGNIZED: 05 24 01 00 01
** UNRECOGNIZED: 04 24 02 00
** UNRECOGNIZED: 05 24 06 00 01
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x87 EP 7 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 16
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 10 CDC Data
bInterfaceSubClass 0 [unknown]
bInterfaceProtocol 0
iInterface 5 Mobile RNDIS Network Adapter
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x0c EP 12 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 4
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 0 [unknown]
bInterfaceProtocol 0
iInterface 8 Mobile Diag Interface
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x0b EP 11 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 3
bAlternateSetting 0
bNumEndpoints 3
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 0 [unknown]
bInterfaceProtocol 0
iInterface 11 Mobile AT Interface
** UNRECOGNIZED: 05 24 00 10 01
** UNRECOGNIZED: 05 24 01 00 00
** UNRECOGNIZED: 04 24 02 02
** UNRECOGNIZED: 05 24 06 00 00
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x89 EP 9 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 16
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x86 EP 6 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x0f EP 15 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 2
bAlternateSetting 0
bNumEndpoints 3
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 0 [unknown]
bInterfaceProtocol 0
iInterface 11 Mobile AT Interface
** UNRECOGNIZED: 05 24 00 10 01
** UNRECOGNIZED: 05 24 01 00 00
** UNRECOGNIZED: 04 24 02 02
** UNRECOGNIZED: 05 24 06 00 00
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x88 EP 8 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 16
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x0a EP 10 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Device Qualifier (for other device speed):
bLength 10
bDescriptorType 6
bcdUSB 2.00
bDeviceClass 0 [unknown]
bDeviceSubClass 0 [unknown]
bDeviceProtocol 0
bMaxPacketSize0 16
bNumConfigurations 1
Device Status: 0x0001
Self Powered
改IMEI步骤:
0. 查看当前IMEI (此步骤用于记录修改前的IMEI)
AT+CGSN at+cgsn=0 (序列号) at+cgsn=1 (IMEI) +CGSN:
1. 进入工厂模式
AT*PROD=1
2. 删除原来IMEI
AT*MRD_IMEI=D
3. 写入新的IMEI(以IMEI 012345678912345 为例子)
AT*MRD_IMEI=W,0,01JAN1970,012345678912345
4. 退出工厂模式
AT*PROD=0
5. 重启
AT+RESET
其他
写入mac AT*MRD_WIFIID=W,0,01JAN1970,写入sn AT*MRD_SN=W,0,01JAN1970, 切换卡1/卡2 AT+SWSIM=0 / AT+SWSIM=1
参考资料:
https://github.com/huwangkeji/Asr-Tools/blob/main/README.md
picocom -b 11520 -c /dev/ttyUSB2
ML307A-DCLN, 采用ASR1606C芯片
MSM8916 debian restart modem
0. 停止 ModemManager,避免它在基带重启期间不断访问设备
systemctl stop ModemManager
1. 停止modem
echo stop > /sys/class/remoteproc/remoteproc0/state cat /sys/class/remoteproc/remoteproc0/state
命令应该返回 offline 的状态
2. 启动modem
echo start > /sys/class/remoteproc/remoteproc0/state cat /sys/class/remoteproc/remoteproc0/state
状态应该恢复为 running
3. 启动ModemManager
systemctl start ModemManager
4. 等待10秒左右, 查看modem是否可用
mmcli -L
UZ801
FY_UZ801_V3.0
/priv-app/MifiService.apk
配置文件在 /data/mificonfig.json
AT+WRIMEI? 查询IMEI
AT+USB=1,268968726 设置调试模式
AT+WRIMEI= 写IMEI
AT+SLOT? 查询卡槽
AT^OTPPROGRAM?
AT^SYSCONFIG=
AT+SLOT= 设置卡槽
1 外置卡槽
2 嵌入式贴片卡