本文解决Edison连上Wifi后无法访问网络问题,可以ping通自己,但是局域网内的ip地址和外网无法ping通。
我的Edison连接手机热点可以ping外网,但是连接路由器就不行了,非常奇怪。
最开始以为是路由器密码问题,以前设置了一个很长的WIfi密码,也是导致了Edison无法上网耗费了我很长时间。
我又把路由器设置了一大堆,路由器的防火墙也关了,还是不行。
后来ifconfig命令结果看了又看,觉得是usb0搞的鬼。
首先:
vi /etc/systemd/network/usb0.network
将地址 192.168.2.15/24
改为 192.168.5.15/24 或192.168.3.15/24都行。
如何使用vi编辑器随便按按就会了,完成后按Esc,输入大写的ZZ以保存退出。
使用命令:
ifconfig usb0 down
此时运行:
configure_edison --wifi
再连一下Wifi,成功后ping一下外网看是否成功。
没有成功的话我们继续:
vi /etc/systemd/system/basic.target.wants/network-gadget-init.service
如果回车后发现是空的,说明你没有这个文件,那么我们自己写一个:
[Unit]
Description=USB Ethernet gadget
[Service]
Type=oneshot
ExecStartPre=-/bin/sh -c "echo 'connect' > /sys/class/udc/dwc3-device.1/soft_connect"
ExecStart=-/bin/sh -c " ifconfig usb0 192.168.5.15; route add default gw 192.168.5.1; echo 'nameserver 192.168.10.206' > /etc/resolv.conf"
ExecReload=-/bin/sh -c " ifconfig usb0 192.168.5.15"
StandardError=syslog
RemainAfterExit=no
[Install]
WantedBy=basic.target
输入完成按Esc,输入大写ZZ保存退出。
重启Edison,重新连Wifi,再ping外网应该就可以了。