我想在toradex colibri imx6中使用Edimax N150 usb dogle,为此,我需要交叉编译不推荐使用的驱动程序RTL8188cu(它也与RTL8192cu相同),这是针对toradex colibri的linux内核所做的,因为有很多不推荐使用的方法,所以它在一开始并没有编译,但我设法使它们成为通过将它们替换为新的更新,它编译并生成模块8192cu.ko,现在我将它们加载到colibri上,当我执行Insmod时,会得到以下错误:

[   95.186137] 8192cu: disagrees about version of symbol alloc_etherdev_mqs
[   95.192907] 8192cu: Unknown symbol alloc_etherdev_mqs (err -22)
[   95.223690] 8192cu: disagrees about version of symbol skb_copy_bits
[   95.229983] 8192cu: Unknown symbol skb_copy_bits (err -22)
[   95.239004] 8192cu: disagrees about version of symbol skb_put
[   95.244826] 8192cu: Unknown symbol skb_put (err -22)
[   95.250329] 8192cu: disagrees about version of symbol __netif_schedule
[   95.256956] 8192cu: Unknown symbol __netif_schedule (err -22)
[   95.263550] 8192cu: disagrees about version of symbol unregister_netdev
[   95.270190] 8192cu: Unknown symbol unregister_netdev (err -22)
[   95.270203] 8192cu: disagrees about version of symbol skb_dequeue
insmod: ERROR: could not insert m[   95.270207] 8192cu: Unknown symbol skb_dequeue (err -22)
odule 8192cu.ko: Invalid paramete[   95.270241] 8192cu: disagrees about version of symbol dev_alloc_name
rs
[   95.270245] 8192cu: Unknown symbol dev_alloc_name (err -22)
[   95.270279] 8192cu: disagrees about version of symbol unregister_netdevice_queue
[   95.270282] 8192cu: Unknown symbol unregister_netdevice_queue (err -22)
[   95.270304] 8192cu: disagrees about version of symbol wake_up_process
[   95.270308] 8192cu: Unknown symbol wake_up_process (err -22)
root@colibri-imx6:~# [   95.270318] 8192cu: disagrees about version of symbol eth_type_trans
[   95.270321] 8192cu: Unknown symbol eth_type_trans (err -22)
[   95.270381] 8192cu: disagrees about version of symbol netif_device_attach
[   95.270384] 8192cu: Unknown symbol netif_device_attach (err -22)
[   95.270393] 8192cu: disagrees about version of symbol skb_queue_tail
[   95.270396] 8192cu: Unknown symbol skb_queue_tail (err -22)
[   95.270452] 8192cu: disagrees about version of symbol skb_pull
[   95.270456] 8192cu: Unknown symbol skb_pull (err -22)
[   95.270487] 8192cu: disagrees about version of symbol skb_push
[   95.270490] 8192cu: Unknown symbol skb_push (err -22)
[   95.270510] 8192cu: no symbol version for wireless_send_event
[   95.270514] 8192cu: Unknown symbol wireless_send_event (err -22)
[   95.270522] 8192cu: disagrees about version of symbol register_netdev
[   95.270526] 8192cu: Unknown symbol register_netdev (err -22)
[   95.270538] 8192cu: disagrees about version of symbol free_netdev
[   95.270542] 8192cu: Unknown symbol free_netdev (err -22)
[   95.270611] 8192cu: disagrees about version of symbol __pskb_pull_tail
[   95.270614] 8192cu: Unknown symbol __pskb_pull_tail (err -22)
[   95.270622] 8192cu: disagrees about version of symbol netif_rx
[   95.270625] 8192cu: Unknown symbol netif_rx (err -22)
[   95.270631] 8192cu: disagrees about version of symbol __netdev_alloc_skb
[   95.270634] 8192cu: Unknown symbol __netdev_alloc_skb (err -22)
[   95.270645] 8192cu: disagrees about version of symbol skb_trim
[   95.270649] 8192cu: Unknown symbol skb_trim (err -22)
[   95.270688] 8192cu: disagrees about version of symbol __dev_kfree_skb_any
[   95.270691] 8192cu: Unknown symbol __dev_kfree_skb_any (err -22)
[   95.270720] 8192cu: disagrees about version of symbol netif_carrier_off
[   95.270724] 8192cu: Unknown symbol netif_carrier_off (err -22)
[   95.270737] 8192cu: disagrees about version of symbol skb_copy
[   95.270740] 8192cu: Unknown symbol skb_copy (err -22)
[   95.270746] 8192cu: disagrees about version of symbol skb_clone
[   95.270750] 8192cu: Unknown symbol skb_clone (err -22)
[   95.270755] 8192cu: disagrees about version of symbol dev_get_by_name
[   95.270759] 8192cu: Unknown symbol dev_get_by_name (err -22)
[   95.270767] 8192cu: disagrees about version of symbol netif_carrier_on
[   95.270770] 8192cu: Unknown symbol netif_carrier_on (err -22)
[   95.270783] 8192cu: disagrees about version of symbol find_vpid
[   95.270787] 8192cu: Unknown symbol find_vpid (err -22)
[   95.270828] 8192cu: disagrees about version of symbol register_netdevice
[   95.270831] 8192cu: Unknown symbol register_netdevice (err -22)

我在toradex的内核中搜索Module.symvers文件,我找到了它,我试图将它复制到驱动程序的Module.symvers中,但是当我编译它时,文件被删除了,如果你能帮助我解决问题或以任何方式帮助我,谢谢。

最佳答案

注意,来自Toradex的最新(3.14.52)Colibri iMX6内核在Colibri iMX6 defconfig中有CONFIG_RTL8192CU=m
不需要从树外编译驱动程序。我建议简单地部署/构建最新的内核和模块。你可以download the latest binary image from the Toradex Developer Center

关于linux - 在toradex colibri imx6(insmod)中为Dogle加载模块时出错,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38509082/

10-10 14:08