当前位置: 首页 > news >正文

移远RG200U-CN模组适配问题

移远5G模组RG200U-CN,按照FAE给的驱动修改:

drivers\usb\serial\option.c
drivers\usb\serial\usb_wwan.c

PID和VID已添加,编译内核下载后,重启发现系统里只生成了两个ttyUSB节点:

usb 1-1: new high-speed USB device number 2 using ehci-platform
usb 1-1: USB disconnect, device number 2
usb 1-1: new high-speed USB device number 3 using ehci-platform
cdc_ncm 1-1:1.0: MAC-Address: 2e:e2:9f:8a:3a:a6
cdc_ncm 1-1:1.0 usb0: register 'cdc_ncm' at usb-10040000.ehci-1, CDC NCM, 2e:e2:9f:8a:3a:a6
option 1-1:1.2: GSM modem (1-port) converter detected
usb 1-1: GSM modem (1-port) converter now attached to ttyUSB0
option 1-1:1.3: GSM modem (1-port) converter detected
usb 1-1: GSM modem (1-port) converter now attached to ttyUSB1

后来经检查option.c代码发现,是在这个函数中,如下代码导致的:

static int option_probe(struct usb_serial *serial,
			const struct usb_device_id *id)
	struct usb_interface_descriptor *iface_desc =
				&serial->interface->cur_altsetting->desc;
	struct usb_device_descriptor *dev_desc = &serial->dev->descriptor;

#if 1 //Added by Quectel
	//Quectel UC20's interface 4 can be used as USB Network device
	if (serial->dev->descriptor.idVendor == cpu_to_le16(0x05C6) && serial->dev->descriptor.idProduct == cpu_to_le16(0x9003)
		&& serial->interface->cur_altsetting->desc.bInterfaceNumber >= 4)
		return -ENODEV;
	//Quectel EC20's interface 4 can be used as USB Network device
	if (serial->dev->descriptor.idVendor == cpu_to_le16(0x05C6) && serial->dev->descriptor.idProduct == cpu_to_le16(0x9215)
		&& serial->interface->cur_altsetting->desc.bInterfaceNumber >= 4)
		return -ENODEV;
	//Quectel EC25&EC21 's interface 4 can be used as USB Network device
	if (serial->dev->descriptor.idVendor == cpu_to_le16(0x2C7C)
		&& serial->interface->cur_altsetting->desc.bInterfaceNumber >= 4)
		return -ENODEV;
#endif			

将这里的
#if 1 改为0,不使用即可,这里判断了接口个数大于4个就会返回失败。

再次编译内核重启,模块识别信息如下:

usb 1-1: new high-speed USB device number 2 using ehci-platform
usb 1-1: USB disconnect, device number 2
usb 1-1: new high-speed USB device number 3 using ehci-platform
cdc_ncm 1-1:1.0: MAC-Address: 36:77:85:76:e5:57
cdc_ncm 1-1:1.0 usb0: register 'cdc_ncm' at usb-10040000.ehci-1, CDC NCM, 36:77:85:76:e5:57
option 1-1:1.2: GSM modem (1-port) converter detected
usb 1-1: GSM modem (1-port) converter now attached to ttyUSB0
option 1-1:1.3: GSM modem (1-port) converter detected
usb 1-1: GSM modem (1-port) converter now attached to ttyUSB1
option 1-1:1.4: GSM modem (1-port) converter detected
usb 1-1: GSM modem (1-port) converter now attached to ttyUSB2
option 1-1:1.5: GSM modem (1-port) converter detected
usb 1-1: GSM modem (1-port) converter now attached to ttyUSB3
option 1-1:1.6: GSM modem (1-port) converter detected
usb 1-1: GSM modem (1-port) converter now attached to ttyUSB4
http://www.dtcms.com/a/107088.html

相关文章:

  • OpenCV 图形API(7)用于将笛卡尔坐标(x, y)转换为极坐标(magnitude, angle)函数cartToPolar()
  • 【编程之路】按指定大小合并数据块
  • 局域网内便捷实现多设备文件共享方法
  • 【论文阅读】Anchor Graph Network for Incomplete Multiview Clustering
  • 【django】3 (django路由) 路由配置和反向解析
  • Python•输入输出基本运算
  • 浏览器指纹攻防技术深度解析:从多账号隔离到自动化矩阵架构设计
  • UG NX二次开发(C#)-采用Open/C与NXOpen获取曲线的长度
  • 【dp】有序三元组中的最大值 I
  • 关于依赖注入框架VContainer DIIOC 的学习记录
  • 壹起航:引领中国工厂迈向全球市场的先锋
  • 【蓝桥杯】每日练习 Day19,20
  • es分页边界数据重复问题处理
  • 【ArcGIS微课1000例】0142:如何从谷歌地球保存高清影像图片
  • 开发技巧 flex 布局,使用 gap 设置 flex 项目之间的间距
  • cursor的.cursorrules详解
  • Uniapp 实现微信小程序滑动面板功能详解
  • Graph RAG 面 —— 一种 基于知识图谱的大模型检索增强实现策略
  • 基于Flask框架的动漫推荐系统设计与实现(源码+lw+部署文档+讲解),源码可白嫖!
  • Oracle慢查询日志
  • 4月2日工作日志
  • C++__list
  • 第十二章网络规划设计
  • 《系统之美》读后感
  • Python数据分析及相关库(一)
  • 在Qt中直接在构建目录下直接运行.exe文件报错问题分析
  • antvX6自定义 HTML 节点创建与更新教程
  • 使用Leaflet对的SpringBoot天地图路径规划可视化实践-以黄花机场到橘子洲景区为例
  • 爬虫【Scrapy-redis分布式爬虫】
  • SQL 转 PHP Eloquent、Doctrine ORM, 支持多数据库