首页 > 其他 > 详细

pcduino_arm_rtl8187L 驱动安装编译过程

时间:2014-04-24 10:19:38      阅读:654      评论:0      收藏:0      [点我收藏+]

pcduino_arm_rtl8187L

驱动安装编译过程


1.准备环境(直接在pcduinov2上进行的命令操作)

1.#sudo apt-get update && sudo apt-get installpcduino-linux-headers-3.4.29+

2.#cd /lib/modules/3.4.29+

3.#ln -s /usr/src/linux-headers-3.4.29+/ build

4.#ln -s /usr/src/linux-headers-3.4.29+/ source

2.准备源文件

rtl8187L_linux_1041[1].0209.2012.tar.gz

下载地址:ftp://WebUser:AxPL9s3k@58.211.24.153/cn/wlan/rtl8187L_linux_1041[1].0209.2012.tar.gz

3.编译

1#tar vxzf rtl8187L_linux_1041[1].0209.2012.tar.gz

2#cd rtl8187L_linux_1041[1].0209.2012

3#make

错误1:

gcc:error: -msoft-float and -mhard_float may not be used together

解决方法:

如果出现编译错误,说是编译器无法同时使用soft浮点运算和hard浮点运算,这个是编译器版本问题,可以分别在/ieee80211/Makefile和/rtl8187/Makefile中注释掉:

EXTRA_CFLAGS += -mhard-float-DCONFIG_FORCE_HARD_FLOAT=y

修改为:

#EXTRA_CFLAGS += -mhard-float-DCONFIG_FORCE_HARD_FLOAT=y

错误2:

/home/ubuntu/weiruming/rtl8187L_linux_1041.0209.2012/rtl8187/r8180_pm.c:36:5:error: conflicting types for ‘rtl8180_save_state’

/home/ubuntu/weiruming/rtl8187L_linux_1041.0209.2012/rtl8187/r8180_pm.h:34:5:note: previous declaration of ‘rtl8180_save_state’ was here

/home/ubuntu/weiruming/rtl8187L_linux_1041.0209.2012/rtl8187/r8180_pm.c:97:5:error: conflicting types for ‘rtl8180_enable_wake’

/home/ubuntu/weiruming/rtl8187L_linux_1041.0209.2012/rtl8187/r8180_pm.h:37:5:note: previous declaration of ‘rtl8180_enable_wake’

解决方法:

该错误说.h头文件和.c文件里面的两个函数有冲突,C语言不是先在头文件里面定义,然后在c文件里面包含头文件,然后对函数进行实现吗?为什么这里,这两个函数会报错?是不是编译器的问题,没有搞懂,我解决的方法是先把.h文件里面的定义给注释掉了,想不到这样也可以。如下:


bubuko.com,布布扣

改为:

bubuko.com,布布扣

错误3:

 Building modules, stage 2.

 MODPOST 1 modules

WARNING:

"__aeabi_f2d"

[/home/ubuntu/weiruming/rtl8187L_linux_1041.0209.2012/rtl8187/r8187l.ko]undefined!

WARNING:

"__aeabi_d2uiz"

[/home/ubuntu/weiruming/rtl8187L_linux_1041.0209.2012/rtl8187/r8187l.ko]undefined!

WARNING:

"__aeabi_i2d"

[/home/ubuntu/weiruming/rtl8187L_linux_1041.0209.2012/rtl8187/r8187l.ko]undefined!

WARNING:

"__aeabi_dsub"

[/home/ubuntu/weiruming/rtl8187L_linux_1041.0209.2012/rtl8187/r8187l.ko]undefined!

WARNING:

"__aeabi_dadd"

[/home/ubuntu/weiruming/rtl8187L_linux_1041.0209.2012/rtl8187/r8187l.ko]undefined!

WARNING:

"__aeabi_fadd"

[/home/ubuntu/weiruming/rtl8187L_linux_1041.0209.2012/rtl8187/r8187l.ko]undefined!

提示警告,有几个函数没有定义。这个是因为前面我们注释掉了浮点数,说明编译器不支持浮点类型,同样内核也不支持,所以内核里没有相关函数编译器提示没找到,这个影响后面的安装,在insmod模块的时候会提示:

insmod: can‘t insert ‘/lib/r8187l.ko‘: unknownsymbol in module or invalid parameter

解决方法:

在相应的r8187_cort.c源代码后面添上以下函数,在重新编译,就没问题了。

void__aeabi_fadd(void){}

void__aeabi_dadd(void){}

void__aeabi_dsub(void){}

void__aeabi_i2d(void){}

void__aeabi_d2uiz(void){}

void__aeabi_f2d(void){}

如下:

bubuko.com,布布扣

4.安装驱动模块

  1#cd rtl1817/

  2#ls

bubuko.com,布布扣


可见上图生成了r8187.ko驱动内核模块。

  3#insmod r8187.ko

  4#lsmod

bubuko.com,布布扣

bubuko.com,布布扣

如上图显示,模块成功安装。

5.配置网络

bubuko.com,布布扣

可以到图形界面进行配置。


本文出自 “IT之路,从此起航” 博客,请务必保留此出处http://scutwrm.blog.51cto.com/7265181/1401122

pcduino_arm_rtl8187L 驱动安装编译过程,布布扣,bubuko.com

pcduino_arm_rtl8187L 驱动安装编译过程

原文:http://scutwrm.blog.51cto.com/7265181/1401122

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!