1.请问关于dm8148设备驱动问题。
usb gadget驱动,dm8148作为从机通过USB模拟网卡与PC上位机进行通信,
在内核源码包通过menuconfig编译出相应的内核模块g_ether.ko后,
将此内核模块安装会出现:insmod: error inserting 'g_ether.ko': -1 Unknown symbol in module,
用dmesg|tail查看信息,有如下:
g_ether: Unknown symbol usb_gadget_probe_driver (err 0)
g_ether: Unknown symbol get_gadget_drv_id (err 0)
g_ether: Unknown symbol usb_gadget_unregister_driver (err 0)
g_ether: Unknown symbol put_gadget_drv_id (err 0)
g_ether: Unknown symbol get_gadget_max_drv_id (err 0)
g_ether: Unknown symbol usb_gadget_probe_driver (err 0)
g_ether: Unknown symbol get_gadget_drv_id (err 0)
g_ether: Unknown symbol usb_gadget_unregister_driver (err 0)
g_ether: Unknown symbol put_gadget_drv_id (err 0)
g_ether: Unknown symbol get_gadget_max_drv_id (err 0)
我按照TI官方提供USB配置文档(http://processors.wiki.ti.com/index.php/Usbgeneralpage#One_port_as_host_and_other_port_as_Gadget_.28for_DM81XX.29)来做的,
请问在编译模块之前在内核包/drivers/usb/中要做出什么配置吗?该如何配置?
Chris Meng:
你好,
请问你使用的uImage是否是和g_ether.ko一起编译出来的?
zhongzan tang:
安装后出现什么问题,不能通信,和使用?
user2000895:
如果你使用第三方的内核模块提供的内核函数,就必须查看该模块的Moudule.symvers。 从内核2.6开始,好像只可以调用导出的内核函数
据我了解,内核所引人的符号能够通过MODULE_LICENSE控制,例如非GPL的私有函数是不能引用使用GPL申明的内核函数的。
jiaozi tianzhi:
按照TI官网提供的文档重新配置一遍试试。加油~~
YI LIU10:
按照数据手册配置,加油!!
chunyu ma:
回复 YI LIU10:
我在TI DM8148 EVM开发板的usb0口接入了一个USB Camera,并将J22短接了,置于host模式,在调用程序驱动它的时候发现,可以获取摄像头相关信息,但是在捕获连续图像时卡死,死在ioctl(fd, VIDIOC_DQBUF, &buf)出不来; 内核也没有打印相关错误。USB摄像头在其他开发板上是可以正常工作的,证明非摄像头的问题,不知道是什么原因?
buyu wang:
回复 chunyu ma:
你好,我在使用DM8168的时候也遇到了相同的问题,摄像头在虚拟机上能正常工作,但连到开发板上,就会卡死在ioctl处,请问现在有解决方法吗