原创文章,转载请注明出处
https://qiedd.com/
0x00 简介
这模块也太老了,教程都找不到几个,但是胜在便宜,闲鱼 13 包邮就能买到,拿来接短信性价比非常高了
0x01 固件更新
Module Firmware Download Tool (FDT – command line tool for Windows)
官网链接
AirPrime EM73xx/MC73xx FW Package Build 4837
官网链接
如果出现错误,FDT 需要运行在 window8 兼容模式下!!!
# example error code Firmware download failed. Primary error code: 77 - Failed in streaming download stage. Secondary error code: 68 - Received incorrect response. Device error code: 0x97 - Not allowed.
下载 FDT2.exe,固件压缩包解压后拿到公版固件 9999999_9902674_SWI9X15C_05.05.78.00_00_GENEU-4G_005.029_000-field.spk,CMD 中在管理员模式中启动,根据你自己的路径执行命令
./fdt2.exe -f 9999999_9902674_SWI9X15C_05.05.78.00_00_GENEU-4G_005.029_000-field.spk -freset
如果你是 EM7430 这种,解压后运行
./fdt2.exe -d g5k -ignswto -f %temp%\FDT\SWI9X30C_02.39.00.00.cwe %temp%\FDT\SWI9X30C_02.39.00.00_GENERIC_002.085_000.nvu
0x02 从 QMI 切换 MBIM
我们现在是在 QMI 模式下
-------------------------------- Hardware | manufacturer: Sierra Wireless, Incorporated | model: EM7305 | firmware revision: SWI9X15C_05.05.78.00 r34310 CARMD-EV-FRMWR3 2017/09/17 00:43:17 | h/w revision: 1.0 | supported: gsm-umts, lte | current: gsm-umts, lte | equipment id: 353516051031068 -------------------------------- System | device: /sys/devices/pci0000:00/0000:00:08.1/0000:64:00.3/usb1/1-1/1-1.1 | physdev: /sys/devices/pci0000:00/0000:00:08.1/0000:64:00.3/usb1/1-1/1-1.1 | drivers: qcserial, qmi_wwan | plugin: sierra | primary port: cdc-wdm0 | ports: cdc-wdm0 (qmi), ttyUSB2 (at), wwan0 (net) --------------------------------
用 qmicli 来切换, 我们现在在 USB composition 6
lordpenguin@archlinux ~ [1]> sudo qmicli -d /dev/cdc-wdm0 --dms-swi-get-usb-composition [/dev/cdc-wdm0] Successfully retrieved USB compositions: USB composition 1: HIP, DM, NMEA, AT, MDM1, MS [*] USB composition 6: DM, NMEA, AT, QMI USB composition 7: DM, NMEA, AT, RMNET1, RMNET2, RMNET3 USB composition 8: DM, NMEA, AT, MBIM USB composition 9: MBIM USB composition 10: NMEA, MBIM USB composition 11: DM, MBIM USB composition 12: DM, NMEA, MBIM USB composition 14: Dual configuration: USB composition 6 and USB composition 9 USB composition 19: Dual configuration: USB composition 7 and USB composition 9
切换到 USB composition 8, 会立即断开连接, 然后重新插拔一下 USB 就好
lordpenguin@archlinux ~> sudo qmicli -d /dev/cdc-wdm0 --dms-swi-set-usb-composition=8 [30 Jun 2025, 20:47:00] -Warning ** Error reading from istream: Resource temporarily unavailable error: operation failed: endpoint hangup error: couldn't release client: Transaction timed out
现在我们应该运行在 MBIM 模式下了
-------------------------------- Hardware | manufacturer: Sierra Wireless, Incorporated | model: EM7305 | firmware revision: SWI9X15C_05.05.78.00 | h/w revision: EM7305 | supported: gsm-umts, lte | current: gsm-umts, lte | equipment id: 353516051031068 -------------------------------- System | device: /sys/devices/pci0000:00/0000:00:08.1/0000:64:00.3/usb1/1-1/1-1.1 | physdev: /sys/devices/pci0000:00/0000:00:08.1/0000:64:00.3/usb1/1-1/1-1.1 | drivers: qcserial, cdc_mbim | plugin: sierra | primary port: cdc-wdm0 | ports: cdc-wdm0 (mbim), ttyUSB2 (at), wwan0 (net) --------------------------------
0x03 从 MBIM 切换到 QMI
mbimcli 无法直接切换, 也没有 at 命令可以直接切换模式, 这里我们要用到这个 github 项目
https://github.com/pief/wwan
# 下载 perl 及其依赖 yay -Sy perl perl-uuid-tiny perl-ipc-shareable perl-json perl-string-crc32 --needed --noconfirm # 将 .h 转为 .ph, 时间可能会有有点久 sudo /usr/bin/core_perl/h2ph -r /usr/include # 进入目录, 看你自己的版本 cd /usr/lib/perl5/5.40/site_perl # 转移 sudo mv usr/include/* . # git clone cd && git clone https://github.com/pief/wwan # 进入目标文件夹 cd wwan/scripts # 执行命令 sudo ./swi_setusbcomp.pl --device=/dev/cdc-wdm0 --usbcomp=6
执行命令后, 重新插拔一下, 现在我们应该运行在 QMI 模式下了
-------------------------------- Hardware | manufacturer: Sierra Wireless, Incorporated | model: EM7305 | firmware revision: SWI9X15C_05.05.78.00 r34310 CARMD-EV-FRMWR3 2017/09/17 00:43:17 | h/w revision: 1.0 | supported: gsm-umts, lte | current: gsm-umts, lte | equipment id: 353516051031068 -------------------------------- System | device: /sys/devices/pci0000:00/0000:00:08.1/0000:64:00.3/usb1/1-1/1-1.1 | physdev: /sys/devices/pci0000:00/0000:00:08.1/0000:64:00.3/usb1/1-1/1-1.1 | drivers: qmi_wwan, qcserial | plugin: sierra | primary port: cdc-wdm0 | ports: cdc-wdm0 (qmi), ttyUSB2 (at), wwan0 (net) --------------------------------
0x04 使用官方驱动修改
诶,如果我 at command 切换不了,工程模式 ‘AT!entercnd=”A710‘ 进不去怎么办?
我们可以使用官方驱动切回来,比如说我这个 EM7430,我用 swi_setusbcomp.pl 想切到 QMI,usbcomp=6,结果切过去没有 QMI 了,在 Linux 下用不了了怎么办呢?
只要在 Windows 下,(如果有)卸载官方驱动,然后重新安装就好了,在命令行里输入
./GenericDriverSetup_5087.exe USBCOMP=8
然后等待设备重启就切回 mbim 了,如果是联想,戴尔或者富士康的模块,你也可以用它们的 exe 然后加上 USBCOMP=8 试试
0x05 参考内容
https://forum.sierrawireless.com/t/my-mc7710-cant-work-on-linux-after-plug-in-it-to-windows8/7986/23
https://www.0xf8.org/2015/07/dell-wireless-5809e-support-in-linux-a-followup
https://forum.sierrawireless.com/t/unable-to-update-firmware-on-em7305/27590/8
https://zukota.com/posts/sierra-wireless-em7455-how-to-enable-com-ports
0 条评论