CubieBoard博客-HomeCubieTech公司网站

CubieBoard中文论坛

 找回密码
 立即注册
搜索
热搜: unable
查看: 17751|回复: 10

CubieBoard 安装 Fedora 的 8188eu 驱动 编译血泪史

[复制链接]
回帖奖励 5 金钱 回复本帖可获得 5 金钱奖励! 每人限 1 次(中奖概率 40%)

4

主题

0

好友

344

积分

中级会员

Rank: 3Rank: 3

贡献
76
金钱
105
威望
76
买家信用
卖家信用
积分
344
发表于 2013-5-28 23:37:33 |显示全部楼层
之前提问帖子是http://forum.cubietech.com/forum.php?mod=viewthread&tid=511,超版想看错误信息,于是我又另起新帖,希望能在这个帖子中解决这个问题,至少能救了一大堆想在Fedora安装淘宝官方提供的牛逼水星wifi驱动

血泪史如下:
首先通过该牛人弄得https://fedoraproject.org/wiki/Architectures/ARM/AllwinerA10把fedora装到TF卡中然后正常运行没任何问题
#uname -a
#Linux localhost.localdomain 3.4.29.sun4i #21 Sat Feb 16 18:18:25 CET 2013 armv7l armv7l armv7l GNU/Linux

于是从https://github.com/mmplayer/linux-sunxi中下载了sunxi-3.4的源码传到板子上的fedora中:
#/home/psyduck/linux-sunxi-sunxi-3.4.zip
解压(如果不把两个标准输出信息扔到/dev/null中,TTL线用SecureCRT连接然后直接unzip竟然能让我的win8崩溃重启!已经不下快10次了!!!)
#unzip linux-sunxi-sunxi-3.4.zip > /dev/null 2>&1 &
解压后路径为
#/home/psyduck/linux-sunxi-sunxi-3.4
#cd /home/psyduck/linux-sunxi-sunxi-3.4
以下参考该帖
#make mrproper
#make sun4i_defconfig
#make prepare
#make modules_prepare

#cd drivers/net/wireless/rtl8188eu/
#CONFIG_RTL8188EU=m make -C /home/psyduck/linux-sunxi-sunxi-3.4 M=`pwd`
最后报错
#...........usb_intf.c:1140:29: fatal error: mach/sys_config.h: No such file or directory compilation terminated
将usb_intf.c中的mach改为plat重新编译,不出意外的话应该生成8188eu.ko驱动
但是depmod -a && modprobe 8188eu报错:
#[ 4202.590000] 8188eu: version magic '3.4.29 preempt mod_unload modversions ARMv7 p2v8 ' should be '3.4.29.sun4i mod_unload ARMv7 p2v8 'ERROR: could not insert '8188eu': Exec format error

#modinfo 8188eu.ko
filename:       /home/psyduck/linux-sunxi-sunxi-3.4/drivers/net/wireless/rtl8188eu/8188eu.ko
version:        v4.1.2_4787.20120803
author:         Realtek Semiconductor Corp.
description:    Realtek Wireless Lan Driver
license:        GPL
srcversion:     43413332785027284FC989C
alias:          usb:v0BDAp8179d*dc*dsc*dp*ic*isc*ip*
depends:        
vermagic:       3.4.29 preempt mod_unload modversions ARMv7 p2v8
parm:           rtw_ips_mode:The default IPS mode (int)
parm:           ifname:charp
parm:           rtw_initmac:charp
parm:           rtw_channel_plan:int
parm:           rtw_chip_version:int
parm:           rtw_rfintfs:int
parm:           rtw_lbkmode:int
parm:           rtw_network_mode:int
parm:           rtw_channel:int
parm:           rtw_mp_mode:int
parm:           rtw_wmm_enable:int
parm:           rtw_vrtl_carrier_sense:int
parm:           rtw_vcs_type:int
parm:           rtw_busy_thresh:int
parm:           rtw_ht_enable:int
parm:           rtw_cbw40_enable:int
parm:           rtw_ampdu_enable:int
parm:           rtw_rx_stbc:int
parm:           rtw_ampdu_amsdu:int
parm:           rtw_lowrate_two_xmit:int
parm:           rtw_rf_config:int
parm:           rtw_power_mgnt:int
parm:           rtw_smart_ps:int
parm:           rtw_low_power:int
parm:           rtw_wifi_spec:int
parm:           rtw_antdiv_cfg:int
parm:           rtw_antdiv_type:int
parm:           rtw_enusbss:int
parm:           rtw_hwpdn_mode:int
parm:           rtw_hwpwrp_detect:int
parm:           rtw_hw_wps_pbc:int
parm:           rtw_max_roaming_times:The max roaming times to try (uint)
parm:           rtw_mc2u_disable:int

