嵌入式双网卡及配置



虚拟机安装双网卡及配置


接下来我们来看一下关于笔记本环境搭建的问题,因为我们现在笔记本的接口相对于比较少,所以说大家要进行开发板的调试接口可能就要扩的比较多。现在的笔记本都是USB接口比较多,也就是说串口都没有了,所以说就是在串口配置的时候,大家要注意,因为我们开发板中肯定要涉及到串口相连接。所以一般的话买那个USB转串口肯定是要买一个的。但是USB转并口就不用买了,因为转了后他也调不了,USB转并口其实想接我们之间说的那个“Debug Jtag调试接口”是没有用的。所以最好还是不用买并口。一会儿我们再来看看USB转串口怎么配的。我们还是先看到网络,因为我们说不管笔记本也好,还是台式机也好,最终搭建环境的目的就是把网络一定要跟我们的开发板相连通。


我们先提一下,我们在做环境搭建实验的时候一定要,严格按照tcpip这个协议去做,也就是说我们一定要想想再tcpip的最底层叫做物理接口层,那么这个物体接口在往上面,也就是网络层,ip层,然后在往上面就是传输层,然后最最上面就是我们应用层。这就是我们的层次关系记住就可以了。


但是比如说我们后面要讲系统移植初探,把我们板子就是已经给编好的内核或者文件系统跟我们的开发板相连通,我们就涉及到网络要传东西,那么网络传东西的过程中,这个地方就要注意我们传实际上是应用层,我的应用层和板子的应用层就要进行一个相连通,而想要这个相连通底下的那三层就必须要全部相通才能传得了数据。所以我们在发现应用层工作不了的情况下,你的思路就应该是一层一层的查,去看一看那到底是哪一层数据没有传通,然后在确定我到底是该怎么解决它。


card1.png


如图,那么现在来先简单提几个怎么去判断它传输的问题,第一个物理接口层很显然就是看那个网卡的灯亮没亮这是最典型的方法。网络层就是物理层已经保证它已经通了,那么网络层连不上就很有可能是因为不在同一个网段,所以网络层判断非常简单,就是你们俩在不在同一网段。然后这一层验证通没通过最简单方法就是ping命令,我们只需要从网络层ping一个数据包给对方,如果你们俩在同一个网段那就肯定ping的通。


然后网络层就会保证把数据传给你,这样的话我就会保证后面两层是通的。那如果应用层还工作不了,那么基本上就可以定位到是传输层或应用层的问题。


而传输层的原因主要就是我们的端口没有开放,而端口没有开放的原因的主要原因要不然就是服务器开放的端口没对,要不然就是根本没开,第二个就是我们的客户端访问的端口不对。所以传输层的控制主要在有些服务器的配置上,但是我们一般情况下都采用用标准服务,所以说问题的一般都在服务端上,客户端很少出问题,因为都是标准协议。应用层就不用说了,如果是你自己开发了就要调了,如果说你用标准的,那么一般来说问题不会太大。


总的来说,你要在后面很多地方如果通不了,就一定要回过头来看一下之前的层次关系,去分析定位一下你的问题在哪,然后再说怎么去解决。


以上就是我们刚才补充的问题,下面还是一样,我们去看一下笔记本环境是怎么搭建的。


card2.png


如图,图上左侧的大四边形就是我们的笔记本,然后笔记本中,现在的笔记本一般也是双网卡,一个就是我们的wifi接口是无线的(图左侧四边形上方的圆圈)还有一个就是我们真正接网卡实际的的物理接口(图左侧四边行是下方的圆圈),那么wifi主要目的就不用说了,他主要就是给我们上网用的,因为一般来说,家里就有一个无线路由器,你可以直接通过wifi上网。然后现在唯一能够跟开发板(图中右侧的是四边形)相接的,也就是我们的物理接口。那现在的问题还是一样,我们只要保证物理接口跟开发板在同一个网络就没有问题,然后再说传输层的问题,所以一会儿我们就涉及到第一个把windows的口子设成跟板子最终相运行的网段是一致的。


