ASR方案MiFi与OpenWRT兼容问题处理方案

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 模式的 ASR1803

怎么区分工作在 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 驱动。

本例中安装的 USB 网卡驱动


另外一种硬件层面的兼容问题

由于大部分 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 功能。



—— 酷安ID: xretia ——
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容