openharmony 开发板配置网络 原创 精华
春节不停更,此文正在参加「星光计划-春节更帖活动」@[toc]( openharmony 开发板配置网络
背景
最新代码下载编译之后,由于openharmony部分功能不完善,部分功能正在等待社区开发完善,网络一块目前存在部分问题,其中最主要的问题就是dhcp 没有像linux系统已经默认添加到系统中,开发板烧录之后需要进行手动ip地址配置和路由的添加。
1、准备
下载最新代码,目前openharmony 3.1beta 版本已经处理了,但网络还是需要手动配置。
开发板:3516d,当然其他的开发板也行(lite-m级别的没有弄过)。
2、查看网口信息
使用命令ifconfig -a 查看网卡信息。
# ifconfig -a
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope: Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 TX bytes:0
eth0 Link encap:Ethernet HWaddr 7a:4f:c0:1f:db:7b Driver hisi-femac
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 TX bytes:0
Interrupt:35
Hisilicon0 Link encap:Ethernet HWaddr 00:00:00:00:00:00
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 TX bytes:0
p2p0 Link encap:Ethernet HWaddr b4:c9:b9:f8:6b:50
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 TX bytes:0
wlan0 Link encap:Ethernet HWaddr b4:c9:b9:f8:6b:4d
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 TX bytes:0
这里我们选择配置eth0 网卡,
第二步 配置网口
使用命令ifconfig 配置情况如下
ifconfig eth0 X.X.X.X netmask 255.255.255.0 up
或者ifconfig eth0 X.X.X.X up
注意:eth0 为需要配置的网卡,X.X.X.X 对应的IP地址
第三步:配置网关
使用route 命令手动添加网关信息
route add default gw X.X.X.X
用例:
ifconfig eth0 192.168.40.115 netmask 255.255.255.0 up
route add default gw 192.168.40.1
注意:此处为参照用例,配置详情需要按照实际情况配置。
DNS配置
开发版没有配置域名解析需要手动配置;
第一步:由于当前版本/etc 目录没有写入权限,需要手动开放写入权限。
mount -o remount,rw /
注意:这么操作是有安全风险的,
第二步:添加resolv.conf
echo “nameserver 114.114.114.114” > /etc/resolv.conf
开发板出现的问题
解决方法:
echo “0 9999999” > /proc/sys/net/ipv4/ping_group_range
注意:需要开放权限之后才能配置
学习收藏
配置完成后,能ping通吗?
应用层https能请求图片吗?
配置完可以ping通,主要的操作就是手动配置IP联网。
没法ping啊,还是有这个
ping: socket SOCK_DGRAM 1: Permission denied
Kernel bug workaround (as root):
echo 0 9999999 > /proc/sys/net/ipv4/ping_group_range
echo 0 9999999 > /proc/sys/net/ipv4/ping_group_range 应该是这个没有加好
# cat /proc/sys/net/ipv4/ping_group_range
0 9999999
# ping 192.168.1.1
ping: socket SOCK_DGRAM 1: Permission denied
Kernel bug workaround (as root):
echo 0 9999999 > /proc/sys/net/ipv4/ping_group_range
不行,系统到底适配好没有?
# chmod +s /bin/ping
# echo 0 9999999 > /proc/sys/net/ipv4/ping_group_range
# ping 192.168.1.1
Ping 192.168.1.1 (192.168.1.1): 56(84) bytes.
ping: sendto: Network unreachable
加chmod +s /bin/ping ping权限问题解决
博主的网络设置少了一点东西,我这里补全
# ifconfig eth0 192.168.1.115 netmask 255.255.255.0 up #设置网卡IP
# route add -net 0.0.0.0 netmask 0.0.0.0 gw 192.168.1.1 #去往任何目的IP都走路由192.168.1.1
# echo "nameserver 114.114.114.114" > /etc/resolv.conf #添加DNS,域名解析用
# chmod +s /bin/ping
# echo 0 9999999 > /proc/sys/net/ipv4/ping_group_range #解决ping权限问题
结果
# ping www.baidu.com
Ping www.baidu.com (14.215.177.38): 56(84) bytes.
64 bytes from 14.215.177.38: icmp_seq=1 ttl=0 time=7 ms
64 bytes from 14.215.177.38: icmp_seq=2 ttl=0 time=7 ms
64 bytes from 14.215.177.38: icmp_seq=3 ttl=0 time=119 ms
--- 14.215.177.38 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss
round-trip min/avg/max = 0/0/44 ms
#
# ping 192.168.1.1
Ping 192.168.1.1 (192.168.1.1): 56(84) bytes.
64 bytes from 192.168.1.1: icmp_seq=1 ttl=0 time=1 ms
64 bytes from 192.168.1.1: icmp_seq=2 ttl=0 time=1 ms
--- 192.168.1.1 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss
round-trip min/avg/max = 0/0/1 ms
路由设置参考:https://blog.51cto.com/oldboy/974194
OK,ping 这个命令按道理应该自带执行权限的啊
大神
想问下如何配置静态IP且重启后可生效呢?把ifconfig 写入某个启动脚本么?
toybox: Unknown command route
怎么解决?
toybox: Unknown command route 这个问题怎么解决
toybox: Unknown command route 这个问题怎么解决