一、编译WIFI驱动模块
在我们的linux内核中默认配置了CONFIG_RTL8723BS=m
这一项是说明,我们将这个驱动编译为模块。
在我们编译linux内核之后就会在编译这个WIFI驱动模块。
目录是:
drivers/staging/rtl8723bs/rtl8723bs.ko
我们将这个文件放到 sd卡usr/lib/ 中。
二、加载模块
insmod r8723bs.ko
在我们加载驱动的过程中可能会报错
加载insmod r8723bs.ko报错一:
# insmod r8723bs.ko
[ 2516.916746] r8723bs: module is from the staging directory, the quality is unknown, you have been warned.
[ 2516.940332] r8723bs: Unknown symbol cfg80211_inform_bss_frame_data (err -2)
[ 2516.947385] r8723bs: Unknown symbol cfg80211_scan_done (err -2)
[ 2516.953554] r8723bs: Unknown symbol cfg80211_new_sta (err -2)
[ 2516.959348] r8723bs: Unknown symbol cfg80211_disconnected (err -2)
[ 2516.965552] r8723bs: Unknown symbol wiphy_new_nm (err -2)
[ 2516.970988] r8723bs: Unknown symbol wiphy_register (err -2)
[ 2516.976557] r8723bs: Unknown symbol cfg80211_put_bss (err -2)
[ 2516.982314] r8723bs: Unknown symbol cfg80211_roamed (err -2)
[ 2516.988014] r8723bs: Unknown symbol cfg80211_ibss_joined (err -2)
[ 2516.994119] r8723bs: Unknown symbol cfg80211_michael_mic_failure (err -2)
[ 2517.000916] r8723bs: Unknown symbol wiphy_apply_custom_regulatory (err -2)
[ 2517.007818] r8723bs: Unknown symbol ieee80211_get_channel (err -2)
[ 2517.013991] r8723bs: Unknown symbol cfg80211_del_sta_sinfo (err -2)
[ 2517.020283] r8723bs: Unknown symbol wiphy_unregister (err -2)
[ 2517.026046] r8723bs: Unknown symbol cfg80211_get_bss (err -2)
[ 2517.031847] r8723bs: Unknown symbol cfg80211_mgmt_tx_status (err -2)
[ 2517.038249] r8723bs: Unknown symbol cfg80211_rx_mgmt (err -2)
[ 2517.044040] r8723bs: Unknown symbol ieee80211_frequency_to_channel (err -2)
[ 2517.051055] r8723bs: Unknown symbol cfg80211_connect_done (err -2)
[ 2517.057230] r8723bs: Unknown symbol cfg80211_unlink_bss (err -2)
[ 2517.063256] r8723bs: Unknown symbol wiphy_free (err -2)
[ 2517.076437] r8723bs: module is from the staging directory, the quality is unknown, you have been warned.
[ 2517.100003] r8723bs: Unknown symbol cfg80211_inform_bss_frame_data (err -2)
[ 2517.107055] r8723bs: Unknown symbol cfg80211_scan_done (err -2)
[ 2517.113202] r8723bs: Unknown symbol cfg80211_new_sta (err -2)
[ 2517.118990] r8723bs: Unknown symbol cfg80211_disconnected (err -2)
[ 2517.125195] r8723bs: Unknown symbol wiphy_new_nm (err -2)
[ 2517.130623] r8723bs: Unknown symbol wiphy_register (err -2)
[ 2517.136191] r8723bs: Unknown symbol cfg80211_put_bss (err -2)
[ 2517.141947] r8723bs: Unknown symbol cfg80211_roamed (err -2)
[ 2517.147648] r8723bs: Unknown symbol cfg80211_ibss_joined (err -2)
[ 2517.153752] r8723bs: Unknown symbol cfg80211_michael_mic_failure (err -2)
[ 2517.160550] r8723bs: Unknown symbol wiphy_apply_custom_regulatory (err -2)
[ 2517.167439] r8723bs: Unknown symbol ieee80211_get_channel (err -2)
[ 2517.173627] r8723bs: Unknown symbol cfg80211_del_sta_sinfo (err -2)
[ 2517.179914] r8723bs: Unknown symbol wiphy_unregister (err -2)
[ 2517.185679] r8723bs: Unknown symbol cfg80211_get_bss (err -2)
[ 2517.191478] r8723bs: Unknown symbol cfg80211_mgmt_tx_status (err -2)
[ 2517.197881] r8723bs: Unknown symbol cfg80211_rx_mgmt (err -2)
[ 2517.203676] r8723bs: Unknown symbol ieee80211_frequency_to_channel (err -2)
[ 2517.210697] r8723bs: Unknown symbol cfg80211_connect_done (err -2)
[ 2517.216871] r8723bs: Unknown symbol cfg80211_unlink_bss (err -2)
[ 2517.222895] r8723bs: Unknown symbol wiphy_free (err -2)
insmod: can't insert 'r8723bs.ko': unknown symbol in module, or unknown parameter
这是因为我们linux默认编译的驱动依赖于cfg80211.ko,所以我们需要先加载cfg80211.ko,再加载r8723bs.ko
加载 insmod cfg80211.ko报错
# insmod cfg80211.ko
[ 281.758406] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[ 281.769045] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[ 281.775790] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
[ 281.784496] cfg80211: failed to load regulatory.db
发现加载这个模块也会报错。
但是我们查看加载的驱动发现这个模块竟然被加载了。
# lsmod
Module Size Used by Tainted: G
cfg80211 270336 0
这里我们就不管了,直接加载 r8723bs.ko
# insmod r8723bs.ko
[ 296.956900] r8723bs: module is from the staging directory, the quality is unknown, you have been warned.
[ 296.985816] RTL8723BS: module init start
[ 296.989904] RTL8723BS: rtl8723bs v4.3.5.5_12290.20140916_BTCOEX20140507-4E40
[ 296.996945] RTL8723BS: rtl8723bs BT-Coex version = BTCOEX20140507-4E40
[ 297.003608] RTL8723BS: module init ret =0
发现还是有报错,这是正常现象