一、内核配置

配置内核支持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移植相关推荐

  1. 瑞昱RTL8188cus 无线网卡驱动移植

    2012-12-10 15:58:23|  分类: arm9 linux|字号 订阅 主机 ubuntu10.10.编译工具:arm-linux-gcc 4.3.3嵌入式平台s3c2440 内核lin ...

  2. 关于在2440上移植rtl8192和rtl8188cus linux驱动遇到的问题及解决方法!!!

    很早就想在2440上移植无线网卡驱动了,在网上也看了不少相关的资料,但真正做起来才发现有不少问题. 一开始,我用从同学那里拿来的TL-WN725N(这卡便宜啊,50左右成交,TB上坑爹的2440无线网 ...

  3. RTL8188CUS usb wifi驱动移植到(arm-linux)

    一.开发环境 linux主机:ubuntu-18.04 交叉编译器:gcc version 4.6.2 20110630 (prerelease) wifi硬件:RTL8188CUS 迷你WIFI W ...

  4. NanoPi NEO Air使用十五:移植RTL8723BU驱动

    NanoPi NEO Air使用一:介绍 NanoPi NEO Air使用二:固件烧录 NanoPi NEO Air使用三:OverlayFS.CPU温度和频率.wifi.蓝牙.npi-config ...

  5. RTL8188CUS驱动程序编译步骤

    说明 出于学习的目的,需要在hi3518ev200平台上接入RTL8188无线网卡传输数据.本文记录自己对编译操作的步骤,以期望帮助到其它的初学者. RTL8188介绍 嵌入式应用中可供选择的WIFI ...

  6. hi3519v101移植rtl8189ftv(sdio)驱动

    1.下载rtl8189ftv驱动: git clone https://github.com/jwrdegoede/rtl8189ES_linux.git git checkout -b rtl818 ...

  7. forlinx335x系统移植

    forlinx335x系统移植 启动方式: SD 卡启动设置: 1 On, 2 On (On 代表拨到上方,Off 代表拨到下方) NandFlash 启动设置:1 Off ,2 On (On 代表拨 ...

  8. PowerBuilder程序 ASA 数据库移植后不能连接解决

    前言: 软件开发工具实践课作业用的powerbuilder自带的数据库画板建立的,建好之后运行成功后就没有再管过了.后来代码在别人的机器跑不起来.报错信息如下 找到原因: 程序运行完后,没有手动断开连 ...

  9. web server大全之GoAhead移植(转载)

    转自:http://linux.chinaunix.net/techdoc/develop/2009/06/19/1119124.shtml 注:最近在做goAhead web server和移植其到 ...

最新文章

  1. jquery mysql jsp搜索功能_实现搜索框自动提示功能(jquery+php)
  2. python语言及其应用-python语言及其应用
  3. Lesson 016 —— python 元组
  4. iOS: 转载CoreData数据库框架
  5. cordova最基本的热更新
  6. react组件之间重用状态
  7. 通过虚方法实现方法重写-多态
  8. 快速下载助手1.1--添加断点下载
  9. extjs4.2 弹出注册用户界面实例
  10. 《剑指Offer》 从上往下打印出二叉树
  11. ACM题目————食物链
  12. 朝鲜 APT37被指发动软件供应链攻击,瞄准股票投资人
  13. 条码打印软件如何添加新字体
  14. android按键精灵 释放内存,【院刊】-【201408期】内存用完?院刊教你如何释放系统内存...
  15. iOS 中文转拼音 多音字处理
  16. Abelssoft Undeleter(数据恢复软件)v5.01免费版
  17. 基于Python实现的手写数字识别系统
  18. 【matplotlib】图片的各种渲染效果;matplotlib.cm
  19. 【已解决】error: ‘CV_GRAY2BGR’ was not declared in this scope
  20. 首屏渲染优化性能优化

热门文章

  1. AddressSanitizer使用入门
  2. jzoj5988. 【WC2019模拟2019.1.4】珂学计树题 (burnside引理)
  3. angular2概述
  4. 如何用导航系统创建巡逻系统
  5. 微软全力拥抱 Java !
  6. flutter创建新项目或者接手老项目配置环境依赖等全流程
  7. HBase requestsPerSecond到底是什么?
  8. 目标文件太大,放不进U盘
  9. 已知一个带有表头的单链表,结点结构为data-link,假设该链表只给出了头指针list。在不改变链表的前提下,请设计一个尽可能高效的算法,查找链表中倒数第k个位置上的结点(k为正整数)。
  10. [Stanford Algorithms: Design and Analysis, Part 2] c27 The Knapsack Problem