> 文档中心 > 【OpenHarmony】关于L1 Hi3516连接网络的相关说明

【OpenHarmony】关于L1 Hi3516连接网络的相关说明

【OpenHarmony】关于L1 Hi3516连接网络的相关说明

  • 说明
  • Linux内核
    • 有线连接
      • 1.修改文件
      • 2.重启DHCP
      • 3.配置网络参数
      • 4.设置ping的权限
      • 5.测试
    • 无线连接
      • 1.放开wpa_supplicant、hostapd和wpa_cli命令
      • 2.增加联网配置文件
      • 3.连接wifi
      • 4. 重启DHCP
      • 5. 配置网络参数
      • 6.设置ping的权限
      • 7.测试
  • Liteos-a内核
    • 有线连接
      • 1.DNS配置文件
      • 2.拷贝DNS配置文件
      • 3.设置MAC地址
      • 4. 启动dhcp
      • 5. 设置网络参数
      • 6. 常见问题:
      • 7.测试
    • 无线连接
      • 1.触摸屏方式连接
        • 1.1. DNS配置文件
        • 1.2.拷贝DNS配置文件
        • 1.3. 连接wifi
        • 1.4. 测试
      • 2. wpa_supplicant连接

说明

本文针对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/shipaddr=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 $gatewayfiifconfig lo 127.0.0.1 upifconfig 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.confcountry=GBctrl_interface=udpnetwork={    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内核无线连接的方式