LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1922|回复: 2

无线网卡驱动问题?

[复制链接]
发表于 2008-10-27 15:22:09 | 显示全部楼层 |阅读模式
我想把无线网卡驱动移植到嵌入式开发板上去,操作系统内核是2.6.8.1系列。买了块asus的WL-107G的无线网卡,是雷凌公司生产的芯片组。买的时候附带了linux下的驱动程序,按照说明是在fedora core 2下面进行编译,编译为pc机下的目标文件即RT2500.KO没有任何问题,但是在使用交叉编译环境arm-linux-gcc 并且把目标板的选项设置为ARCH=arm时编译出现了很多错误,主要是在内核包含文件process.h和system.h中,这些文件中有关于寄存器ebx,eax等的操作都是在编译时出现错误。请问下应该怎么办?(我没有修改它驱动程序中的Makefile)
主要错误如下:
root@localhost Module]# make ARCH=arm -C /lib/modules/2.6.5-1.358/build SUBDIRS=$PWD modules
make: Entering directory `/lib/modules/2.6.5-1.358/build'
CC [M] /usr/src/linux-2.6.5-1.358/RT2500-Linux-STA-1.4.2.0/Module/rtmp_main.oIn file included from include/asm/system.h:5,
from include/asm/processor.h:18,
from include/asm/thread_info.h:16,
from include/linux/thread_info.h:21,
from include/linux/spinlock.h:12,
from include/linux/capability.h:45,
from include/linux/sched.h:7,
from include/linux/module.h:10,
from /usr/src/linux-2.6.5-1.358/RT2500-Linux-STA-1.4.2.0/Module/rt_config.h:46,
from /usr/src/linux-2.6.5-1.358/RT2500-Linux-STA-1.4.2.0/Module/rtmp_main.c:30:
include/asm/hw_irq.h:28: error: `NR_IRQ_VECTORS' undeclared here (not in a function)
include/asm/hw_irq.h:32: error: `NR_IRQS' undeclared here (not in a function)
include/asm/hw_irq.h:55: warning: `regparm' attribute directive ignored
In file included from /usr/src/linux-2.6.5-1.358/RT2500-Linux-STA-1.4.2.0/Module/rt_config.h:54,
from /usr/src/linux-2.6.5-1.358/RT2500-Linux-STA-1.4.2.0/Module/rtmp_main.c:30:
include/linux/interrupt.h:95: warning: `regparm' attribute directive ignored
include/linux/interrupt.h:99: warning: `regparm' attribute directive ignored
include/linux/interrupt.h:100: warning: `regparm' attribute directive ignored
include/linux/interrupt.h:171: warning: `regparm' attribute directive ignored
include/linux/interrupt.h:179: warning: `regparm' attribute directive ignored
include/linux/mm.h:237: warning: `regparm' attribute directive ignored
include/linux/mm.h:468: warning: `regparm' attribute directive ignored
include/linux/mm.h:469: warning: `regparm' attribute directive ignored
include/linux/mm.h:470: warning: `regparm' attribute directive ignored
include/linux/mm.h:486: warning: `regparm' attribute directive ignored
In file included from include/linux/highmem.h:14,
from include/linux/skbuff.h:27,
from include/linux/netdevice.h:151,
from /usr/src/linux-2.6.5-1.358/RT2500-Linux-STA-1.4.2.0/Module/rt_config.h:56,
from /usr/src/linux-2.6.5-1.358/RT2500-Linux-STA-1.4.2.0/Module/rtmp_main.c:30:
include/asm/highmem.h:50: warning: `regparm' attribute directive ignored
include/asm/highmem.h:51: warning: `regparm' attribute directive ignored
In file included from include/linux/poll.h:11,
from include/linux/skbuff.h:28,
from include/linux/netdevice.h:151,
from /usr/src/linux-2.6.5-1.358/RT2500-Linux-STA-1.4.2.0/Module/rt_config.h:56,
from /usr/src/linux-2.6.5-1.358/RT2500-Linux-STA-1.4.2.0/Module/rtmp_main.c:30:
include/asm/uaccess.h:414: warning: `warn_unused_result' attribute directive ignored
include/asm/uaccess.h:415: warning: `warn_unused_result' attribute directive ignored
include/asm/uaccess.h:440: warning: `warn_unused_result' attribute directive ignored
include/asm/uaccess.h:478: warning: `warn_unused_result' attribute directive ignored
include/asm/uaccess.h:512: warning: `warn_unused_result' attribute directive ignored
include/asm/uaccess.h:537: warning: `warn_unused_result' attribute directive ignored
include/asm/system.h: In function `__set_64bit':
include/asm/system.h:169: error: unknown register name `dx' in `asm'
include/asm/system.h:169: error: unknown register name `ax' in `asm'
include/asm/system.h: In function `__set_64bit_constant':
include/asm/system.h:169: error: unknown register name `dx' in `asm'
include/asm/system.h:169: error: unknown register name `ax' in `asm'
include/asm/system.h: In function `__set_64bit_var':
include/asm/system.h:169: error: unknown register name `dx' in `asm'
include/asm/system.h:169: error: unknown register name `ax' in `asm'
include/asm/processor.h: In function `cpuid_eax':
include/asm/processor.h:144: error: unknown register name `dx' in `asm'
include/asm/processor.h:144: error: unknown register name `cx' in `asm'
include/asm/processor.h:144: error: unknown register name `bx' in `asm'
include/asm/processor.h: In function `cpuid_ebx':
include/asm/processor.h:154: error: unknown register name `dx' in `asm'
include/asm/processor.h:154: error: unknown register name `cx' in `asm'
include/asm/processor.h: In function `cpuid_ecx':
include/asm/processor.h:164: error: unknown register name `dx' in `asm'
include/asm/processor.h:164: error: unknown register name `bx' in `asm'
include/asm/processor.h: In function `cpuid_edx':
include/asm/processor.h:174: error: unknown register name `cx' in `asm'
include/asm/processor.h:174: error: unknown register name `bx' in `asm'
include/asm/processor.h: In function `set_in_cr4':
include/asm/processor.h:211: error: unknown register name `ax' in `asm'
include/asm/processor.h: In function `clear_in_cr4':
include/asm/processor.h:221: error: unknown register name `ax' in `asm'
include/asm/rwsem.h: In function `__up_write':
include/asm/rwsem.h:214: error: unknown register name `edx' in `asm'
include/asm/rwsem.h: In function `up_write':
include/asm/rwsem.h:214: error: unknown register name `edx' in `asm'
make[1]: *** [/usr/src/linux-2.6.5-1.358/RT2500-Linux-STA-1.4.2.0/Module/rtmp_main.o] ?? 1
make: *** [/usr/src/linux-2.6.5-1.358/RT2500-Linux-STA-1.4.2.0/Module] 错误 2
make: Leaving directory `/lib/modules/2.6.5-1.358/build'


我在编译时主要修改了下内核源(/lib/modules/2.6.5-1.358/build) 下的一个Makefile文件,该Makefile中的ARCH还是保持为$(SUBARCH),而CROSS_COMPILE改为了如下:/usr/local/arm/3.3.2/bin/arm-linux-也就是我的fc2中交叉编译器所在的目录,在编译命令行是如下写的:make ARCH=arm -C /lib/modules/2.6.5-1.358/build SUBDIRS=$PWD modules
 楼主| 发表于 2008-10-31 16:46:58 | 显示全部楼层
自己回答一下吧,问题已经解决,是/include/asm指向错误,应该指向asm-arm
回复 支持 反对

使用道具 举报

发表于 2008-11-18 21:41:29 | 显示全部楼层
能不能帮帮我?我的无线网卡是 TP-LINK w322G的
系统是 FC9
怎么才能在linux中联网
回复 支持 反对

使用道具 举报

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

本版积分规则

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