4G上网模块ME3760移植到arm开发板上(6410)

本文详细介绍了如何将4G上网模块ME3760成功移植到基于ARM处理器的6410开发板上,包括模块的硬件连接、驱动安装、配置参数设置以及实现4G拨号上网的步骤,为ARM平台的4G通信提供解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

     花了一天时间终于让6410开发板ping通www.baidu.com了,下面分享给大家。希望大家少走弯路~
    我不知道是不是因为ME3760 V2这个4G模块太偏了,网上没有一个成熟详细的移植教程。官方文档一大堆,但是看得云里雾里的。我将我的移植尽可能详细的记录下来,不一定适用你的环境哈~
    一、驱动移植:
    1、ECM驱动。ME3760带有两种接口,一种是NDIS接口,一种是ECM接口。首选当然是ECM接口,驱动移植较为简单。可以再串口输入以下模块使模块切换到ECM接口:
  
  
  1. 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 函数,在函数中找到如下行:
     
     
  1. type = search_serial_device(interface);
在其前面添加如下内容:
     
     
  1. if ((le16_to_cpu(dev->descriptor.idVendor) == 0x19d2) &&
  2. (le16_to_cpu(dev->descriptor.idProduct) == 0x0199)) {
  3. if ((1 == interface->cur_altsetting->desc.bInterfaceNumber)||
  4. ( 0 == interface->cur_altsetting->desc.bInterfaceNumber)) {
  5. return -ENODEV;
  6. }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值