rtl8188cus移植
一、内核配置
配置内核支持cfg80211(802.11n协议)
Networking support --->
-*- Wireless --->
--- Wireless
<*> cfg80211 - wireless configuration API
enable powersave by default
cfg80211 wireless extensionscompatibility
<*> Common routines for IEEE802.11 drivers
Device Drivers --->
[*] Network device support --->
[*] Wireless LAN --->
<*> USB ZD1201 based Wireless device support
[*] USB support --->
<*> Support for Host-side USB
<*> USB Monitor
<*> USB Wireless Device Management support
配置完成后,保存退出。然后重新编译内核和内核模块
二、编译8188驱动
下载8188驱动 http://pan.baidu.com/s/1c27EdZa
我用的是4.0.2
在Makefile下添加
CONFIG_PLATFORM_ARM_AM335X = y
ifeq ($(CONFIG_PLATFORM_ARM_AM335X), y)
EXTRA_CFLAGS += -DCONFIG_LITTLE_ENDIAN
ARCH := arm
CROSS_COMPILE := arm-arago-linux-gnueabi-
KVER := 3.2.0
KSRC := /work/test/linux-3.2.0-psp04.06.00.11
endif
make
生成8192cu.ko
三、编译工具
需要四个
wpa_supplicant-0.7.3
wireless_tools.29
openssl-0.9.8e
libnl-2.0
3.1 编译wireless_tools.29
修改Makefile
## Compiler to use (modify this for cross compile).
CC = arm-arago-linux-gnueabi-gcc
## Other tools you need to modify for cross compile (static lib only).
AR = arm-arago-linux-gnueabi-ar
RANLIB = arm-arago-linux-gnueabi-ranlib
保存,make
将生成的iwpriv,iwconfig,iwlist,iwspy拷贝到开发板
3.2 编译libnl-2.0
CC=/usr/local/arm/arm-arago-linux-gnueabi/bin/arm-arago-linux-gnueabi-gcc ./configure --prefix=$PWD/_install --host=arm-arago-linux-gnueabi
make;make install
将生成的库文件和头文件拷贝到编译器usr目录
cd _install
tar czvf lib.tar.gz *
cp -rf lib.tar.gz /usr/local/arm/arm-arago-linux-gnueabi/usr
sudo tar xzvf lib.tar.gz
将这个库文件也拷贝到开发板
3.3 编译openssl-0.9.8e
cp wpa_supplicant-0.7.3/patches/openssl-0.9.8e-tls-extensions.patch openssl-0.9.8e
vi Makefile
INSTALLTOP=/usr/local/ssl
# Do not edit this manually. Use Configure --openssldir=DIR do change this!
OPENSSLDIR=/usr/local/ssl
CC= arm-arago-linux-gnueabi-gcc
AR= arm-arago-linux-gnueabi-ar $(ARFLAGS) r
RANLIB= /usr/local/arm/arm-arago-linux-gnueabi/bin/arm-arago-linux-gnueabi-ranlib
make
sudo make install
3.4 编译wpa_supplicant-0.7.3
cd wpa_supplicant-0.7.3/wpa_supplicant
cp defconfig .config
vi .config
CC=/usr/local/arm/arm-arago-linux-gnueabi/bin/arm-arago-linux-gnueabi-gcc -L/usr/local/ssl/lib
CFLAGS +=-I/usr/local/ssl/include
LIBS += -I/usr/local/arm/arm-arago-linux-gnueabi/usr/include
LIBS += -L/usr/local/ssl/lib
LIBS += -L/usr/local/arm/arm-arago-linux-gnueabi/usr/lib
LIBS_p += -L/usr/local/ssl/lib
CONFIG_LIBNL20=y
make
将生成的wpa_supplicant、wpa_cli、wpa_passphrase拷贝到开发板
3.5 编译hostapd-0.8
cd hostapd-0.8/hostapd
cp defconfig .config
vi .config
CROSS= /usr/local/arm/arm-arago-linux-gnueabi/bin/arm-arago-linux-gnueabi-
CC=${CROSS}gcc
CFLAGS+=-I/usr/loacal/ssl/include/
LDFLAGS+=-L/usr/loacal/ssl/lib/
CFLAGS += -I/usr/local/arm/arm-arago-linux-gnueabi/usr/include/
LIBS += -L/usr/local/arm/arm-arago-linux-gnueabi/usr/lib/
make
四、连接网络
4.1 STAION模式
insmod 8192cu.ko
ifconfig wlan0 up
iwconfig wlan0 essid CCC CCC wifi名称
wpa_passphrase CCC 12345678
network={
ssid="CCC"
#psk="12345678"
psk=e2815ba1cc2e174c517a2793f98b5c2824f5590d73df6f7079bdf6b49d786235
}
vi /etc/wpa_supplicant.conf
ctrl_interface=/var/run/wpa_supplicant
network={
ssid="CCC"
scan_ssid=1
key_mgmt=WPA-EAP WPA-PSK IEEE8021X NONE
proto=WPA
pairwise=TKIP CCMP
group=CCMP TKIP WEP104 WEP40
#psk="12345678"
psk=e2815ba1cc2e174c517a2793f98b5c2824f5590d73df6f7079bdf6b49d786235
}
连接
wpa_supplicant -i wlan0 -c /etc/wpa_supplicant.conf -B
自动获取ip
udhcpc -i wlan0
需要创建var/lib/misc/udhcpd.leases这个文件
Sending select for 192.168.0.144...
Lease of 192.168.0.144 obtained, lease time 7200
RTNETLINK answers: File exists
adding dns 192.168.0.1
ping -I wlan0 192.168.1.1 #ping路由
64 bytes from 192.168.1.1: seq=3 ttl=63 time=38.078 ms
64 bytes from 192.168.1.1: seq=4 ttl=63 time=123.281 ms
64 bytes from 192.168.1.1: seq=5 ttl=63 time=20.937 ms
4.2 AP模式
连接
insmod 8192cu.ko
hostapd -B /etc/hostapd.conf
ifconfig wlan0 192.168.3.1
udhcpd /etc/udhcpd.conf
ping -I wlan0 192.168.3.20
问题:
一开始使用的是wpa_supplicant-2.3
报错:
/work/debug/test/wirless/wpa_supplicant-2.3/wpa_supplicant/../src/drivers/driver_nl80211.c:10989: undefined reference to `genlmsg_attrdata'
/work/debug/test/wirless/wpa_supplicant-2.3/wpa_supplicant/../src/drivers/driver_nl80211.c:10989: undefined reference to `genlmsg_attrlen'
../src/drivers/driver_nl80211.o: In function `protocol_feature_handler':
/work/debug/test/wirless/wpa_supplicant-2.3/wpa_supplicant/../src/drivers/driver_nl80211.c:3461: undefined reference to `genlmsg_attrdata'
/work/debug/test/wirless/wpa_supplicant-2.3/wpa_supplicant/../src/drivers/driver_nl80211.c:3461: undefined reference to `genlmsg_attrlen'
../src/drivers/driver_nl80211.o: In function `get_sta_handler':
/work/debug/test/wirless/wpa_supplicant-2.3/wpa_supplicant/../src/drivers/driver_nl80211.c:9654: undefined reference to `genlmsg_attrdata'
/work/debug/test/wirless/wpa_supplicant-2.3/wpa_supplicant/../src/drivers/driver_nl80211.c:9654: undefined reference to `genlmsg_attrlen'
此时需要修改.config文件
# Use libnl v2.0 (or 3.0) libraries.
# CONFIG_LIBNL20=y
# Use libnl 3.2 libraries (if this is selected, CONFIG_LIBNL20 is ignored)
# CONFIG_LIBNL32=y
去掉CONFIG_LIBNL20、CONFIG_LIBNL32前面的#
重新编译又出现报错:
arm-arago-linux-gnueabi/bin/ld: cannot find -lnl-3
修改.config
CONFIG_LIBNL32 改为 #CONFIG_LIBNL32 这个#不能去掉
执行wpa_supplicant -i wlan0 -c /etc/wpa_supplicant.conf -B
Successfully initialized wpa_supplicant nl80211: 'nl80211' generic netlink not found Failed to initialize driver 'nl80211'
最后将wpa_supplicant 版本更换成wpa_supplicant-0.7.3,再编译没有问题
rtl8188cus移植相关推荐
- 瑞昱RTL8188cus 无线网卡驱动移植
2012-12-10 15:58:23| 分类: arm9 linux|字号 订阅 主机 ubuntu10.10.编译工具:arm-linux-gcc 4.3.3嵌入式平台s3c2440 内核lin ...
- 关于在2440上移植rtl8192和rtl8188cus linux驱动遇到的问题及解决方法!!!
很早就想在2440上移植无线网卡驱动了,在网上也看了不少相关的资料,但真正做起来才发现有不少问题. 一开始,我用从同学那里拿来的TL-WN725N(这卡便宜啊,50左右成交,TB上坑爹的2440无线网 ...
- RTL8188CUS usb wifi驱动移植到(arm-linux)
一.开发环境 linux主机:ubuntu-18.04 交叉编译器:gcc version 4.6.2 20110630 (prerelease) wifi硬件:RTL8188CUS 迷你WIFI W ...
- NanoPi NEO Air使用十五:移植RTL8723BU驱动
NanoPi NEO Air使用一:介绍 NanoPi NEO Air使用二:固件烧录 NanoPi NEO Air使用三:OverlayFS.CPU温度和频率.wifi.蓝牙.npi-config ...
- RTL8188CUS驱动程序编译步骤
说明 出于学习的目的,需要在hi3518ev200平台上接入RTL8188无线网卡传输数据.本文记录自己对编译操作的步骤,以期望帮助到其它的初学者. RTL8188介绍 嵌入式应用中可供选择的WIFI ...
- hi3519v101移植rtl8189ftv(sdio)驱动
1.下载rtl8189ftv驱动: git clone https://github.com/jwrdegoede/rtl8189ES_linux.git git checkout -b rtl818 ...
- forlinx335x系统移植
forlinx335x系统移植 启动方式: SD 卡启动设置: 1 On, 2 On (On 代表拨到上方,Off 代表拨到下方) NandFlash 启动设置:1 Off ,2 On (On 代表拨 ...
- PowerBuilder程序 ASA 数据库移植后不能连接解决
前言: 软件开发工具实践课作业用的powerbuilder自带的数据库画板建立的,建好之后运行成功后就没有再管过了.后来代码在别人的机器跑不起来.报错信息如下 找到原因: 程序运行完后,没有手动断开连 ...
- web server大全之GoAhead移植(转载)
转自:http://linux.chinaunix.net/techdoc/develop/2009/06/19/1119124.shtml 注:最近在做goAhead web server和移植其到 ...
最新文章
- jquery mysql jsp搜索功能_实现搜索框自动提示功能(jquery+php)
- python语言及其应用-python语言及其应用
- Lesson 016 —— python 元组
- iOS: 转载CoreData数据库框架
- cordova最基本的热更新
- react组件之间重用状态
- 通过虚方法实现方法重写-多态
- 快速下载助手1.1--添加断点下载
- extjs4.2 弹出注册用户界面实例
- 《剑指Offer》 从上往下打印出二叉树
- ACM题目————食物链
- 朝鲜 APT37被指发动软件供应链攻击,瞄准股票投资人
- 条码打印软件如何添加新字体
- android按键精灵 释放内存,【院刊】-【201408期】内存用完?院刊教你如何释放系统内存...
- iOS 中文转拼音 多音字处理
- Abelssoft Undeleter(数据恢复软件)v5.01免费版
- 基于Python实现的手写数字识别系统
- 【matplotlib】图片的各种渲染效果;matplotlib.cm
- 【已解决】error: ‘CV_GRAY2BGR’ was not declared in this scope
- 首屏渲染优化性能优化
热门文章
- AddressSanitizer使用入门
- jzoj5988. 【WC2019模拟2019.1.4】珂学计树题 (burnside引理)
- angular2概述
- 如何用导航系统创建巡逻系统
- 微软全力拥抱 Java !
- flutter创建新项目或者接手老项目配置环境依赖等全流程
- HBase requestsPerSecond到底是什么?
- 目标文件太大,放不进U盘
- 已知一个带有表头的单链表,结点结构为data-link,假设该链表只给出了头指针list。在不改变链表的前提下,请设计一个尽可能高效的算法,查找链表中倒数第k个位置上的结点(k为正整数)。
- [Stanford Algorithms: Design and Analysis, Part 2] c27 The Knapsack Problem