还是一样,这个问题并没有完全解决,因为我们最终的效果是要在虚拟机(出左侧大四边形里的小四边形)里面把虚拟机的资源传到开发板上。那虚拟机如果是单网卡的话,又涉及到一个问题。我们之前设置帮网卡的连接方式是NAT,NAT的方式我们当时说过,可以最简单的理解为虚拟机里网卡其实是连接到了内部的一个假路由器上。而这个路由器的数据究竟是往哪个地方发是由这个路由器来决定的。也就是说我上百度服务器的时候可能这个数据包可能往WiFi上走也可能往物理接口上走,但是物理接口是肯定走不通的因为跟板子相连,所以它的路径就会自动选择WiFi接口。这样的话我们的虚拟机就自然而然上网了,这就是我们上网的一个基本模型图。但是我们现在还没有完,因为我们的最终目的是让虚拟机跟板子相连,所以如果你连到NAT方式虚拟机上的网卡就跟开发板没有任何关系了,因为他连得是假路由器,所以这种情况下,我们一般来说有两种解决方法。一种就是要不就在虚拟机上扩一个网卡。一种就是虚拟机上的网卡,不要连接在路由器上直接桥接到笔记本的物理接口。但是这种方法要虚拟机上的网卡和笔记本上的物理接口还有开发板三者的IP保持在同一网段上。


但是这个跟之前台式机环境搭建一样有一个新的问题。也就是说虚拟机无法上网。因为开发板那里没有路由器。


所以我们现在要给大家讲一个比较复杂的解决方案,就是我们直接在虚拟机上再开一个网卡,然后再用这个网卡NAT那个假的路由器,也就是说,这个网卡可以充当我们上网用的数据出口。然后用下面那个网卡去跟板子相连接。


这样的话,我们这台虚拟机就可以具备到既可以上网又可以跟开发板连接。


以上就是我们最终的一个模型,而这个最终的模型就是在我们的虚拟机中,至少有两个网卡适配器,所以我们一会儿来看看该如何去搭建这个东西。


下面我们就来看这个虚拟机如何配置双网卡。 


虚拟机配置双网卡主要的方法其实就在安装完虚拟机过后的第一个虚拟机配置。第二个就是要在这个虚拟机里面编辑选,就是刚刚我们说过要桥接在另一个地方。


card3.png


如图,这里面有三个假网卡,让你去选择他的类型,也就是说,在虚拟机里面去选择这三个中到底是哪一个作为你的虚拟适配器的连接方式。


一般情况下主要是两种,一个是桥接模式,一个是NAT模式。桥接就是刚刚说的,我们直接把他桥接到一个实实在在的物理网卡上,当然,我这个地方就不用说了VMNET2就应该桥接到刚刚在笔记本中的网卡上。然后我们还要一个网卡叫做Vmnet8因为这个Vmnet8本身就是NAT模式连接到了我们的那台假路由器,而且他的网段是220的网段。桥接很显然是没有网段因为你这个只是物理上桥过去他并没有路由器。


而这个NAT的内部已经有个假路由器,而他的网段是220,那么我们只要配置成220相关的IP就可以跟假路由器在同一网段上进行路由选择数据。


card4.png


如图,如图上我们可以看到这个网络适配器只有一个。所以说我们默认的NAT没有问题。但是这个地方我要配成双网卡就需要一个添加,然后我们点击添加。


card5.png


如图,点击添加过后就会弹出一个框,然后就跟在电脑上买了一个网卡似的,很容易点一下就可以,然后点击下一步这个时候就会看到网络适配器的选型。


card6.png


如图,如果你的机器和我的机器是一样的,把那个桥接的默认网卡变了。那么你就不要选择网络连接的桥接模式直接连接到物理网络。因为这个默认是Vmnet0,因为我之前这个机器有问题把Vmnet0给删掉了,你如果有Vmnet0就可以选择直接连接到物理网络。但是如果你不放心你就点击自定义,然后自定义中它Vmnet2刚好就是桥接模式,所以我们点击这个就可以了,然后点击完成。


