- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在编译一个内核驱动程序(我对驱动程序几乎一无所知)。
驱动程序代码是在 2.6 下编写的,我将其移植到 3.5.40。
我的uname -a
:我使用的是 Ubuntu 12.04.3Linux adam-ros 3.5.0-40-generic#62~precise1-Ubuntu SMP 8 月 23 日星期五 17:38:26 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
我使用命令“sudo insmod ./usbcan.ko”,在“/var/log/kern.log”中列出的信息如下:
Sep 25 03:27:58 adam-ros kernel: [11354.020492] usbcan: Unknown symbol usb_kill_urb (err 0)Sep 25 03:27:58 adam-ros kernel: [11354.020513] usbcan: Unknown symbol usb_submit_urb (err 0)Sep 25 03:27:58 adam-ros kernel: [11354.020540] usbcan: Unknown symbol usb_find_interface (err 0)Sep 25 03:27:58 adam-ros kernel: [11354.020556] usbcan: Unknown symbol usb_put_dev (err 0)Sep 25 03:27:58 adam-ros kernel: [11354.020568] usbcan: Unknown symbol usb_free_urb (err 0)Sep 25 03:27:58 adam-ros kernel: [11354.020584] usbcan: Unknown symbol usb_deregister_dev (err 0)Sep 25 03:27:58 adam-ros kernel: [11354.020600] usbcan: Unknown symbol usb_get_dev (err 0)Sep 25 03:27:58 adam-ros kernel: [11354.020612] usbcan: Unknown symbol usb_alloc_urb (err 0)Sep 25 03:27:58 adam-ros kernel: [11354.020625] usbcan: Unknown symbol usb_register_dev (err 0)Sep 25 03:27:58 adam-ros kernel: [11354.020638] usbcan: Unknown symbol usb_register_driver (err 0)Sep 25 03:27:58 adam-ros kernel: [11354.020650] usbcan: Unknown symbol usb_deregister (err 0)
我想知道是否是我没有加载正确的驱动程序模块作为依赖项,或者我应该链接 Makefile 中的一些内容?
感谢您的回答!
最佳答案
我知道这是一件愚蠢的事情,但我遇到了完全相同的问题,我用这个新的 Makefile 更改了 Makefile(没有什么特别的......)并且它起作用了。
obj-m := usbmodule.o
KERNELDIR ?= /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)
all:
$(MAKE) -C $(KERNELDIR) M=$(PWD)
clean:
rm -rf *.o *~ core .depend .*.cmd *.ko *.mod.c .tmp_versions
我首先清理了以前的编译(我之前做了一些测试)并且它起作用了。也许问题出在以前编译的文件上,例如 usbmodule.o 和其他文件。我无法给你一个确切的答案,只是建议你尝试清理以前的编译文件并使用这个简单的Makefile再次编译。请记住您当前的 Linux 内核版本必须与已安装的 Linux 内核头文件匹配。 (用uname -a检查)
希望对你有帮助。我知道不是太多,但我用这种方式解决了同样的问题。
关于linux - 驱动程序中的 usb_kill_urb、usb_submit_urb、usb_find_interface 显示未知符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18990642/
我正在编译一个内核驱动程序(我对驱动程序几乎一无所知)。 驱动程序代码是在 2.6 下编写的,我将其移植到 3.5.40。 我的uname -a:我使用的是 Ubuntu 12.04.3Linux a
我是一名优秀的程序员,十分优秀!