还发现了这样的现象: 1、我把2个的网段都从192.168.1.x改到192.168.0.x时会ping通一次,第二次开始就ping不通了; 2、有同学说ping不通可能是因为uboot中gatewayip没设置,我就实际测试设置网管为同网段.1,再次测试结论是第一次ping通了,第二次开始又不通了。
7.1、开发板运行linux下和主机Windows的ping通
(1)先将开发板刷机成linux+QT镜像(刷机见裸机教程第三部分),然后启动进入linux命令行终端下。
(2)在linux下使用ifconfig命令将开发板中linux系统的IP地址设置为和主机windows同一网段(为了上课方便,以后就固定: 主机windows地址192.168.1.10,开发板uboot或linux的地址为192.168.1.20,虚拟机ubuntu地址为192.168.1.141)
(3)此时开发板端ping windows通的。
(4)windows中ping开发板也是通的。
说明: 首先开发板和主机的网络部分硬件都是好的,网络连接也是好的,主机windows中的网络软件设置是好的。
7.2、开发板运行linux下和虚拟机ubuntu的ping通
(1)在linux基础课中讲过: 虚拟机的网卡设置可以选择好几种方式,常用的就是NAT和桥接(bridged)。
(2)虚拟机要和开发板进行网络通信,只能通过桥接方式连接。
(3)虚拟机要想被开发板ping通,设置步骤如下:
第一步: 虚拟机设置成桥接方式。
第二步: 虚拟机的菜单中有个“虚拟网络编辑器”,这里面要设置为桥接到有线网卡。 (默认是自动的,自动的一般会影响ping通。 因为电脑现在一般都有2个网卡: 一个有线的一个无线的。 如果选了自动,那么虚拟机会自动桥接到无线网卡上,但是我们却是通过有线网卡来连接开发板的,自然ping不通)
第三步: 在虚拟机ubuntu中设置IP地址为192.168.1.141(可以通过/etc/network/interfaces文件来设置静态的然后重启; 也可以直接命令行ifconfig去设置)
(4)此时开发板ping虚拟机ubuntu应该就通了。
(5)此时虚拟机ubuntu中ping开发板也是通的。
7.3、开发板运行uboot下和主机Windows的ping通
(1)刚才开发板运行linux时和主机windows、虚拟机ubuntu都ping通了,说明硬件和连接和主机设置没错。
(2)此时开发板重启进入uboot,设置好ipaddr、gatewayip,然后去ping windows发现还是不通。 怀疑uboot本身网络驱动有问题。
(3)然后同样情况下尝试去ping通虚拟机ubuntu,理论分析应该也不通,但是实际发现是通的。
7.4、开发板运行uboot下和虚拟机ubuntu的ping通
uboot和虚拟机ubuntu互相ping通(前提是虚拟机ubuntu设置为桥接,且桥接到有线网卡,且ip地址设置正确的情况下)
结论: 开发板中运行的uboot有点小bug,ping windows就不通,ping虚拟机ubuntu就通。