LinuxSir.cn,穿越时空的Linuxsir!

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

关于2440下移植usb无线网卡

[复制链接]
发表于 2008-3-12 09:55:00 | 显示全部楼层 |阅读模式
关于2440下移植usb无线网卡
处理器:S3C2440
kernel:2.4.20
无线网卡:ASUS WL_167G
驱动程序:RT73_Linux_STA_Drv1.0.4.0 (rt73)
用交叉编译器:arm-linux-gcc 2.95
Makefile文件更改如下:
#############################################################
# Module Name: Makefile
# Abstract: Makefile for rt73 linux driver on kernel series 2.4
#############################################################
CC:=/usr/local/arm/2.95.3/bin/arm-linux-gcc
LD:=/usr/local/arm/2.95.3/bin/arm-linux-ld
include ./config.mk
LINUX_SRC:=/armsys2440/kernel2440

WFLAGS := -Wall -Wstrict-prototypes -Wno-trigraphs
CFLAGS := -D__KERNEL__ -I$(LINUX_SRC)/include -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe -DMODULE -DMODVERSIONS -include $(LINUX_SRC)/include/linux/modversions.h

## Comment/uncomment the following line to enable/disable debugging
#CFLAGS += -DDBG

CFLAGS += $(WFLAGS)

OBJ = rt73.o

rt73.o: rtmp_main.o mlme.o connect.o rtusb_bulk.o rtusb_io.o sync.o assoc.o auth.o auth_rsp.o rtusb_data.o rtmp_init.o sanity.o rtmp_wep.o rtmp_info.o rtmp_tkip.o wpa.o md5.o
$(LD) -r $^ -o $@

## NDDIR/ifcfg-rausb0
ND_CONF=/etc/sysconfig/network-scripts/ifcfg-rausb0

ifdef NDDIR
NDDIR := $(NDDIR)
else
NDDIR := /etc/sysconfig/network-scripts
endif

ifdef MOD_CONF
MOD_CONF := $(MOD_CONF)
else
MOD_CONF := /etc/modules.conf
endif
ifdef MODDIR
        MOD_ROOT := $(MODDIR)
else
        MOD_ROOT := /lib/modules/$(shell uname -r)/extra
endif


all: $(OBJ)
        @touch config.mk
               
clean:
        rm -rf *.o *~ core .*.cmd *.ko *.mod.c .tmp_versions built-in.o

install:
        @touch config.mk
        install -m 755 -o 0 -g 0 -d $(MOD_ROOT)
        install -m 644 -o 0 -g 0 $(OBJ) $(MOD_ROOT)
       
        @echo "Network device directory $(NDDIR)";
        @echo "Module configuration file $(MOD_CONF)";       
       
        @if [ -d "$(NDDIR)" ] ; then \
                if [ ! -f "$(ND_CONF)" ]; then \
                        echo "Create 'ifcfg-rausb0' in $(NDDIR)/"; \
                        cp ifcfg-rausb0 $(NDDIR)/ ; \
                fi; \
        fi
       
        @if ! grep -q 'rausb0' $(MOD_CONF) ; then \
                echo "append 'alias rausb0 rt73' to $(MOD_CONF)"; \
                echo "alias rausb0 rt73" >> $(MOD_CONF) ; \
        fi
        /sbin/depmod -a

config:
        @touch config.mk
        @./Configure
产生错误,若用交叉编译器:arm-linux-gcc 3.3.2,Makefile更改如下:
#############################################################
# Module Name: Makefile
# Abstract: Makefile for rt73 linux driver on kernel series 2.4
#############################################################
CC:=/usr/local/arm/3.3.2/bin/arm-linux-gcc
LD:=/usr/local/arm/3.3.2/bin/arm-linux-ld
include ./config.mk
LINUX_SRC:=/armsys2440/kernel2440

WFLAGS := -Wall -Wstrict-prototypes -Wno-trigraphs
CFLAGS := -D__KERNEL__ -I$(LINUX_SRC)/include -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe -DMODULE -DMODVERSIONS -include $(LINUX_SRC)/include/linux/modversions.h
..........
会生成rt73.o文件,我想是交叉编译器:arm-linux-gcc 2.95.3的问题,但现在我要用它,不知还要怎么改??
发表于 2008-3-12 11:42:06 | 显示全部楼层
你用交叉编译器:arm-linux-gcc 2.95.3时出现的是什么错误
贴出来看看
让大家看看分析一下
回复 支持 反对

