hi3518e usb wifi
板子启动后建立ap热点命令:
ifconfig wlan0 up
hostapd /etc/hostapd.conf -B
ifconfig wlan0 192.168.0.1
udhcpd -fS /etc/udhcpd.conf &
telnetd
默认的热点名字和密码配置文件在/etc/hostapd.conf 文件里面
默认的热点名字:qddytt
密码:qddytt11
板子连接到无线路由器命令
ifconfig wlan0 up
iwlist wlan0 scanning (扫描附近的无线路由器)
修改连接到无线路由器的ssid和密码
请在/etc/wpa.conf 里面修改。用户可以直接使用vi编辑这个文件,也可以修改rootfs里面的,然后重新制作烧写rootfs
wpa_supplicant -Dwext -iwlan0 -c/etc/wpa.conf
wpa_supplicant -B -Dwext -iwlan0 -c/etc/wpa.conf
动态获取ip
udhcpc -i wlan0
手动设置ip
ifconfig wlan0 192.168.1.67
ping 192.168.1.1 //测试网络是否通,请ping 客户wifi路由器的ip,连接上来就可以ping通路由器
注意: 如果连接不上,检查SSID是否正确
Hi3518E上USB Wifi模块移植记录
1.说明
Hi3518e+USB Wifi和PC作为station,路由器作为AP。
MT7601驱动可在此链接下载(5mj9):MT7601_sta_driver
IP分配:
- 路由器:192.168.0.1
- 开发板:192.168.0.10
- windows主机:192.168.0.20
2.编译驱动
2.1修改Makefile
cd /sambashare/MT7601_driver/sta/DPO_MT7601U_LinuxSTA_3.0.0.4_20130913
vim Makefile
主要修改如下标记my add的三处:
66 #PLATFORM = MSTARTV
67
68 #my_add
69 PLATFORM = HISI_3518E
70
71 #APSOC
72 ifeq ($(MODULE),3050)
73 PLATFORM = RALINK_3050
74 endif
101 ifeq ($(TARGET), ECOS)
102 MAKE = make
103 MODULE = $(shell pwd | sed "s/.*\///" ).o
104 export MODULE
105 endif
106
107 #my_add
108 ifeq ($(PLATFORM),HISI_3518E)
109 LINUX_SRC = /home/peco/sambashare/Hi3518E_SDK_V1.0.3.0/osdrv/opensource/kern el/linux-3.4.y
110 CROSS_COMPILE = arm-hisiv300-linux-
111 export ARCH=arm
112 endif
407 ifeq ($(PLATFORM),DM6446)
408 $(MAKE) ARCH=arm CROSS_COMPILE=arm_v5t_le- -C $(LINUX_SRC) SUBDIRS=$(R T28xx_DIR)/os/linux modules
409 else
410 #my add
411 ifeq ($(PLATFORM),HISI_3518E)
412 $(MAKE) ARCH=arm CROSS_COMPILE=$(CROSS_COMPILE) -C $(LINUX_SRC) SUBDIRS =$(RT28xx_DIR)/os/linux modules
413 else
414 $(MAKE) -C $(LINUX_SRC) SUBDIRS=$(RT28xx_DIR)/os/linux modules
415 endif
416 endif
2.2修改config.mk
vim os/linux/config.mk
修改如下一处:
1089 ifeq ($(PLATFORM),SMDK)
1090 EXTRA_CFLAGS := $(WFLAGS)
1091 endif
1092
1093 #my add
1094 ifeq ($(PLATFORM),HISI_3518E)
1095 EXTRA_CFLAGS := $(WFLAGS)
1096 endif
1097
2.3修改rtmp_def.h
此处修改为了让生成的网卡名字为wlan,也可以不修改,不修改则为ra。
vim include/rtmp_def.h
修改如下一处:
1599
1600 //#ifdef ANDROID_SUPPORT
1601 #define INF_MAIN_DEV_NAME "wlan"
1602 #define INF_MBSSID_DEV_NAME "wlan"
1603 //#else
1604 //#define INF_MAIN_DEV_NAME "ra"
1605 //#define INF_MBSSID_DEV_NAME "ra"
1606 //#endif /* ANDROID_SUPPORT */
2.4编译驱动
make clean && make
编译生成的驱动在os/linux/目录下。
3.编译openSSL
3.1解压文件
tar -xvf wpa_supplicant-2.5.tar.gz
tar -xvf openssl-0.9.8za.tar.gz
3.2给openSSL打补丁
cp wpa_supplicant-2.5/patches/openssl-0.9.8za-tls-extensions.patch ./openssl-0.9.8za
cd openssl-0.9.8za/
patch -p1 < openssl-0.9.8za-tls-extensions.patch
3.3修改openSSL Makefile
修改如下几处:
CC=arm-hisiv300-linux-gcc
AR=arm-hisiv300-linux-ar $(ARFLAGS) r
ARD=arm-hisiv300-linux-ar $(ARFLAGS) d
RANLIB=arm-hisiv300-linux-ranlib
INSTALLTOP =/tmp/openssl
OPENSSLDIR =/tmp/openssl
若报错xpected text after =item, not a number,则执行:
sudo rm -f /usr/bin/pod2man
最后执行make install安装openSSL。
4.编译wpa_supplicant
cd wpa_supplicant-2.5/wpa_supplicant
cp defconfig .config
修改.config,增加以下内容:
CC=arm-hisiv300-linux-gcc -L/tmp/openssl/lib
CFLAGS+=-I /tmp/openssl/include
LIBS+=-L/tmp/openssl/lib
执行make,若报错:fatal error: netlink/genl/genl.h,修改.config文件,将CONFIG_DRIVER_NL80211=y 注释掉即可。
继续make,生成wpa_supplicant和wpa_cli。
5.部署 spa_supplicant
将wpa_supplicant、wpa_cli复制到开发板/usr/local/bin目录下。
创建配置文件/etc/wap_supplicant.conf,输入如下内容:
ctrl_interface=/var/run/wpa_supplicant
network={
ssid="路由器Wifi名字"
scan_ssid=1
key_mgmt= WPA-EAP WPA-PSK IEEE8021X NONE
pairwise=TKIP CCMP
group=CCMP TKIP WEP104 WEP40
psk="路由器Wifi密码"
}
安装驱动
insmod mt7601Usta.ko
设置静态IP地址
ifconfig wlan0 192.168.0.10
开发板sta连接AP
wpa_supplicant -Dwext -iwlan0 -c/etc/wpa_supplicant.conf -dd &
ping 192.168.0.1成功,至此USB Wifi移植完成。