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拨号
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值