您的位置:首页 > 游戏 > 手游 > 网站排名不稳定怎么办_帆软社区app_深圳seo网站优化公司_自己的产品怎么推广

网站排名不稳定怎么办_帆软社区app_深圳seo网站优化公司_自己的产品怎么推广

2025/4/19 6:10:34 来源:https://blog.csdn.net/Liudengdeng_/article/details/146211582  浏览:    关键词:网站排名不稳定怎么办_帆软社区app_深圳seo网站优化公司_自己的产品怎么推广
网站排名不稳定怎么办_帆软社区app_深圳seo网站优化公司_自己的产品怎么推广

1. 背景概述
因遇到 Android Ndis 拨号 GobiNet 驱动移植问题,导致 Android RIL 测试阻
塞,经分析梳理,现将该问题处理过程中的问题及解决方法简单整理,作为后续 Android
GobiNet 驱动移植的参考。

知识拓展:Gobi 其实是高通的数据卡和模块的一个系列,有 Gobi2000/Gobi3000/Gobi4000 等系列。GobiNet 驱动就是针对高通 Gobi 系列的 NDIS 网卡驱动,其实就是 Qualcomm CDC/ECM 驱动(也叫 RmNet 驱动)。拨号成功后,客户端系统通过 DHCP client获取模块 DHCP server 分配的 IP。

2. USB端口信息
某模组的端口列表为:

3. Gobinet驱动集成

Gobinet驱动一般是基于平台提供的源码基础上修改而来的,一般包含makefile、GobiUSBnet.c、QMI.c、QMI.h、QMIDevice.c、QMIDevice.h以及Structs.h文件。

3.1 Gobinet驱动添加系统组件

Gobinet驱动需要内核的usbnet驱动支持,因此需要配置Linux内核,配置方法如下:

cd kernel

make menuconfig

device drivers->Network device support->usb Network Adapters

选中如下组件,然后保存配置:

Multi-purpose USB Networking Framework

3.2 Gobinet驱动编译

用户可以编译为*.ko形式,也可以将代码放入内核中一起编译为*.o形式。

编译为*.ko形式:修改 Makefile 中 KDIR 的值为 kernel 的编译路径, 在 driver 目录下执行 make 命令,编译成功就可以生成 GobiNet.ko 驱动。

编译为*.o形式:将代码文件复制到用户自己的 kernel 代码的 drivers/net/usb 目录下;
在 drivers/net/usb/Makefile 中增加以下内容:
obj-y += GobiNet.o
GobiNet-objs := GobiUSBNet.o QMIDevice.o QMI.o

之后每次编译内核都会自动编译 Gobinet驱动。

3.3 Gobinet驱动加载

驱动加载的两种方式如下:
1.通过 insmod 命令加载Gobinet驱动:
sudo insmod GobiNet.ko
驱动一般默认 debug 关闭,可以采用如下方式开启:
ehco 1 > /sys/module/GobiNet/parameters/debug
2.通过 modprobe 命令加载 Gobinet 驱动:
在 driver 目录执行 make install 命令;
sudo make install
会将驱动安装到系统的 module 目录中,并且分析依赖关系,将相关模块同时加载。

然后使用ifconfig命令查看网卡信息,一般如果出现usb0则表示驱动加载成功。

4. USB串口驱动集成

4.1 USB串口驱动添加系统组件

USB串口驱动添加需要配置Linux内核,配置方法如下:

cd kernel

make menuconfig

device drivers->usb support->usb serial converter support

选中如下组件,然后保存配置:

USB driver for GSM and CDMA modems

4.2 代码修改

1. 打开内核源码文件 option.c(路径一般为 drivers/usb/serial/option.c)。在源码中找到 option_ids 数组,
在数组中添加某产品的 VID和 PID;
static const struct usb_device_id option_ids[] = {
… …
#if 1
    { USB_DEVICE(VID, PID) },
#endif
… …

2. 在 USB 串口驱动中,过滤 NDIS 接口。由于 USB 串口跟 NDIS 都属于非标准 CDC 设备,需要防止NDIS 口被 USB 串口驱动加载而导致无法正常加载 NDIS 口驱动。

在 probe 函数内判断当前的 interface num 进行过滤,具体如下:
#if 1
    if (serial->dev->descriptor.idVendor == cpu_to_le16(VID) &&
    serial->dev->descriptor.idProduct == cpu_to_le16(PID) &&
    serial->interface->cur_altsetting->desc.bInterfaceNumber >= 4) {
        printk(KERN_INFO “Discover the 4 th interface for fibocom\n”);
        return –ENODEV;
    }
#endif

4.3 USB串口驱动加载

执行 sudo modprobe option,使用 lsusb 和 ls /dev/ttyUSB*命令,查看是否加载成功。一般会加载出/dev/ttyUSB0、/dev/ttyUSB1、/dev/ttyUSB2、/dev/ttyUSB3之类的端口,端口顺序与章节2的顺序相同。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com