移远官网

EC200A-EU Linux 驱动相关

产品: EC200A-EU USB DONGLE 黑色带壳
平台:ORANGE PI ZERO3 (ALLWINNER H618) + ARMBIAN 官方编译版本内核6.6 (Armbian_community_24.5.0-trunk.532_Orangepizero3_bookworm_current_6.6.30_minimal.img.xz)

问题:

1、dmesg 的USB信息
插入EC200A-EU后,dmesg 显示的信息产品并不是 Quectel 而是 Marvell 的 Wukong 请问是否正常(还是店铺发错货了?):

2、EC200A-EU 的Linux 说明文档是哪一个?
在客服提供的百度网盘中,QTME0038DP & QTME115DP【EC200A】文件夹里面,有以下几个LINUX相关文件:

  1. KBA_EC200&UC200_Linux&Android_USB_driver_移植说明.docx
  2. Quectel_UMTS_LTE_5G_Linux_USB_Driver_用户指导_V1.0.pdf
  3. Quectel_Linux_USB_Serial_Option_Driver_20220902.tgz

移植说明.docx 中,提到了 “EC200 只需要两个驱动,两个驱动都是内核自带”,我能否理解为
usb-serial-option 和 usb-net-cdcether 这两个?

Quectel_Linux_USB_Serial_Option_Driver_20220902.tgz 是否已经patch了移植说明.docx中的patch?直接make就可以用?

但是为什么在用户指导_V1.0.pdf中,提到还要 GobiNet 驱动,QMI_WWAN驱动?我现时透过 ls /bus/usb/drivers 可以看到 cdcether,但没有 GobiNet 和 QMI_WWAN,请问是否必须补上?

3、 EC200A-EU支援哪种工作模式?
在移植说明.docx中,未有提及到QMI模式支援。 EC200A-EU Linux 5.4 kernel 移植问题 - 物联网模组 / 4G标准模组 - 移远支持社区 (quectel.com) 这个帖子也提到只支援ECM。
请问EC200A-EU是否只支援ECM和RNDIS模式?

谢谢!

付客服提供的百度网盘链接供参考:

5G Dongle&EC20X&EC600X Dongle资料:
链接:百度网盘 请输入提取码
提取码:7q22

  1. 正常
    模组开机阶段会显示芯片原厂的VID PID。开机后会重新加载USB配置,才会变成Quectel的VID PID

  2. 从你贴的图片看驱动已经移植了。可以这么理解,只要usb-serial-option 和 usb-net-cdcether
    Quectel_Linux_USB_Serial_Option_Driver_20220902.tgz 给一些新手朋友在Ubuntu PC上直接make install 使用。
    移远的文档是多合一的,这个文档写的是支持几乎所有的蜂窝模组。譬如GobiNet/QMI_WWAN 对EC200A完全用不到。

  3. AT+QCFG="usbnet"
    只支持1和3
    1->ECM
    3->RNDIS

由于只允许一次上传一个图片,所以我把上帖中缺的两个图片合并在一齐上传:

王工您好,感謝你的迅速回饋,

很开心能用到EC200这款高性价产品!尤其是海外的品类售价较高,贵司的产品有竞争性,能让我们开发出的成品更容易打进市场。因个人资历有限,这是我第一个接触的LTE产品,摸石头过河,恳请不吝赐教。

1、EC200A驱动
我使用的Armbian并没有自行编译和修改过驱动文件,反复观察dmesg都没有见到Quectel ,不知道是否Armbian官方的驱动能正常启动 Marvell Wukong所致。长远应该是使用适配好的serial option驱动能减少以后出现bug的情况。

我理解最简单的使用 (Quectel) serial option驱动有两种方法:

  1. 使用Quectel_Linux_USB_Serial_Option_Driver_20220902.tgz。
    请问压缩包里面的版本号例如v5.19.5是否对应Linux kernel的版本?
  2. 如果使用新的Kernel,是否按照移植说明.docx 里面的patch文件 patch后编译?
    贵司有没有已编译好的新kernel的 驱动可以直接使用? 谢谢

2、尝试连线
撇除驱动的问题。我尝试使用 modem-manager cli来连线。似乎是已经能成功连上bearer:

mmcli simpleconnect, 成功后再 ip a:
(新用户限制不允许上传多个图片,下一个帖子补上)

然后查看 modem 信息,到这一步我是很开心,因为几乎是一插即用就能显示连线正常:

(新用户限制不允许上传多个图片,下一个帖子补上)

但是查看 bearer信息我就卡住了,这里显示的IPv4和v6的都是ppp模式:

网上能找到如何用ppp连线模式的modem资料很少,我找到的有两种:

  1. 方法1: 安装ppp,设定DCHP和NAT(ppp界面为enx020cxxxx那个)
  2. 方法2: 根据之前的帖子,用 ifconfig usb0 up,然后AT命令连接,然后 udhcpc -i usb0

方法1我很疑惑到底enx020cxxxx那个是否等同于 ppp界面。
直觉方法2更为合适,但我的疑问是:
方法2是否适用于运营商 ppp 连线模式
方法2是否需要mmcli (modem mananger)?

感谢你的支援!!

  1. armbian 的內核可以自己編譯嗎?可以那麼理解。
    實際上只要你自己找到drivers/usb/serial/option.c 的option_ids里添加對應的USB VID PID。

2.一般ModemManager源碼裡只支持QMI/MBIM,當然最新版本的ModemManager已經支持ppp,對有些其他友商的模組可能還支持ECM/RNDIS.
這塊模塊EC200A不支持ModemManager。要在UI裡使用,可以將模組配置成自動撥號,使用ECM mode。

谢谢你的解说,

现在enx020c29a39b6d 是cdc-ethernet 带起来的界面,udhcpc -i enx020c29a39b6d 被分配到 192.168.43.100地址,
假设AT命令让EC200A成功连线上网后,是否应该 ping -I enx020c29a39b6d 8.8.8.8 能返回延迟?

使用 minicom 操作 ttyUSB1,
AT+CGDCONT=1,“IP”,“mobile.three.com.hk”
OK

AT+CGDCONT?
+CGDCONT: 1,“IP”,“mobile.three.com.hk”,“0.0.0.0”,0,0,0,0,0,0
+CGDCONT: 8,“IPV4V6”,“IMS”,“0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0”,0,
(不知道为何有 8 的IMS,所以把它覆盖掉)

AT+CGDCONT=8,“IPV4V6”,“mobile.three.com.hk”
OK

然后 at+qnetdevctl=1,1,1
+QNETDEVSTATUS: 1

但 ping -I enx020c29a39b6d 8.8.8.8 没有反应,

尝试 AT+QNETDEVCTL=1,3,1
+CME ERROR: 0

ping -I enx020c29a39b6d 8.8.8.8 同样没有反应,

请问是哪个地方需要排查?谢谢!

请查下

AT+CGPADDR
AT+QNETDEVCTL?

以确认模块是否拨号成功。
另外如果拨号成功了,这个不能上网也可能和一些东西有关,譬如路由, 或者说8.8.8.8 就是ping不通的,请尝试其他ip 譬如 233.5.5.5

检查下路由
ip route
ip -4 route