域格模块调试

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

 

 

posted @ 2025-05-22 20:01  M-kobe  阅读(34)  评论(0)    收藏  举报