高通模组驱动和拨号程序

高通芯片的模组都一般都不是免驱的,使用GObiNet拨号的比较多。

要想使用高通芯片的模组拨号一般有三块内容要移植。

串口驱动

一般只需要在Linux内核中添加厂商ID和产品ID就行了,内核中有现场的驱动程序,添加好后,就可以在/dev目录下生成ttyUSB0~ttyUSB3四个串口。

GobiNet驱动

在GobiNet驱动中会挂载5G网口的发送和接收函数,还会创建qmi消息通道,也是在/dev目录下生成一个qmi设备节点。GobiNet相当于起了一个QMI消息代理,用来封装QMI消息。

拨号程序

拨号程序是用来控制拨号的,使用qmi消息通信。注网是不需要控制的,只要cfun状态为1,模组就会自动注网,不需要应用层控制。而我们发送cfun指令和设置网络参数都是通过ttyUSB串口发送at指令做设置的。拨号程序最主要的功能是监控模组侧的注网状态,一旦注网成功就发起拨号。

QMI_WWAN/GOBINET

QMI_WWAN、GOBINET是在Linux上实现NDIS拨号的驱动的名字。

QMI_WWAN:是高通在Linux下提供的类似ECM的框架,由于高通的行业地位和其产品的市场占有率,该框架使用相当广泛。

GOBINET:在版本低于3.4的Linux内核中,没有添加QMI_WWAN驱动,于是高通用该驱动来完成拨号,后来内核中支持QMI_WWAN,就不再需要单独提供驱动了,GOBINET就不再需要了。

Gobinet QMI-WWAN作用是一样的,都是Linux上高通模块的驱动程序。他们的分界线就是内核版本。linux3.4之前高通的QMI-WWAN并没有添加到linux内核中,所以高通就开发了Gobinet软件包,包括4G驱动与4G拨号程序。但是linux3.4内核已经把QMI添加到内核中了,所以使用高通方案的4G模块就不需要这么麻烦了,只需要在menuconfig的时候添加如下配置就可以了,大大简化了4G模块的使用。

这两种拨号方式最主要的差别是qmi消息通道,qmi_wwan的qmi通道是一个网络设备,类似ncm拨号。Gobinet的qmi消息通道是一个字符设备。

GobiNet驱动源码分析

结构体定义:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李小白20200202

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值