rtl8723bu linux 驱动移植教程
- 将文件
rtl8723BU_WiFi_linux_v4.3.9.3_13200.20150106_BTCOEX20140929-5443.tar.gz
拷贝到linux源码目录drivers/net/wireless/net/下解压
tar xzvf rtl8723BU_WiFi_linux_v4.3.9.3_13200.20150106_BTCOEX20140929-5443.tar.gz
更改文件名
mv rtl8723BU_WiFi_linux_v4.3.9.3_13200.20150106_BTCOEX20140929-5443 rtl8723bu
更改wireless目录下的Kconfig文件
增加 source “drivers/net/wireless/rtl8723bu/Kconfig”
更改wireless目录下的Makefile
obj-$(CONFIG_RTL8723BU) += rtl8723bu/
更改rtl8723目录下的Makefile:
- 在Platform Related下面增加im6ull的默认支持,其他均为n
CONFIG_PLATFORM_ARM_IMX6ULL = y
- 在ifeq ($(CONFIG_PLATFORM_I386_PC), y)后面增加(根据自己的板子)
ifeq ($(CONFIG_PLATFORM_ARM_IMX6ULL), y)
EXTRA_CFLAGS += -DCONFIG_LITTLE_ENDIAN
EXTRA_CFLAGS += -DCONFIG_CONCURRENT_MODE
EXTRA_CFLAGS += -DCONFIG_IOCTL_CFG80211 -DRTW_USE_CFG80211_STA_EVENT
ifeq ($(CONFIG_USB_HCI), y)
EXTRA_CFLAGS += -DCONFIG_USE_USB_BUFFER_ALLOC_TX -DCONFIG_FIX_NR_BULKIN_BUFFER
endif
ARCH := arm
CROSS_COMPILE := arm-linux-guneabihf-
KVER := 4.9.88
KSRC := /home/myz/arn-linux/tool/imx-linux4.9.88
MODULE_NAME := 8723bu
endif
make menuconfig 配置
- usb配置
[*] USB support --->
<*> Support for Host-side USB
<*> EHCI HCD (USB 2.0) support
<*> OHCI HCD (USB 1.1) support
<*> USB Mass Storage support
<*> ChipIdea Highspeed Dual Role Controller
[*] ChipIdea device controller
[*] ChipIdea host controller
- wifi配置
[*] Network device support --->
[*] Wireless LAN --->
<*> IEEE 802.11 for Host AP (Prism2/2.5/3 and WEP/TKIP/CCMP)
[*] Support downloading firmware images with Host AP driver
[*] Support for non-volatile firmware download
[*] Network device support --->
[*] Wireless LAN --->
<*> Realtek 8723B USB WiFi
- 支持 IEEE 802.11
[*] Networking support --->
-*- Wireless --->
<*> cfg80211 - wireless configuration API
<*> Generic IEEE 802.11 Networking Stack (mac80211)
修改源码目录下的.config文件,是能rf,增加
CONFIG_RFKILL=y
编译后,启动内核
启动wifi
$ ifconfig -a
$ ifconfig wlan0 up
$ ifconfig
扫描wifi
$ iwlist wlan0 scanning
修改wifi配置
$ vi /etc/wpa_supplicant.conf
ctrl_interface=/var/run/wpa_supplicant
update_config=1
ctrl_interface_group=root
ap_scan=1
network={
ssid=“ssid”//wifi名
key_mgmt=WPA-PSK
pairwise=CCMP
group=CCMP
psk=“password”//密码
}
$mkdir -p /var/run/wpa_supplicant
连接路由器
wpa_supplicant -Dwext -iwlan0 -c/etc/wpa_supplicant.conf &
自动分配Ip
udhcpc -i wlan0
手动分配ip
ifconfig wlan0 192.168.1.25
查看ip地址
ifconfig
检测网络连接(www.baidu.com)
ping 39.156.69.79
结果
PING 39.156.69.79 (39.156.69.79): 56 data bytes
64 bytes from 39.156.69.79: seq=0 ttl=47 time=137.386 ms
64 bytes from 39.156.69.79: seq=1 ttl=47 time=13.502 ms
64 bytes from 39.156.69.79: seq=2 ttl=47 time=28.295 ms
64 bytes from 39.156.69.79: seq=3 ttl=47 time=9.005 ms
64 bytes from 39.156.69.79: seq=4 ttl=47 time=8.850 ms
64 bytes from 39.156.69.79: seq=5 ttl=47 time=8.140 ms
64 bytes from 39.156.69.79: seq=6 ttl=47 time=13.138 ms
64 bytes from 39.156.69.79: seq=7 ttl=47 time=8.941 ms
64 bytes from 39.156.69.79: seq=8 ttl=47 time=11.827 ms
64 bytes from 39.156.69.79: seq=9 ttl=47 time=11.525 ms
64 bytes from 39.156.69.79: seq=10 ttl=47 time=8.471 ms
^C
--- 39.156.69.79 ping statistics ---
12 packets transmitted, 11 packets received, 8% packet loss
round-trip min/avg/max = 8.140/23.552/137.386 ms