ASR方案MiFi是什么?
目前国内售卖的 4G MiFi 或者 USB Dongle 统称为 随身WiFi,生产厂家大致使用这几种方案:
1. 高通骁龙 410 方案
2. 中兴微电子方案(比如 ZTE MF788)
3. 翱捷科技 ASR1803 方案(原 MARVELL PXA 1802 方案改)
4. 紫光展锐 UNISOC 方案
而本文将讲述的就是上文中提到的 翱捷科技ASR1803 方案。
OpenWRT 与 4G Modem 工作模式
OpenWRT 作为开放式路由器操作系统,支持相当多的 4G Modem 工作方式,包括但不限于:CDC-ECM, CDC-EEM, CDC-NCM, RNDIS, MBIM, GOIBNET, RMNET, AT+PPP 等。
本文中即将提到的 ASR1803 方案支持其中两种模式,CDC-ECM 与 RNDIS。
怎么区分工作在 CDC-ECM 模式还是 RNDIS 模式
CDC-ECM 模式:你的 4G Modem 接口将被识别为 ethX(本例中为 eth1)
RNDIS 模式:你的 4G Modem 接口将被识别为 usbX(如 usb0)
为什么我的 4G Modem 会与 OpenWRT 丢失联系
部分情况下,OpenWRT 会同时安装 rndis_host 模块与 cdc_ether 模块来对应支持 RNDIS 模式与 CDC-ECM 模式。一般情况下,我们应该二选其一来驱动我们的 4G Modem,而实际中部分 OpenWRT 会同时注册 rndis_host 与 cdc_ether 模块。正因为如此导致与 ASR1803 产生兼容性问题,从而导致 ASR1803 可能与 OpenWRT 丢失联系。
如何解决 4G Modem 与 OpenWRT 兼容性?
要解决两种模块的兼容性问题,我们只需要删除 rndis_host 模块驱动,保留 cdc_ether 模块驱动即可。比如本例中 OpenWRT 只安装了 kmod-usb-net 与 kmod-usb-net-cdc-ether 驱动程序,而并未安装 kmod-usb-net-rndis 驱动。
另外一种硬件层面的兼容问题
由于大部分 OpenWRT 设备的 USB 端口供电是直接由 DC 模块提供的。当我们通过软件的方式重启 OpenWRT(例如 reboot 命令),由于 USB 端口不会断电导致 ASR1803 并没有重启。在 OpenWRT 启动初始化时的 USB Reset 信号,则可能让我们的 ASR1803 Modem 进入下载模式(USB设备 2ecc:3017)。
想要解决这个问题,本例中提供一个思路:
1. 购买一个支持常闭的 USB 继电器
2. 将 DC 的 VCC 接入继电器中,再输出给 OpenWRT 设备
3. 当需要重启设备时,先执行 sync 命令,然后让继电器进入开路状态
4. 此时因为 OpenWRT 设备失去供电,从而 ASR1803 Modem 与 OpenWRT 一起硬复位
题外话(不爱听的可以离开)
ASR1803 淘宝上捆绑流量卡出售的设备,尤其是飞猫定制的,是有云控制后台的。我通过测试 SIM 卡抓包到后台域名为 iotboss.cn 以及 IP 59.110.94.147。如果有不信邪的可以在 ASR1803 后台打开端口映射 1-65535 再抓包,虽然不完整但也能抓到一部分。
如果出现这些情况其中一项则表明被控:无WIFI、后台打不开、插上无网络。
另外据悉移远通信采用同方案 ASR1803 的产品有 EC200A-CN。据匿名网友反馈刷入移远固件后可以读 SIM 卡,但没有 WIFI 功能。