现在来说我们的Ubuntu里面就相当于有两个网卡一个是NAT一个是Vmnet2的桥接器。


现在相关硬件我们已经配好了,然后我们在点击开机一点开机过后,它就自动的开始进行网卡驱动的安装,当然,因为这个是虚拟机所以是假的。然后开启机关后,我们就在虚拟机里面把对应的ip地址跟我们开发板或环境一致的ip就可以。


下面我们就来看看这个配置的怎么样。


card7.png


如图,现在我们来看这个是虚拟机引起来过后,起来过后,其实我们已经看到一个现象,就是上面wifi的那个标志不断的在刷信号,因为我们有一个网卡,没有问题可以获取IP有一个网卡其实获取不到。这个是很正常的。


刚才我看了一下我们的第一个网卡是220.135也就是说他已经在我们假的路由器中获取了一个ip,而第二个ip确实没有办法获取到。因为我现在跟板子上的网线没有接,甚至来说板子没有电,所以这个网卡接上也没用,所以这个情况下怎么办呢?我们来看一下。


card8.png


如图,这个地方大家可以看本来就有两个网卡,我们把这个信息给编辑一下,所以要点击编辑连接。


card9.png


如图,双击vmnet1他会告诉你第一个链接,第一个链接如果你不想每次让他自己去获取免得麻烦,你就可以把方法改成手动,我们认为vmnet1相当于物理连接到第一个网卡,然后我们就直接添加ip(198.168.220.135)就可以了。也就是说你跟这个ip是一样就行。然后网关要注意,我们就是靠这个网关来上网的。所以这样我们就要考虑(198.168.220.2)那么为什么是2我们之前也说过了,这本身就是我们家的路由器的一个网关,然后DNS跟网关的IP是一样的。你们可能跟我不一样,你们可能不是220可能是其他的,这个没关系。然后我们点击保存这样的话,第一个网卡就出来了。


card90.png


如图,然后在点击第二个,这就是假的他会告诉你第一个链接,第一个链接如果你不想每次让他自己去获取免得麻烦,你就可以把方法改成手动,我们认为vmnet1相当于物理连接到第一个网卡,然后我们就直接添加ip(198.168.220.135)就可以了。也就是说你跟这个ip是一样就行。然后网关要注意,我们就是靠这个网关来上网的。所以这样我们就要考虑(198.168.220.2)那么为什么是2我们之前也说过了,这本身就是我们家的路由器的一个网关,然后DNS跟网关的IP是一样的。你们可能跟我不一样,你们可能不是220可能是其他的,这个没关系。然后我们点击保存这样的话,第一个网卡就出来了。


然后这个时候vmnet1就是假的而vmnet2就是跟开发板相连的网卡。


card91.png


如图,这个时候如果说运行的比较好它自动会连,我们可以看一下输入“ifconfig”我们会发现就相当于我有两个IP。


甚至来说我通过connect我去远程连接这个220.135也是可以的:


card92.png


如图,输入“ifconfig”我们会发现跟之前也是一样的,也就相当于在Windows下通过这样的方法也可以跟虚拟机相连了。也就是说我们不需要在虚拟机里进行操作直接在connect的终端就可以操作,那等一下我们把开发板一起来过后就相当于PC既可以跟Windows相连也可以跟开发板相连。


以上就是关于虚拟机配置双网卡的部分,这个在大家下来做实验的时候可能要细心一下在如下图中:


card93.png


如图,要注意一下它的编辑信息,等一下重启后你会发现也只有一个,也就是说在这个网卡你选择vmnet1那下一个网卡你就选择vmnet2,这样的话就相当于我们一台机器有两种出口。


以上就是我们关于虚拟机网卡配置,一会儿我们来看在我们的uboot启动过后我们跟虚拟机之间的数据传输方式。



【本文由麦子学院独家原创,转载请注明出处并保留原文链接】

logo
© 2012-2016 www.maiziedu.com
蜀ICP备13014270号-4 Version 5.0.0 release20160127

免费领取价值1888元求职宝典!

客服热线 400-862-8862

回到顶部