于是想到用fedora自己当前的kernel源码进行如上编译应该可以
#make clean
#yum install kernel-develop
#CONFIG_RTL8188EU=m make -C /usr/src/kernels/3.9.3-201.fc18.armv7hl M=`pwd`
报错:
make: Entering directory `/usr/src/kernels/3.9.3-201.fc18.armv7hl'
  LD      /home/psyduck/linux-sunxi-sunxi-3.4/drivers/net/wireless/rtl8188eu/built-in.o
  CC [M]  /home/psyduck/linux-sunxi-sunxi-3.4/drivers/net/wireless/rtl8188eu/core/rtw_cmd.o
In file included from /home/psyduck/linux-sunxi-sunxi-3.4/drivers/net/wireless/rtl8188eu/core/rtw_cmd.c:23:0:
/home/psyduck/linux-sunxi-sunxi-3.4/drivers/net/wireless/rtl8188eu/include/osdep_service.h: In function ‘thread_enter’:
/home/psyduck/linux-sunxi-sunxi-3.4/drivers/net/wireless/rtl8188eu/include/osdep_service.h:1397:2: error: implicit declaration of function ‘daemonize’ [-Werror=implicit-function-declaration]
cc1: some warnings being treated as errors
make[1]: *** [/home/psyduck/linux-sunxi-sunxi-3.4/drivers/net/wireless/rtl8188eu/core/rtw_cmd.o] Error 1
make: *** [_module_/home/psyduck/linux-sunxi-sunxi-3.4/drivers/net/wireless/rtl8188eu] Error 2
make: Leaving directory `/usr/src/kernels/3.9.3-201.fc18.armv7hl'
将sunxi4i的rtl8188eu驱动源码拷入系统kernel源码中再试
#cp -r /home/psyduck/linux-sunxi-sunxi-3.4/drivers/net/wireless/rtl8188eu /usr/src/kernels/3.9.3-201.fc18.armv7hl/drivers/net/wireless/
#cd /usr/src/kernels/3.9.3-201.fc18.armv7hl/drivers/net/wireless/rtl8188eu
#CONFIG_RTL8188EU=m make -C /usr/src/kernels/3.9.3-201.fc18.armv7hl M=`pwd`
报了一样的错:
make: Entering directory `/usr/src/kernels/3.9.3-201.fc18.armv7hl'
  LD      /usr/src/kernels/3.9.3-201.fc18.armv7hl/drivers/net/wireless/rtl8188eu/built-in.o
  CC [M]  /usr/src/kernels/3.9.3-201.fc18.armv7hl/drivers/net/wireless/rtl8188eu/core/rtw_cmd.o
In file included from /usr/src/kernels/3.9.3-201.fc18.armv7hl/drivers/net/wireless/rtl8188eu/core/rtw_cmd.c:23:0:
/usr/src/kernels/3.9.3-201.fc18.armv7hl/drivers/net/wireless/rtl8188eu/include/osdep_service.h: In function ‘thread_enter’:
/usr/src/kernels/3.9.3-201.fc18.armv7hl/drivers/net/wireless/rtl8188eu/include/osdep_service.h:1397:2: error: implicit declaration of function ‘daemonize’ [-Werror=implicit-function-declaration]
cc1: some warnings being treated as errors
make[1]: *** [/usr/src/kernels/3.9.3-201.fc18.armv7hl/drivers/net/wireless/rtl8188eu/core/rtw_cmd.o] Error 1
make: *** [_module_/usr/src/kernels/3.9.3-201.fc18.armv7hl/drivers/net/wireless/rtl8188eu] Error 2
make: Leaving directory `/usr/src/kernels/3.9.3-201.fc18.armv7hl'

