1.环境的搭建:VMware和ubuntu系统的下载和安装
win10
1.1 VMware的下载和安装
可直接从共享目录上复制软件压缩包到电脑直接解压使用
1.2 ubuntu的下载和安装
需要先安装好VMware工作环境。
进入共享找到需要使用版本的ubuntu包复制到电脑中,然后进入VMware,打开并输入账号密码即可使用,我复制了ubuntu12纯净
版(密码123456)并打开可以正常使用,若共享没有所需版本的ubuntu,可上网下载需要版本的ubuntu的iso文件,然后进入VMw
are,新建新的虚拟机然后通过下载的ISO文件安装对应的ubuntu,我去网上下载了ubuntu14和ubuntu16的ISO,新建后可以正常使用。
2.RTL8720duAP与STA
环境:VMware及ubuntu14,RTL8723du模块
配置步骤:
2.1 打开ubuntu14,进入命令行。
2.2 插入模块,连接到虚拟机ubuntu14
2.3 输入lsusb查看模块是否连接上
2.4 进入共享找到所需的RTL8723du驱动文件并拷贝到电脑上win10和ubuntu14共享的文件夹目录下,打开ubuntu14进入共享文件夹
目录(此处有遇到问题,解决将在后面细说),将压缩包移动到工作目录下并解压。
2.5 配置网口wlan:
进入Makefile,修改参数:EXTRA_CFLAGS += -DCONFIG_CONCURRENT_MODE,编译(make)生成ko文件,使用insmod xxx.ko命令加载驱动
此处可能会遇到报错,错误信息:insmod: ERROR: could not insert module ngbe.ko: Unknown symbol in module,经过网上查阅资料得知:
这里是缺少依赖模块,查询具体少哪个模块可以通过命令:modinfo xxx.ko | grep depends,查询后知道所缺少模块为cfg80211。
通过命令:modprobe cfg80211加载所缺少模块
再次输入insmod xxx.ko即可加载成功,输入iconfig -a可以看大两个网口
2.6 启动wpa_supplicant工具
进入wpa_supplicant,编译make,编译前输入make clean,编译后可生成工具wpa-supplicant工具、
编写配置文件lix.conf,输入vi lix.conf进入编辑界面,查询文档找到配置文件内容:
ctrl_interface=/var/run/wpa_supplicant
network={
ssid=“xin”//手机热点名
psk=“lixin1314”//密码
在编辑界面碰到问题:按方向键会输入大写字母,这里经过网上查阅资料得到解决方案为卸载当前的vim然后重新下载安装最新的vim插件即可。
2.7 激活2.5生成的网口:ifocnfig wlan0 up
2.9 分配ip:静态:ifconfig wlan0 192.168.43.15 or 动态:udhcoc -i wlan0
2.8 输入./wpa_supplicant -Dnl80211 -iwlan0 -c ./lix.conf -B连接手机热点
2.10 AP:将网卡设置成热点之前需要killall wpa_supplicant直到输出无该进程为止。
2.11 进入hostapd目录:make生成工具
2.12 编写配置文件:
interface=wlan0 //ubuntu中无线WiFi的网卡名
ctrl_interface=/var/run/hostapd
ssid=li1 //手机连接时的wifi名
channel=6 //信道
wpa=2 //加密方式
wpa_passphrase=87654321 //连接wifi的密码
#bridge=br0
#driver=rtl871xdrv
driver=nl80211 //驱动型号
beacon_int=100
hw_mode=g
ieee80211n=1
wme_enabled=1
ht_capab=[SHORT-GI-20][SHORT-GI-40][HT40+]
wpa_key_mgmt=WPA-PSK
wpa_pairwise=CCMP
max_num_sta=8
wpa_group_rekey=86400
2.13 输入 ./hostapd ./rtl_hostapd_2G.conf -B 设置wifi
2.14 分配ip和2.9一样
2.15 用手机连接启动的热点li1
2.16 ping :ping 192.168.43.10
2.17遇到的困难:1)linux命令:解压缩:解压zip格式的命令:unzip xxxx.zip
解压rar格式:unrar x xxxx.rar
解压tar格式:untar -xvf xxxx.tar
2) ../src/drivers/driver_nl80211.c:25:31: fatal error: netlink/genl/genl.h: No such file or directory
compilation terminated.
make: *** [../src/drivers/driver_nl80211.o] Error 1
解决:apt-get install libnl-dev安装编译依赖libnl库
3.liux内核的升级
环境:VMware及ubuntu12(内核3.5) 内核文件4.8
此处根据共享文档学习升级linux的内核
步骤:解压内核源码文件到/usr/src
进入文件目录,输入make mrproper清除残留的.config和.o文件
进入ncurses目录安装ncurses:cd ncurses-5.9
./configure
make
su root
make install
返回文件目录输入make menuconfig
将之前的.config拷贝过来加载,然后按照文档进行配置
确认依赖性:make dep
清理中间件:make clean
生成新内核:make bzImage
生成modules:make modules
安装modules:make modules_install
建立要载入ramdisk的映像文件:mkinittramfs -o /boot/initrd-linux4.8.img4.8
make install
重启检查是否升级成功:uname -a
遇到的问题:1)未成功安装VMware-tools,上网查询安装步骤重新安装后再进行升级成功
VMware Tools压缩文件复制到opt文件夹,然后命令行解压文件,执行vmware-install.pl,
然后根据提示输入y即可安装成功,安装后需要重启
2)未执行make modules_install导致升级后系统无法启动,重新进行升级操作
4.MTK7601网卡的AP与STA
修改Makefile文件(选择PC平台:PLATFORM = PC)
启动网口:进入目录make在mt7601_v1.12/os/linux生成mt7601Usta.ko
复制RT2870STA.dat(os/linux下)拷贝到/etc/Wireless/RT2870STA/RT2870STA.dat
进入目录mt7601_v1.12/os/linux,先将linux自带的驱动卸载:rmmod mt7601u
insmod mt7601Usta.ko加载驱动。ifconfig -a检测驱动加载成功
编写配置文件,分配ip和链接手机热点均与RTL相同。
利用hoestapd设置AP步骤与RTL相同。
配置文件:rtl_hostapd_2G.conf:
interface=wlx203233934042
ctrl_interface=/var/run/hostapd
ssid=li1
channel=6 //信道
wpa=2
wpa_passphrase=88888888
#bridge=br0
#driver=rtl871xdrv
driver=nl80211
beacon_int=100
hw_mode=g
ieee80211n=1
wme_enabled=1
ht_capab=[SHORT-GI-20][SHORT-GI-40][HT40+] //带宽,为40
wpa_key_mgmt=WPA-PSK
wpa_pairwise=CCMP
max_num_sta=8
wpa_group_rekey=86400
5.hostapd下不同加密方式的配置
通过修改工具中的配置文件来实现不同加密方式下工作模式的配置。
其中不同加密方式的配置文件内容如下:
WEP方式:
ctrl_interface=/var/run/hostapd
interface=wlx203233934042
driver=nl80211
ssid=aa
channel=8
macaddr_acl=0
auth_algs=2
ignore_broadcast_ssid=0
wep_key0=123456789a
wep_default_key=0
WPA-PSK方式:
ctrl_interface=/var/run/hostapd
interface=wlx203233934042
driver=nl80211
ssid=WST
channel=1
macaddr_acl=0
auth_algs=1
ieee80211n=1
hw_mode=g
ignore_broadcast_ssid=0
wpa=1
wpa_passphrase=123456789
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
6.蓝牙
6.1 蓝牙串口连接;
VCC———VCCIO
GND———GND
RTS———CTS
CTS———RTS
TX———RXD
RX———TXD
根据此规范连接模块端和FT232串口,然后将此设备连接到电脑上,在虚拟机中输入dmesg | grep ttyU*看到串口名称是ttyUSB0
6.2 编译驱动,从共享中拷贝驱动到虚拟机上解压,然后初始化蓝牙,之后通过扫描到手机蓝牙不支持OBEX Object Push服务,未实现蓝牙文件传送。
7.定频
通过rtwpriv进行定频测试,在电脑上通过
ifconfig wlan0 up
rtwpriv wlan0 mp_start rtwpriv wlan0 mp_channel 1
rtwpriv wlan0 mp_bandwidth 40M=0,shortGI=0
rtwpriv wlan0 mp_ant_tx a
rtwpriv wlan0 mp_rate 11
rtwpriv wlan0 mp_ctx count=%100,pkt
rtwpriv wlan0 mp_ctx stop
指令进行相应的定频测试,其中修改参数mp_channel更改信道,mp_rate修改模式,在修改参数的前后均需要rtwpriv wlan0 mp_arx phy进行清零。
测试TX时候记录TX power (dBm),TX EVM (dB),Frep Offset(ppm)
测试RX时候记录RX Sensitivity(dBm)丢包率不可超过8%。