域格模块调试
1.id添加
diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c index ab170a5eef29..3feb5c410d96 100644 --- a/drivers/usb/serial/option.c +++ b/drivers/usb/serial/option.c @@ -520,6 +520,11 @@ static void option_instat_callback(struct urb *urb); #define YUGA_PRODUCT_CLU528 0x360D #define YUGA_PRODUCT_CLU526 0x360F +#define ASR_VENDOR_ID 0x1286 +#define YUGA_PRODUCT_ID3 0x4E3C +#define YUGA_VENDOR_AC3 0x1286 +#define YUGA_PRODUCT_AC3 0x4E3C + /* Viettel products */ #define VIETTEL_VENDOR_ID 0x2262 #define VIETTEL_PRODUCT_VT1000 0x0002 @@ -2096,6 +2101,8 @@ static const struct usb_device_id option_ids[] = { { USB_DEVICE(YUGA_VENDOR_ID, YUGA_PRODUCT_CWU581) }, { USB_DEVICE(YUGA_VENDOR_ID, YUGA_PRODUCT_CWU582) }, { USB_DEVICE(YUGA_VENDOR_ID, YUGA_PRODUCT_CWU583) }, + { USB_DEVICE(ASR_VENDOR_ID, YUGA_PRODUCT_ID3), + .driver_info = RSVD(0) | RSVD(1) }, { USB_DEVICE_AND_INTERFACE_INFO(VIETTEL_VENDOR_ID, VIETTEL_PRODUCT_VT1000, 0xff, 0xff, 0xff) }, { USB_DEVICE_AND_INTERFACE_INFO(ZD_VENDOR_ID, ZD_PRODUCT_7000, 0xff, 0xff, 0xff) }, { USB_DEVICE(LG_VENDOR_ID, LG_PRODUCT_L02C) }, /* docomo L-02C modem */ @@ -2258,6 +2265,14 @@ static int option_probe(struct usb_serial *serial, &serial->interface->cur_altsetting->desc; unsigned long device_flags = id->driver_info; +#if 1 //Added by yuga + if (serial->dev->descriptor.idVendor == YUGA_VENDOR_AC3 && serial->dev->descriptor.idProduct == YUGA_PRODUCT_AC3){ + if(serial->interface->cur_altsetting->desc.bInterfaceNumber == 0 + || serial->interface->cur_altsetting->desc.bInterfaceNumber == 1) + return -ENODEV; + } +#endif + #if 1 //Added by Quectel
2.有时候网卡usb0会注册成eth1,优化方式如下:
diff --git a/drivers/net/usb/usbnet.c b/drivers/net/usb/usbnet.c index 43d70348343b..3adb1f9c9c10 100644 --- a/drivers/net/usb/usbnet.c +++ b/drivers/net/usb/usbnet.c @@ -1719,8 +1719,14 @@ usbnet_probe (struct usb_interface *udev, const struct usb_device_id *prod) // can rename the link if it knows better. if ((dev->driver_info->flags & FLAG_ETHER) != 0 && ((dev->driver_info->flags & FLAG_POINTTOPOINT) == 0 || - (net->dev_addr [0] & 0x02) == 0)) - strcpy (net->name, "eth%d"); + // (net->dev_addr [0] & 0x02) == 0)) + // strcpy (net->name, "eth%d"); + (net->dev_addr [0] & 0x02) == 0)){ + if((le16_to_cpu(xdev->descriptor.idVendor) == 0x1286) && (le16_to_cpu(xdev->descriptor.idProduct) == 0x4e3c)) + strcpy (net->name, "usb%d"); + else + strcpy (net->name, "eth%d"); + } /* WLAN devices should always be named "wlan%d" */ if ((dev->driver_info->flags & FLAG_WLAN) != 0)
3.替换域格提供的库:
diff --git a/4g_modem/lib64/librk-ril.so b/4g_modem/lib64/librk-ril.so
4.模组厂建议用RNDIS

用rndis,需要设置属性:
persist.ril.data.prefer=rndis
5.完成以上步骤,可以有图标出来,但没有信号

需要设置属性
persist.ril.sig.poll=true

如果支持sim卡座需要支持热插拔的功能,还需要更新so库和属性
PRODUCT_PROPERTY_OVERRIDES += persist.ril.hotplug=2
支持模块休眠功能:
PRODUCT_PROPERTY_OVERRIDES += persist.ril.csclk=1
出海外系统apn可能失效,这个用于修复:
PRODUCT_PROPERTY_OVERRIDES += persist.ril.ena.initapn=1


浙公网安备 33010602011771号