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

本文详细介绍了在OpenHarmony系统上,针对Linux内核和LiteOS-A内核的Hi3516芯片进行有线和无线网络连接的步骤,包括修改配置文件、DHCP设置、网络参数配置以及ping测试等。对于有线连接,涉及MAC地址修改和DHCP重启;无线连接则涵盖了wpa_supplicant的使用和配置文件的编辑。
摘要由CSDN通过智能技术生成

说明

本文针对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内核无线连接的方式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值