(史上最全)開發板ping不通主機和虛擬機的看過來!


前幾天在做uboot下用tftp下載文件到開發板的實驗時,為了能解決開發板ping不通主機和虛擬機的問題,可謂絞盡腦汁,正所謂久病成醫,雖然為了這一小問題廢了我那么長時間,但我在解決問題的同時也學到了很多其他知識,算是塞公失馬,焉知禍福!好了,廢話不多說,如果你也ping不通,就請往下看!

(以下是我解決這一問題的心得,以我開發板為例,如果你的板子跟我不一樣,也沒關系,道理是一樣的)

一:物理設備及連接方式:

開發板:Mini2440(友善之臂);

筆記本一台(主機)(windows系統);

虛擬機(ubuntu系統);

路由器一台(不連外網也沒關系);

連接方式:開發板與主機各用一條網線與路由器相連(網線也分直連網線和交叉網線,如果兩台pc機相連,必須要用交叉網線,我們一般用的網線都是直連型的)。

 

二:開發板uboot環境變量設置:ipaddr、gatewayip、netmask 這三個變量要設置好,ipaddr跟主機的ip、虛擬機的ip要在一個網段;gatewayip通常設為路由器的網關;如果你要用tftp服務,那serverip要設成虛擬機的ip;

 

三:虛擬機網絡設置:虛擬機->設置->網絡適配器(指定為vmnet0橋接模式):

編輯->虛擬機網絡編輯器(一定要自定義橋接到指定主機的網卡,如圖橋接到本地連接):

插曲:這里要說一下,有人可能會遇到這塊沒有自動生成vmnet網卡的情況(如圖),自己添加的話,又不能改為橋接模式(如圖),提示:“沒有未橋接的主機網絡適配器”

如果你虛擬機有vmnet0,橋接過程順利的話,那就自動跳過以下內容,往下面翻。

 

 

解決嘗試:

1:查看主機本地連接屬性中VMware Bridge Protocol 有沒有勾上

如果沒有勾上,就點 安裝->選 服務->添加->從磁盤安裝->選擇你的文件來源(一般在你vm的安裝目錄下有個netbridge文件)(這是虛擬機軟件中的一個重要dll文件,用於建立虛擬網絡橋接時的數據文件)。

嘗試2:重裝主機虛擬網卡

在 計算機->管理->設備管理器,底下有個網絡適配器,里面全是你主機安裝的各種網卡,把本地網絡給卸載了

然后在菜單項上有個 操作->添加過時設備,選擇手動安裝硬件,找到網卡驅動,把它裝上

ps:如果你還裝有一些其他的虛擬網卡(比如迅游),要把它刪了,這些虛擬網卡會對虛擬機選擇網卡時造成影響。

再去重啟虛擬機,對了,虛擬機如果不是完整版,只是綠色版的話,有可能也會沒有vmnet0的情況,所以你要保證你的虛擬機版本沒問題。

 

四:vmnet0 的問題終於解決了,現在去把ubuntu的ip設為跟主機、開發板在一個網段,怎么設置ip不用我說吧?[ifconfig eth0 192.168.1.4 netmask 255.255.255.0]

 

五:主機網絡設置:設置的跟開發板、虛擬機在同個網段就行了,與路由器的ip也要在一個網段(路由器的網關在機子的后面有寫,自己去看);

 

六:測試:現在,OK,應該可以ping通了,先在主機上ping下虛擬機,應該可以ping通,如果沒通,就去檢查上面的步驟;

然后在開發板上ping主機和虛擬機,如果能ping通的話就是這樣:

在這里提醒一下,uboot相對於linux系統比較低級,它不支持被外界設備(主機或虛擬機)ping,但可以ping別人(主機或虛擬機),所以如果你用主機ping開發板,肯定是ping不通的,但這並不妨礙開發板跟主機和虛擬機通信,不要傻傻的認為沒有ping通。

 

好了,如果ping通了的話,恭喜你問題解決了,接下來你可以用tftp下載內核到開發板上了【tftp 0x31000000 uImage】【bootm 0x31000000】.

 

本文僅作參考,有不對的地方歡迎指正!希望這篇文章對你有所幫助!

還是那句話:多看,多問,多動手,驅動開發不用愁。

小瓶蓋還只是個新手,有問題,歡迎與小瓶蓋交流討論,開發路上不寂寞!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM