天嵌 ARM开发社区

 找回密码
 注册
查看: 3024|回复: 2

【求助】加载无线网卡模块时的问题

[复制链接]
flyingpig47 发表于 2010-3-11 10:23:19 | 显示全部楼层 |阅读模式
本帖最后由 flyingpig47 于 2010-3-11 10:24 编辑

自己按照教程移植2.6.25内核,在移植无线网卡的时候,按照教程,在make menuconfig下进行配置(教程上的菜单似乎是2.6.30的,有一两项与25不同)后,make zImage 然后make modules 将生成的模块拷贝到文件系统下。全都烧写完成后 启动开发板,出现如下出错信息,找了半天不知道怎么回事,请指教
VFS: Mounted root (yaffs filesystem).
Freeing init memory: 176K
input_polldev: unknown relocation: 40
insmod: cannot insert '/lib/input-polldev.ko': invalid module format
mac80211: unknown relocation: 40
insmod: cannot insert '/lib/mac80211.ko': invalid module format
rt2x00lib: Unknown symbol ieee80211_register_hw
rt2x00lib: Unknown symbol ieee80211_tx_status_irqsafe
rt2x00lib: Unknown symbol ieee80211_ctstoself_get
rt2x00lib: Unknown symbol ieee80211_start_queues
rt2x00lib: Unknown symbol ieee80211_stop_queue
rt2x00lib: Unknown symbol ieee80211_stop_queues
rt2x00lib: Unknown symbol ieee80211_unregister_hw
rt2x00lib: Unknown symbol ieee80211_rts_get
rt2x00lib: Unknown symbol ieee80211_beacon_get
rt2x00lib: Unknown symbol ieee80211_register_hwmode
rt2x00lib: Unknown symbol ieee80211_rx_irqsafe
insmod: cannot insert '/lib/rt2x00lib.ko': unknown symbol in module, or unknown
parameter
rt2x00usb: Unknown symbol rt2x00lib_probe_dev
rt2x00usb: Unknown symbol ieee80211_free_hw
rt2x00usb: Unknown symbol ieee80211_alloc_hw
rt2x00usb: Unknown symbol ieee80211_wake_queue
rt2x00usb: Unknown symbol rt2x00lib_rxdone
rt2x00usb: Unknown symbol rt2x00lib_remove_dev
rt2x00usb: Unknown symbol rt2x00lib_txdone
rt2x00usb: Unknown symbol rt2x00lib_write_tx_desc
rt2x00usb: Unknown symbol ieee80211_get_hdrlen
insmod: cannot insert '/lib/rt2x00usb.ko': unknown symbol in module, or unknown
parameter
rt73usb: Unknown symbol rt2x00mac_add_interface
rt73usb: Unknown symbol rt2x00mac_get_stats
rt73usb: Unknown symbol rt2x00usb_init_rxentry
rt73usb: Unknown symbol rt2x00usb_disable_radio
rt73usb: Unknown symbol rt2x00usb_init_txentry
rt73usb: Unknown symbol rt2x00usb_vendor_request_buff
rt73usb: Unknown symbol rt2x00lib_get_ring
rt73usb: Unknown symbol rt2x00usb_write_tx_data
rt73usb: Unknown symbol rt2x00mac_config_interface
rt73usb: Unknown symbol rt2x00mac_remove_interface
rt73usb: Unknown symbol rt2x00usb_vendor_request
rt73usb: Unknown symbol rt2x00usb_probe
rt73usb: Unknown symbol rt2x00mac_config
rt73usb: Unknown symbol rt2x00lib_write_tx_desc
rt73usb: Unknown symbol rt2x00mac_conf_tx
rt73usb: Unknown symbol rt2x00mac_start
rt73usb: Unknown symbol rt2x00mac_stop
rt73usb: Unknown symbol rt2x00usb_disconnect
rt73usb: Unknown symbol rt2x00mac_tx
rt73usb: Unknown symbol rt2x00usb_vendor_req_buff_lock
rt73usb: Unknown symbol rt2x00mac_get_tx_stats
rt73usb: Unknown symbol rt2x00usb_uninitialize
rt73usb: Unknown symbol rt2x00usb_initialize
rt73usb: Unknown symbol rt2x00mac_bss_info_changed
insmod: cannot insert '/lib/rt73usb.ko': unknown symbol in module, or unknown pa
rameter
亚瑟王 发表于 2010-3-11 11:27:06 | 显示全部楼层
由于EABI-4.3.3的编译器比2.6.25.8的新,再编译连接程序时两者的有些参数不兼容,所以使用3.4.5的编译器编译2.6.25.8的内核和wifi驱动时不会有任何问题;而EABI-4.3.3的编译器编译2.6.25.8的wifi驱动时(主要是mac80211)要调用到include/asm-arm/elf.h文件中的参数,而2.6.25.8的内核中没有EABI要调用的参数。所以会出现“unknown relocation: 40”这个错误。
解决办法:
1、修改include/asm-arm/elf.h的32行,添加#define R_ARM_V4BX     40
2、修改arch/arm/kernel/module.c文件在134行添加
case R_ARM_V4BX:
     *(u32 *)loc &=0xf000000f;
       *(u32 *)loc |=0x01a0f000;
       break;
回复

使用道具 举报

 楼主| flyingpig47 发表于 2010-3-12 09:03:27 | 显示全部楼层
多谢斑竹,在网上也搜到了类似的补丁,问题已经解决了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号-2 )

GMT+8, 2025-5-1 08:39 , Processed in 2.046589 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表