|
楼主 |
发表于 2013-10-18 22:33
|
显示全部楼层
针对8188eu芯片的无线无卡挂载到703上,其他网卡请视具体情况而做修改。
首先要3.8以下的内核的oenwrt版本,原因是内核版本更新的很快,而此驱动源码没有更新,在3.8及以上的内核上编译会报错(希望有大神可以修改下代码,使其可以在新内核上使用)。用命令 svn up -r 版本号 可滚回特定的版本号的源码,在https://dev.openwrt.org/log/trunk/?mode=follow_copy上搜索 kernel: update 即可得到版本号与内核版本的对应关系。
下载好openwrt源码后先编译固件。编译好固件后得到交叉编译所需要的toolchain及其他。
接下来编译驱动源码。解压源码,进入./8188eu_USB_linux/driver/rtl8188eu,修改Makefile文件,将文件中的 CONFIG_PLATFORM_MIPS_AR9132 = n ,改为 CONFIG_PLATFORM_MIPS_AR9132 = y , CONFIG_PLATFORM_I386_PC = y 改为 CONFIG_PLATFORM_I386_PC = n,这是更改目标平台, 再搜索 ($(CONFIG_PLATFORM_MIPS_AR9132), y) 将这一段的 KSRC := /home/me/openwrt/trunk/build_dir/target-mips_r2_uClibc-0.9.33.2/linux-ar71xx_generic/linux-3.7.9 修改为自己的内核路径,然后保存。设置交叉编译环境- export PATH=$PATH:/home/me/openwrt/trunk/staging_dir/toolchain-mips_r2_gcc-4.6-linaro_uClibc-0.9.33.2/bin
- export STAGING_DIR=/home/me/openwrt/trunk/staging_dir/
- export ac_cv_linux_vers=3.7.9
- export CC=mips-openwrt-linux-gcc
- export CPP=mips-openwrt-linux-cpp
- export GCC=mips-openwrt-linux-gcc
- export CXX=mips-openwrt-linux-g++
- export AR=mips-openwrt-linux-ar
- export RANLIB=mips-openwrt-linux-uclibc-ranlib
- export CROSS_COMPILE=mips-openwrt-linux-
复制代码 前三个修改为自己的路径。设置好环境变量后,执行 make 进行编译,编译过程可能会报一个错误,根据编译信息可知,错误在 ./8188eu_USB_linux/driver/rtl8188eu/core/rtw_br_ext.c 中,编辑该文件,搜索 csum_ipv6_magic ,并把搜到的那条语句注释掉,在编译就不会出错了,得到8188eu.ko。
刷编译好的固件,上传8188eu.ko到路由器上,再用insmod命令加载它,一般可以成功加载,如不成功,用另一个版本的源码再来一次吧。加载成功,插上无线网卡,再用 ifconfig -a 命令查看,已经出现wlan1这块无线网卡了。
在编译wpa_supplicant和hostapd,这两个的源码在驱动压宿包里有,解压./8188eu_USB_linux/wpa_supplicant_hostapd/wpa_supplicant_hostapd-0.8_rtw_20120803.zip,得到的hostapd和wpa_supplicant文件夹即是我们想要的源码,不用多做修改,只需修改两个文件里的 Makefile 文件,都是将开头的那个 CC=gcc 改为 CC=mips-openwrt-linux-gcc ,然后编译,一般不会报错。编译得到的hostapd和wpa_supplicant文件上传到路由器。
配置无线网卡wlan1。hostapd和wpa_supplicant的配置文件可参考.\8188eu_USB_linux\wpa_supplicant_hostapd\wpa_supplicant_hostapd-0.8\hostapd\hostapd.conf和 .\8188eu_USB_linux\wpa_supplicant_hostapd\wpa_supplicant_hostapd-0.8\wpa_supplicant\wpa_supplicant.conf 我唯一要提的是wpa_supplicant的配置文件中 scan_ssid=0 一定要设为0,不然路由器会重启,原因不明。准备好配置文件后,运行hostapd或者wpa_supplicant。
运行完后,就可以搜到8188ue发出的wifi,或者加入了想要接收的wifi,但是还不能用,要设置dhcp client或者dhcp server,使网卡wlan1可以自动配网络参数。我们使用openwrt自带的dnsmasq和udhcpc来配置,很简单,在 network 文件中,wlan1就像eth0一样去配置就行了,最后到web界面,开启wlan1对应接口的dhcp服务器及防火墙设置,也可以直接修改dhcp和firewall配置文件。重启network服务就可以大功告成了。
可以把加载8188eu.ko和运行hostapd或者wpa_supplicant的命令保存到开机启动里面去,实现开机自动启动。
|
|