赞
踩
1.1 下载linux内核,准备编译环境,请参看“RaspberryPi4B 树莓派4B Linux5.4.y 内核编译”
1.2 修改usb串口驱动, drivers/usb/serial/option.c
static const struct usb_device_id option_ids[] = {
#if 1 //Added by Quectel
{ USB_DEVICE(QUALCOMM_VENDOR_ID, 0x9215) }, /* Quectel EC20 */
{ USB_DEVICE(QUECTEL_VENDOR_ID, 0x6026) }, /* Quectel EC200 */
{ USB_DEVICE(QUECTEL_VENDOR_ID, 0x6120) }, /* Quectel UC200 */
{ USB_DEVICE(QUECTEL_VENDOR_ID, 0x6000) }, /* Quectel EC200/UC200 */
#endif
1.3 增加休眠后唤醒接口
static struct usb_serial_driver option_1port_device = { .driver = { .owner = THIS_MODULE, .name = "option1", }, .description = "GSM modem (1-port)", ... #ifdef CONFIG_PM .suspend = usb_wwan_suspend, .resume = usb_wwan_resume, #if 1 //add by Quectel .reset_resume = usb_wwan_resume, #endif #endif };
1.4 如果要使用 GobiNet or QMI WWAN,需要阻止第四个接口注册为串口
static int option_probe(struct usb_serial *serial,
const struct usb_device_id *id)
{
struct usb_interface_descriptor *iface_desc =
&serial->interface->cur_altsetting->desc;
unsigned long device_flags = id->driver_info;
#if 1 //Added by Quectel
//Quectel UC20's interface 4 can be used as USB Network device
if (serial->dev->descriptor.idVendor == cpu_to_le16(0x05C6) && serial->dev->descriptor.idProduct == cpu_to_le16(0x9003)
&
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。