移远官网

EC200M的 USB cdc-ecm 问题

使用Azure在stm32h7开发基于EC200M的通讯,使用usbx+netxduo作为协议栈使用cdc-ecm类型,在枚举后无法获取设备连接状态(0x87端点没有数据),更换EC20后可以获取设备连接状态并可以正常连接服务器。
问题

  1. EC200M与EC20的cdc-ecm驱动方式是否相同,如果相同为什么EC20可以正常获取控制端点的消息,而EC200M却没有。
    2.如果我要使用以上方式继续开发,是否可以继续或更换别的CAT1类型的模块。
1 个赞

Quectel_LTE_Standard(A)系列_USB描述符介绍_V1.2.pdf (469.0 KB)

EC200M ECM 网卡: AT+QCFG=“usbnet”,1 // 设置,然后重启生效,可以先查询 AT+QCFG=“usbnet” 是不是ECM网卡,

然后注网之后需要拨号 AT+QNETDEVCT=1,1,1 // 参数含义看AT文档, 然后就是主控dhcp获取IP地址

我已经按照您推荐的方法确认了,EC200M无法获取通过dhcp获取ip,我使用EC20是可以通过dhcp获取ip并联网的。
挂载过程usbx cdc-ecm的状态也不一样,EC200在挂载之后link_state状态可以更新,而EC200M没有状态更新,请问两者有什么区别或者我在写驱动时需要对EC200M做什么特殊处理。

补充一下
EC200M的0x87端点回复总是NAK

你可以在Linux下ECM拨号看下, 上面那个QNETDEVCTL 拨号看注网之后拨号,也可以看下是不是拨号成功,然后再获取IP。 另外就是在RTOS下,看看是不是几个设备几点都有扫描到。没有其他什么配置了

linux下测试ping 8.8.8.8是可以ping通的,另外我看了USBx对于EC200端点的扫描,的确都有扫描到0x87、0x83、0x0C。通过观察也发现0x87端点mcu会轮询去询问,返回似乎一直是NAK。

请问下您找到问题了吗,

请问楼主解决了吗?我也遇到了这个问题。。。

没解决,联系FAE似乎是没有RTOS的技术支持,也不准备做支持。考虑到占用了USB也无法得到官方的debug解决问题的接口,因此这个方案可能是不实际或者说部适合RTOS的吧。

一般来说,RTOS建议客户使用模组的主串口。
如果非要调试USB cdc功能。移远的模组可以当做一个标准的cdc接口使用,移远提供接cdc 的描述符信息,至于如果调试rtos上的cdc驱动,移远也无法提供技术支持。