花了一天时间终于让6410开发板ping通www.baidu.com了,下面分享给大家。希望大家少走弯路~
我不知道是不是因为ME3760 V2这个4G模块太偏了,网上没有一个成熟详细的移植教程。官方文档一大堆,但是看得云里雾里的。我将我的移植尽可能详细的记录下来,不一定适用你的环境哈~
一、驱动移植:
1、ECM驱动。ME3760带有两种接口,一种是NDIS接口,一种是ECM接口。首选当然是ECM接口,驱动移植较为简单。可以再串口输入以下模块使模块切换到ECM接口:
echo "AT+ZNCARD=1" > /dev/ttyUSB0
下面的步骤可以按照官方手册:
1.1. 增加具体设备驱动文件: /linux-2.6.18/drivers/usb/serial/option.c( 注: 说明:在比较早的 linux 版本中,对应的驱动文件为: usb-serial.c 文件,路径可能 在..\drivers\usb\serial\usb-serial.c)找到如下行:static struct usb_device_id option_ids[] = {在其下添加内容:{ USB_DEVICE(0x19d2, 0x0199) },如图 1 所示:
1.2.Usb 串口驱动过滤 ECM 接口由于 usb 串口跟 ECM 都属于非标准 cdc 设备,需要防止 ECM 口被 usb 串口驱动加载导致 ECM 驱 动无法顺利完成加载。文件: /linux-2.6.18/drivers/usb/serial/usb-serial.c找到 usb_serial_probe 函数,在函数中找到如下行:
type = search_serial_device(interface);
在其前面添加如下内容:
if ((le16_to_cpu(dev->descriptor.idVendor) == 0x19d2) &&
(le16_to_cpu(dev->descriptor.idProduct) == 0x0199)) {
if ((1 == interface->cur_altsetting->desc.bInterfaceNumber)||
( 0 == interface->cur_altsetting->desc.bInterfaceNumber)) {
return -ENODEV;
}