概述
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 模块的支持所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复