Hi3516平台4G模块(移远 EC20)驱动调试

Hi3516平台4G模块驱动调试,模块选用Quectel EC20 。

1、修改内核源码/drivers/usb/serial/option.c

  • option.c中增加如下定义:
#if 1	//Added by Quectel
#define QUECTEL_VENDOR_ID			0x2C7C	//移远
#define QUECTEL_PRODUCT_UC15		0x9090	//quectel UC15
#define QUECTEL_PRODUCT_UC20		0x9003	//quectel UC20
#define QUECTEL_PRODUCT_EC20		0x9215	//quectel EC20
#define QUECTEL_PRODUCT_EC25		0x0125	//quectel EC25 / EC20 R2.0
#define QUECTEL_PRODUCT_EC21		0x0121	//quectel EC21
#endif
  • 修改static const struct usb_device_id option_ids,增加如下内容:
#if 1	//Added by Quectel
	{ USB_DEVICE(QUALCOMM_VENDOR_ID, QUECTEL_PRODUCT_UC15) },
	{ USB_DEVICE(QUALCOMM_VENDOR_ID, QUECTEL_PRODUCT_UC20) },
	{ USB_DEVICE(QUALCOMM_VENDOR_ID, QUECTEL_PRODUCT_EC20) },
	{ USB_DEVICE(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EC25) }, /* Quectel EC25/EC20 R2.0 */
	{ USB_DEVICE(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EC21) }, /* Quectel EC21 */
	{ USB_DEVICE(QUECTEL_VENDOR_ID, 0x0191) }, /* Quectel EG91 */
	{ USB_DEVICE(QUECTEL_VENDOR_ID, 0x0195) }, /* Quectel EG95 */
	{ USB_DEVICE(QUECTEL_VENDOR_ID, 0x0306) }, /* Quectel EG06/EP06/EM06 */
	{ USB_DEVICE(QUECTEL_VENDOR_ID, 0x0296) }, /* Quectel BG96 */
#endif
  • 修改option_probe函数,增加如下内容:
#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(QUALCOMM_VENDOR_ID) && 
		serial->dev->descriptor.idProduct == cpu_to_le16(QUECTEL_PRODUCT_UC20) && 
		serial->interface->cur_altsetting->desc.bInterfaceNumber >= 4)
		return -ENODEV;
	//Quectel EC20's interface 4 can be used as USB Network device
	if(serial->dev->descriptor.idVendor == cpu_to_le16(QUALCOMM_VENDOR_ID) && 
		serial->dev->descriptor.idProduct == cpu_to_le16(QUECTEL_PRODUCT_EC20) && 
		serial->interface->cur_altsetting->desc.bInterfaceNumber >= 4)
		return -ENODEV;
	
	//Quectel EC25&EC21&EC20 R2.0&EG91&EG95&EG06&EP06&EM06&BG96's interface 4 can beused as USB Network device
	if(serial->dev->descriptor.idVendor == cpu_to_le16(QUECTEL_VENDOR_ID) &&
	    serial->interface->cur_altsetting->desc.bInterfaceNumber >= 4)
		return -ENODEV;
#endif

如果使用EC20模块,并且内核源码中存在如下的定义,避免与EC20模块冲突需将其删除。

[KERNEL]/drivers/usb/serial/qcserial.c
{USB_DEVICE(0x05c6, 0x9215)}, /* Acer Gobi 2000 Modem device (VP413) */

[KERNEL]/drivers/net/usb/qmi_wwan.c
{QMI_GOBI_DEVICE(0x05c6, 0x9215)}, /* Acer Gobi 2000 Modem device (VP413) */

2、修改/drivers/usb/serial/usb-serial.c

static struct usb_driver usb_serial_driver中增加:

#if 1 //Added by Quectel
.reset_resume = usb_serial_resume,
#endif

3、修改/drivers/usb/serial/usb_wwan.c

usb_wwan_setup_urb中增加:

#if 1 //Added by Quectel for Zero Packet
	if(dir == USB_DIR_OUT)
	{
		struct usb_device_descriptor *desc = &serial->dev->descriptor;
		if(desc->idVendor == cpu_to_le16(0x05C6) && desc->idProduct == cpu_to_le16(0x9090))
			urb->transfer_flags |= URB_ZERO_PACKET;
		if(desc->idVendor == cpu_to_le16(0x05C6) && desc->idProduct == cpu_to_le16(0x9003))
			urb->transfer_flags |= URB_ZERO_PACKET;
		if(desc->idVendor == cpu_to_le16(0x05C6) && desc->idProduct == cpu_to_le16(0x9215))
			urb->transfer_flags |= URB_ZERO_PACKET;
		if(desc->idVendor == cpu_to_le16(0x2C7C))
			urb->transfer_flags |= URB_ZERO_PACKET;
	}
#endif

4、添加驱动源文件

将GobiNet中的.c和.h文件放至[KERNEL]/drivers/net/usb中

修改[KERNEL]/drivers/net/usb/makefile,增加如下内容:

obj-y += GobiNet.o
GobiNet-objs := GobiUSBNet.o QMIDevice.o QMI.o

增加驱动编译选项:

[*] Device Drivers →
    [*] USB Support →
        [*] USB Serial Converter support →
            [*] USB driver for GSM and CDMA modems
[*] Device Drivers →
    -*- Network device support →
        USB Network Adapters →
            {*} Multi-purpose USB Networking Framework

5、编译更新内核,插入EC20模块时,出现如下打印

ls /dev/可以看到ttyUSB0、ttyUSB1、ttyUSB2、ttyUSB3,以及qcqmi1

ifconfig –a 可以看到eth1

此时,4G模块驱动已正常加载

  • 7
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
hi3516是海思科技公司推出的一款高性能视频处理芯片,可应用于视频监控等领域。图像调试是指通过对芯片内置的图像处理算法进行参数调整,优化图像质量和图像效果。 首先,进行hi3516图像调试需要一台配备hi3516开发板的计算机。将开发板连接至计算机,并安装好相应的驱动调试软件。 在图像调试过程中,可以通过调整一些参数来优化图像质量。比如,调整图像的亮度、对比度、饱和度等参数,可以使图像更加清晰和鲜艳。同时,还可以进行锐化、降噪和去马赛克等处理,以进一步提升图像的质量。 在调试过程中,需要实时观察图像的变化,并根据效果调整参数。可以通过调试软件提供的调节滑块、输入数值等方式,直观地调整参数。同时,可以选取不同场景下的图像样本,通过对比调整前后的效果,进行参数调整。 另外,还可以通过设置自动增益控制(AGC)、自动白平衡(AWB)、自动曝光(AE)等功能,使图像在不同光线环境下自动调整参数,以实现更好的图像效果。 最后,需要注意的是,图像调试是一个迭代过程,需要进行多次尝试和调整。通过不断优化参数,最终达到理想的图像质量和效果。 总结起来,hi3516图像调试是通过对芯片内置的图像处理算法参数进行调整,优化图像质量和效果的过程。通过实时观察和对比调整前后的效果,不断优化参数,最终达到理想的图像效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值