重新初始一下内核:
#cd /usr/src/kernels/3.9.3-201.fc18.armv7hl
#make mrproper
报错:
scripts/Makefile.clean:17: /usr/src/kernels/3.9.3-201.fc18.armv7hl/drivers/infiniband/hw/amso1100/Makefile: No such file or directory
make[3]: *** No rule to make target `/usr/src/kernels/3.9.3-201.fc18.armv7hl/drivers/infiniband/hw/amso1100/Makefile'.  Stop.
make[2]: *** [drivers/infiniband/hw/amso1100] Error 2
make[1]: *** [drivers/infiniband] Error 2
make: *** [_clean_drivers] Error 2

各种尝试以失败告终,希望有牛人给个解决方案
回复

使用道具 举报

4

主题

0

好友

549

积分

高级会员

Rank: 4

贡献
110
金钱
208
威望
110
买家信用
卖家信用
积分
549
发表于 2013-5-29 12:42:19 |显示全部楼层

回帖奖励 +5 金钱

先把内核完整编译一遍,无误后再编译驱动试试。
回复

使用道具 举报

4

主题

0

好友

344

积分

中级会员

Rank: 3Rank: 3

贡献
76
金钱
105
威望
76
买家信用
卖家信用
积分
344
发表于 2013-5-29 13:19:10 |显示全部楼层
swn1012 发表于 2013-5-29 12:42
先把内核完整编译一遍,无误后再编译驱动试试。

恩 的确
不过sunxi-3.4我真试了 一样的错误
而fedora用yum install kernel-devel的内核根本没法编译,上面也提到了
回复

使用道具 举报

3

主题

0

好友

286

积分

中级会员

Rank: 3Rank: 3

贡献
62
金钱
91
威望
62
买家信用
卖家信用
积分
286
发表于 2013-5-29 18:40:16 |显示全部楼层
sunxi 3.4是3.4的kernel,你下的fedora的kernel是3.9的,应该编不过去。
在第一步得到8188eu.ko后,modprobe出错后,用dmesg看一下出错信息,贴出来。
也可以用modprobe -f 8188eu.ko试一下,可能还是kernel的版本信息不一致导致的。

正常的编译过程是要先编译内核,得到Module.symvers文件,再编译驱动,以使版本信息一致,模块才可以装入。



回复

使用道具 举报

10

主题

3

好友

2378

积分

版主

Rank: 7Rank: 7Rank: 7

贡献
473
金钱
888
威望
472
买家信用
卖家信用
积分
2378
发表于 2013-5-29 20:18:21 |显示全部楼层

回帖奖励 +5 金钱

添加编译项需要修改当前目录以及上一层目录下的Makefile,kconfig。
还有交叉编译环境有没有问题。
回复

使用道具 举报

4

主题

0

好友

344

积分

中级会员

Rank: 3Rank: 3

贡献
76
金钱
105
威望
76
买家信用
卖家信用
积分
344
发表于 2013-5-29 21:47:18 |显示全部楼层
siriux 发表于 2013-5-29 20:18
添加编译项需要修改当前目录以及上一层目录下的Makefile,kconfig。
还有交叉编译环境有没有问题。 ...

怎么改 求教~
我上面的操作都是在板子上用ttl线直接ssh操作的,应该不用什么交叉吧
回复

使用道具 举报

24

主题

10

好友

1万

积分

版主

Rank: 7Rank: 7Rank: 7

贡献
1928
金钱
3710
威望
1936
买家信用
卖家信用
积分
10062
发表于 2013-5-29 21:57:31 |显示全部楼层
求中奖
回复

使用道具 举报

4

主题

0

好友

344

积分

中级会员

Rank: 3Rank: 3

贡献
76
金钱
105
威望
76
买家信用
卖家信用
积分
344
发表于 2013-5-29 23:07:56 |显示全部楼层
udoo 发表于 2013-5-29 18:40
sunxi 3.4是3.4的kernel,你下的fedora的kernel是3.9的,应该编不过去。
在第一步得到8188eu.ko后,modprob ...

关键yum安装的3.9的竟然没法编译,回头我看看sunxi的有没有3.9的
回复

使用道具 举报

1

主题

0

好友

593

积分

高级会员

Rank: 4

贡献
118
金钱
224
威望
118
买家信用
卖家信用
积分
593
发表于 2013-5-29 23:40:55 |显示全部楼层
daemonize在高版本内核中被去掉了,你可以用lxr看看。
回复

使用道具 举报

2

主题

0

好友

1125

积分

金牌会员

Rank: 6Rank: 6

贡献
218
金钱
403
威望
218
买家信用
卖家信用
积分
1125
发表于 2014-5-8 12:45:14 |显示全部楼层

回帖奖励 +5 金钱

标记下,以后需要
回复

使用道具 举报

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

QQ|Archiver|手机版|粤ICP备13051116号|cubie.cc---深刻的嵌入式技术讨论社区    

GMT+8, 2022-5-18 18:45 , Processed in 0.044249 second(s), 15 queries , Apc On.

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc. | Style by Coxxs

回顶部