EC20模块USB拨号上网驱动移植教程:Linux4.9.65内核下的GobiNet与PPP详解

需积分: 40 31 下载量 113 浏览量 更新于2024-09-01 4 收藏 274KB DOCX 举报
本文档详细介绍了在Linux 4.9.65内核环境下,基于 Quectel EC20 4G模块的移植与调试过程。EC20是一款支持多种拨号方式(包括GobiNet、QMI_WANN和PPP)的模块,适用于ARM类芯片平台。移植过程中,关键步骤包括: 1. **添加USB厂商及设备ID**: 在`drivers/usb/serial/option.c`文件中,需要检查并添加EC20的特定USB厂商ID(idVendor)和产品ID(idProduct),如果未找到,开发者需自行添加以确保正确识别。 2. **处理zeropacket**:对于Linux内核版本高于2.6.34,需要在`drivers/usb/serial/usb_wwan.c`中添加zeropacket处理代码;对于2.6.35以下版本,则在`drivers/usb/serial/option.c`中进行相应调整。 3. **实现reset-resume功能**:根据内核版本不同,`option.c`中的代码也需要调整以支持在3.4以上版本中启用reset-resume功能,而在3.5以下版本中可能需要在`usb-serial.c`中处理。 4. **增加URB容量**:针对Linux 2.6.29以下版本,可能需要增大USB控制传输(URB)的容量,以优化数据传输性能。 5. **配置USB接口作为串行设备**:从2.6.30版本起,将USB接口设置为串行设备,而在2.6.31及更早版本中,这部分操作同样在`option.c`中进行。 6. **添加GSM驱动**:为了支持GSM功能,需要在内核配置时启用`USBSerialConvertersupport`,并在`DeviceDrivers`中选择`USBNetworkAdapters`,同时包含GobiNet拨号相关的驱动。 7. **交叉编译GobiNet驱动**:对于GobiNet拨号方式的具体应用,可能需要进行交叉编译,以便在目标硬件上运行。这通常涉及到针对EC20和目标平台的特定编译配置。 8. **集成其他组件**:为了确保网络连接的全面支持,还需要集成与USB网络适配器相关的组件,如USBNet。 这篇文档提供了一套详尽的指南,涵盖了从添加硬件支持到配置内核,以及针对特定拨号方式(如GobiNet)进行驱动移植的关键步骤。这对于想要在Linux平台上使用EC20 4G模块进行PPP拨号上网的开发人员来说,是一份宝贵的参考资料。