hi3518e usb wifi


原文链接: 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_supplicantwpa_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移植完成。

`