OpenWrt 支持 合宙 cat1 Luat 4G Air 724UG模块 ttyUSB功能

1、make menuconfig

需要支持

Kenrel modules -> USB Support -> kmod-usb-net -> kmod-usb-net-rndis

2、添加配置。
内核文件路径大致如下


openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7628/linux-3.18.29/drivers/usb/serial/option.c

修改两个文件 :

注意 P_ID 和 V_ID 需要使用对应的地址(可在官方手册上查)。

1) option.c

第一个位置:
static const struct usb_device_id option_ids[] = {
//+add by airm2m for Air72x
{ USB_DEVICE(0x1782, 0x4e00) },
//-add by airm2m for Air72x
***
}

第二个位置:
#ifdef CONFIG_PM
.suspend = usb_wwan_suspend,
.resume = usb_wwan_resume,
//+add by airm2m for Air726
.reset_resume = usb_wwan_resume,
//-add by airm2m for Air726
***

第三个位置(避免当成usb存储设备):
static int option_probe(struct usb_serial *serial,
            const struct usb_device_id *id)
{
***
if (is_blacklisted(
iface_desc->bInterfaceNumber,
OPTION_BLACKLIST_RESERVED_IF,
(const struct option_blacklist_info *) id->driver_info))
return -ENODEV;
//+add by airm2m for Air72x
  if(dev_desc->idVendor == cpu_to_le16(0x1782) &&
     dev_desc->idProduct == cpu_to_le16(0x4e00) &&
     iface_desc->bInterfaceNumber <= 1)
        return -ENODEV;
//-add by airm2m for Air72x
***
}

2) usb_wwan.c文件
static struct urb *usb_wwan_setup_urb(struct usb_serial_port *port,
int endpoint,
int dir, void *ctx, char *buf, int len,
void (*callback) (struct urb *))
{
struct usb_serial *serial = port->serial;
struct urb *urb;

urb = usb_alloc_urb(0, GFP_KERNEL); /* No ISO */
if (!urb)
return NULL;

usb_fill_bulk_urb(urb, serial->dev,
usb_sndbulkpipe(serial->dev, endpoint) | dir,
buf, len, callback, ctx);
//+add by airm2m for Air72x
if(dir == USB_DIR_OUT){
struct usb_device_descriptor *desc = &serial->dev->descriptor;
if(desc->idVendor == cpu_to_le16(0x1782) && desc->idProduct == cpu_to_le16(0x4e00))
{
urb->transfer_flags |= URB_ZERO_PACKET;
}
}
//-add by airm2m for Air72x
***
}

3、修改内核

make kernel_menuconfig

勾选如下:
[*] Device Drivers →
     [*] USB Support → 
         <*>Support for Host-side USB →
             [*] USB Serial Converter support →
                 [*] USB driver for GSM and CDMA modems

重新编译 make V=s

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值