【OpenHarmony】关于L1 Hi3516连接网络的相关说明
说明
本文针对Hi3516的两种内核linux和liteos-a的网络连接进行说明,包括有线连接和无线连接两种方式。
Linux内核
有线连接
因为Hi3516每次启动,eth0的MAC地址都是变化的,如果使用固定MAC地址的场景(如限制MAC地址上网的场地),可以修改S80network文件。不需要的可以从第2步开始。
1.修改文件
//vendor/hisilicon/hispark_taurus_linux/init_configs/etc/init.d/S80network
#!/bin/sh
ipaddr=
bootp=
gateway=
netmask=
hostname=
netdev=
autoconf=
echo " IP: $ipaddr"
echo " BOOTP: $bootp"
echo " GATEWAY: $gateway"
echo " NETMASK: $netmask"
echo "HOSTNAME: $hostname"
echo " NETDEV: $netdev"
echo "AUTOCONF: $autoconf"
if [ x$ipaddr == x- ] ; then
# use DHCP
:
else
cmd="ifconfig $netdev $ipaddr"
[ x$netmask != x- ] && cmd="$cmd netmask $netmask"
eval $cmd
[ x$gateway != x- ] && route add default gw $gateway
fi
ifconfig lo 127.0.0.1 up
ifconfig eth0 hw ether 要求的固定MAC地址
ifconfig eth0 up
./bin/dhcp_client_service stop eth0
2.重启DHCP
板子启动之后,输入命令ifconfig,查看eth0口是否获取到ip。没有IP就重启DHCP
./bin/dhcp_client_service start eth0
重启DHCP失败就敲下面命令:
./bin/dhcp_client_service stop eth0
./bin/dhcp_client_service start eth0
3.配置网络参数
配置网关:
route add default gw自己IP前三段号码加.1或者.254
配置DNS:
echo "nameserver 8.8.8.8" > /etc/resolv.conf
4.设置ping的权限
echo 0 9999999 > /proc/sys/net/ipv4/ping_group_range
5.测试
ping www.baidu.com
无线连接
虽然Hi3516有显示器,可以通过交互界面去连接wifi,这样操作的有点是便捷,缺点也很明显,wifi名和不能带有特殊符号命令,wifi密码只能填数字。第二种方法,使用命令的方式去连接wifi,wifi密码可以使用字母和特殊符号。下面介绍使用第二种方法。第一种方法请从第4点开始。
1.放开wpa_supplicant、hostapd和wpa_cli命令
1.1 修改文件//applications/sample/camera/communication/BUILD.gn
lite_component("sample") {
features = [
"wpa_supplicant:wpa_sample",
"hostapd:hostapd_sample",
"wpa_cli:wpa_cli_sample",
]
}
1.2 修改文件//applications/sample/camera/communication/bundle.json
“build” -> “sub_component” 增加
"//applications/sample/camera/communication:sample"
2.增加联网配置文件
在//vendor/hisilicon/hispark_taurus_linux/init_configs/etc下新建文件wpa_supplicant.conf
(或//out/hispark_taurus/ipcamera_hispark_taurus_linux/etc下新建文件,并编译)
内容如下
wpa_supplicant.conf
country=GB
ctrl_interface=udp
network={
ssid="wifi名"
psk="wifi密码"
}
3.连接wifi
./bin/wpa_supplicant -i wlan0 -c /etc/wpa_supplicant.conf &
4. 重启DHCP
板子启动之后,输入命令ifconfig,查看无线网口是否获取到ip。没有IP就重启DHCP
./bin/dhcp_client_service stop wlan0
./bin/dhcp_client_service start wlan0
5. 配置网络参数
配置网关:
route add default gw自己IP前三段号码加.1或者.254
route add default gw 192.168.43.1
配置DNS:
echo "nameserver 8.8.8.8" > /etc/resolv.conf
6.设置ping的权限
echo 0 9999999 > /proc/sys/net/ipv4/ping_group_range
7.测试
ping www.baidu.com
Liteos-a内核
有线连接
确保除了lo和eth0的状态是Running Link UP,或Running Default Link UP。其他的网口状态是Stop Link UP。
1.DNS配置文件
在//vendor/hisilicon/hispark_taurus/init_configs下,创建文件resolv.conf
nameserver 8.8.8.8
该文件,主要是用来解析域名的。缺少这个文件,连接网络的流程,会返回错误码:-0x52
2.拷贝DNS配置文件
在//vendor/hisilicon/hispark_taurus/init_configs/BUILD.gn,增加
copy("init_configs_resolv") {
sources = [ "resolv.conf" ]
outputs = [ "$root_out_dir/etc/resolv.conf" ]
}
在//vendor/hisilicon/hispark_taurus/ BUILD.gn,增加
"init_configs:init_configs_resolv",
每次编译,能自动拷贝DNS配置文件。
3.设置MAC地址
如果网络有限制MAC地址的,需要修改板子的hw mac,以便访问网络。
ifconfig eth0 hw ether 自己的MAC地址
4. 启动dhcp
dhclient eth0
5. 设置网络参数
有时第4步完成之后,除了能ping通网关,什么都ping不了。这时需要第5步。
ifconfig eth0 ipaddr netmask 255.255.255.0 gateway gw
例子:
ifconfig eth0 192.168.3.120 netmask 255.255.255.0 gateway 192.168.3.254
网络地址:ipaddr为第2步获取到的ip,同网段的闲置ip
掩码:netmask一般为255.255.255.0
网关:gw,掩码为255.255.255.0时,前三个字段跟ipaddr的一样。最后一位为.1或.254
6. 常见问题:
6.1
ping: destination unreachable …
目标ip可能开启了防火墙。
6.2
ping: sending ICMP echo request failed
ping的ip地址不存在,或者本地网络参数不对。请执行第5步。
6.3
Invalid dest ipaddr: NONE or ANY
同4.2,或dns配置文件不存在。
7.测试
ping www.baidu.com
无线连接
1.触摸屏方式连接
1.1. DNS配置文件
在//vendor/hisilicon/hispark_taurus/init_configs下,创建文件resolv.conf
nameserver 8.8.8.8
该文件,主要是用来解析域名的。缺少这个文件,连接网络的流程,会返回错误码:-0x52
1.2.拷贝DNS配置文件
在//vendor/hisilicon/hispark_taurus/init_configs/BUILD.gn,增加
copy("init_configs_resolv") {
sources = [ "resolv.conf" ]
outputs = [ "$root_out_dir/etc/resolv.conf" ]
}
在//vendor/hisilicon/hispark_taurus/ BUILD.gn,增加
"init_configs:init_configs_resolv",
每次编译,能自动拷贝DNS配置文件。
1.3. 连接wifi
通过触摸屏,进入设置,wifi连接,选择自己的wifi。需要注意的是,这种方式选择的wifi,输入的密码只能是数字。
连接成功之后,ifconfig,检查除了wlan0是Runing link up,其他都是Stop link up。
1.4. 测试
ping www.baidu.com
2. wpa_supplicant连接
未验证,可以参照linux内核无线连接的方式