海思3519dv500平台下合宙AIR780eg的CDC-ACM与RNDIS双模驱动实战

1. 项目背景与硬件连接

最近在做一个海思3519dv500平台的项目,需要接入合宙的AIR780eg模块来实现4G联网功能。这个模块性价比很高,支持Cat1bis网络,还内置了GNSS定位,特别适合物联网项目。不过在实际调试过程中,我发现虽然Linux系统本身已经包含了所需的驱动,但嵌入式平台往往因为内核配置问题导致模块无法正常工作。

硬件连接很简单,就是用USB线将AIR780eg模块连接到海思3519dv500开发板的USB接口。这里要注意的是,AIR780eg模块会同时启用两种USB功能模式:CDC-ACM虚拟串口和RNDIS网络适配器。CDC-ACM会虚拟出3个TTY串口设备,其中一个用于AT指令通信,另外两个用于数据传输;RNDIS则会让USB设备看起来像一块网卡,实现TCP/IP over USB的功能。

我在刚开始调试的时候,发现模块插上后系统没有任何反应,既没有出现新的网络接口,也没有看到串口设备。这种情况在嵌入式开发中很常见,主要是因为芯片厂商提供的SDK通常不会开启所有内核功能,需要我们自己手动配置和编译内核。

2. 内核配置与驱动使能

2.1 进入内核配置界面

首先需要进入海思3519dv500的Linux内核配置界面。我一般使用menuconfig工具,因为它的界面比较友好,搜索功能也很方便。在终端中输入以下命令:

make ARCH=arm64 menuconfig

这里要特别注意架构参数,海思3519dv500是arm64架构,如果使用错误的架构配置,编译出来的内核可能无法正常启动。

2.2 启用CDC-ACM驱动

CDC-ACM驱动在Linux内核中已经存在很长时间了,稳定性很好。在menuconfig界面中,可以通过按下"/"键调出搜索功能,输入"CDC_ACM"来快速定位配置项。具体路径是:

Device Drivers 
  → USB support 
    → USB Serial Converter support 
      → USB Generic Serial Driver
      → USB ACM support

找到"USB ACM support"选项后,按空格键将其标记为"*"(编译进内核),而不是"M"(编译为模块)。在嵌入式系统中,我强烈建议将关键驱动直接编译进内核,避免模块加载带来的额外复杂度。

2.3 配置RNDIS相关选项

RNDIS的配置相对复杂一些,因为涉及多个配置项。同样使用搜索功能,输入"RNDIS"找到所有相关选项。需要确保以下选项都设置为"y"(编译进内核):

  • USB_CONFIGFS_RNDIS
  • USB_ETH_RNDIS
  • USB_FUNCTIONFS_RNDIS
  • USB_F_RNDIS
  • USB_G_MULTI_RNDIS
  • US
已经博主授权,源码转载自 https://pan.quark.cn/s/a4b39357ea24 ### Windows 7 0x0000003B蓝屏故障处理方法 #### 背景概述 在日常操作Windows 7操作系统的过程中,遭遇蓝屏现象是非常普遍的一种情况。对于许多用户,特别是计算机操作技能较为基础的用户,面对蓝屏可能会感到非常茫然和束手无策。实际上,大多数蓝屏状况都是可以通过特定的技术手段来处理的。本文将详尽阐述如何应对Windows 7系统中的0x0000003B蓝屏故障。 #### 0x0000003B蓝屏故障的成因探究 0x0000003B蓝屏故障指的是在执行某些特定应用程序时,系统蓝屏并展示错误代码“0x0000003B”。依据微软官方发布的技术支持文章(KB2584454),该问题通常在运行特定软件(如Cyberlink YouCam)时发生。具体来说,是由于DirectX 9(D3D9)在运行期间未能准确验证应用程序传输的矩形值参数,造成系统内核驱动(Dxgkrnl.sys)接收到了无效的矩形坐标信息。由于Dxgkrnl.sys亦未对该坐标值进行有效核查,最终导致系统尝试执行非法的数学运算(例如除以零),从而引发蓝屏。 #### 解决措施 为了应对0x0000003B蓝屏故障,微软已经发布了相关的紧急修复补丁。用户可以通过以下步骤获取并部署这个补丁: 1. **进入微软官方支持站点**:通过浏览器访问微软官方的支持站点([http://support.microsoft.com/hotfix/KBHotfix.aspx?kbnum=2584454&kl=zh-cn](http://support.microsoft.com/hotfix/KBHotf...
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值