我想在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/