我是靠谱客的博主 留胡子御姐,最近开发中收集的这篇文章主要介绍linux 下 添加 4G 模块的支持,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1)修改 drivers/usb/serial/option.c
 

static const struct usb_device_id option_ids[] = { 
...
        { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0199, 0xff, 0xff, 0xff), /* ZTE MF820S */
...
	{ USB_DEVICE(QUALCOMM_VENDOR_ID, 0x9000)}, /* SIMCom SIM5218 */
...
	{ USB_DEVICE(QUALCOMM_VENDOR_ID, 0x9003), /* Quectel UC20 */
	  .driver_info = (kernel_ulong_t)&net_intf4_blacklist },

这个数组里添加 ID

static const struct option_blacklist_info net_intf4_blacklist = {
	.reserved = BIT(4),
};

第4个功能处于黑名单

static int option_probe(struct usb_serial *serial,
			const struct usb_device_id *id)

....
	/*
	 * Don't bind reserved interfaces (like network ones) which often have
	 * the same class/subclass/protocol as the serial interfaces.  Look at
	 * the Windows driver .INF files for reserved interface numbers.
	 */
	blacklist = (void *)id->driver_info;
	if (blacklist && test_bit(iface_desc->bInterfaceNumber,
						&blacklist->reserved))
		return -ENODEV;
....

过滤黑名单,某些功能设备不是串口,是网口

2. 修改 drivers/net/usb/qmi_wwan.c

static const struct usb_device_id products[] = {

...
	{QMI_FIXED_INTF(0x19d2, 0x0199, 1)},	/* ZTE MF820S */
...
	{QMI_FIXED_INTF(0x05c6, 0x9000, 4)
...
        {QMI_FIXED_INTF(0x05c6, 0x9003, 4)},    /* 上海移软  */

./drivers/net/usb/cdc_ether.ko   // 通用的 免驱 USB 网卡
./drivers/net/usb/qmi_wwan.ko  

                       // 高通的消息接口,也可以进行modem拨号,Qualcom Message Interface
./drivers/usb/serial/option.ko // 更多的使用这种,ttyUSB ppp拨号
 

最后

以上就是留胡子御姐为你收集整理的linux 下 添加 4G 模块的支持的全部内容,希望文章能够帮你解决linux 下 添加 4G 模块的支持所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(48)

评论列表共有 0 条评论

立即
投稿
返回
顶部