使用道具 举报

发表于 2008-4-8 14:30:51 | 显示全部楼层
把.c和.h文件中所有的\都删除编译就通过了
回复 支持 反对

使用道具 举报

发表于 2008-4-28 15:15:24 | 显示全部楼层
Post by qld001a;1836070
把.c和.h文件中所有的\都删除编译就通过了



运行dos2unix,可以去除\的错误,有移植rt73的请跟我邮件联系,共同学习
回复 支持 反对

使用道具 举报

发表于 2008-4-29 16:10:00 | 显示全部楼层
Post by propheta;1843464
运行dos2unix,可以去除\的错误,有移植rt73的请跟我邮件联系,共同学习


2.95.3不能识别"\"连接符,所以根本编译不过去,和dos2unix无关.
回复 支持 反对

使用道具 举报

发表于 2008-5-13 21:46:50 | 显示全部楼层
其实2。95。3的编译器不能很好的处理dos/windows的换行符问题,所以就有了\报错,直接使用dos2unix把文本文件的格式变为unix格式就不会出这个错误了。
但是,在编译rt73的时候,如果使用的是比较低的内核版本,比如《=2。4。20的版本,还是会有其它的错误的,要把内核中的we部分升级才行。
回复 支持 反对

使用道具 举报

发表于 2008-7-27 17:41:56 | 显示全部楼层
我的板子内核是2.4.27-vrsl,驱动是RT73_Linux_STA_Drv1.0.4.0 (rt73) ,也出现如上错误,dos2unix后,确实错误少了很多,但还是没编译出结果,编译器用的2.95.3,主要修改了Makefile文件和Configure文件,不知道有编译成功的高人能否指点一二,
报错如下:
[root@localhost Module]# make
/usr/local/arm/2.95.3/bin/arm-linux-gcc -D__KERNEL__ -I/root/EBD2410/include -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe -march=armv4 -DMODULE -DMODVERSIONS -include /root/EBD2410/include/linux/modversions.h -Wall -Wstrict-prototypes -Wno-trigraphs   -c -o rtmp_main.o rtmp_main.c
In file included from /usr/local/arm/2.95.3/lib/gcc-lib/arm-linux/2.95.3/../../../../arm-linux/sys-include/asm/pci.h:6,
                 from /root/EBD2410/include/linux/pci.h:616,
                 from rt_config.h:73,
                 from rtmp_main.c:40:
/usr/local/arm/2.95.3/lib/gcc-lib/arm-linux/2.95.3/../../../../arm-linux/sys-include/asm/arch/hardware.h:16: asm/mach-types.h: No such file or directory
In file included from /root/EBD2410/include/linux/netdevice.h:458,
                 from rt_config.h:74,
                 from rtmp_main.c:40:
/root/EBD2410/include/linux/interrupt.h:77: warning: `__cpu_raise_softirq' redefined
/usr/local/arm/2.95.3/lib/gcc-lib/arm-linux/2.95.3/../../../../arm-linux/sys-include/asm/softirq.h:14: warning: this is the location of the previous definition
In file included from /root/EBD2410/include/linux/netdevice.h:458,
                 from rt_config.h:74,
                 from rtmp_main.c:40:
/root/EBD2410/include/linux/interrupt.h:79: parse error before `do'
/root/EBD2410/include/linux/interrupt.h: In function `tasklet_disable_nosync':
/root/EBD2410/include/linux/interrupt.h:175: warning: implicit declaration of function `smp_mb__after_atomic_inc'
make: *** [rtmp_main.o] Error 1
[root@localhost Module]# vi Makefile
You have new mail in /var/spool/mail/root
[root@localhost Module]#
回复 支持 反对

使用道具 举报

发表于 2008-7-29 07:31:12 | 显示全部楼层
换3.3.2的编译器后,网卡驱动就很顺畅的生成了,但是用这个编译器编译2.4内核时又报错真是顾此失彼呀,而用2.95.3的编译内核没问题。。。。。
回复 支持 反对

使用道具 举报

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

本版积分规则

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