開發板的TFTP、NFS等網絡功能神奇消失和ubuntu 開機禁用無線網卡

轉載請註明 http://www.linuxforum.net/ [email protected] sailing

問題來源:
主機端已經設置好了TFTP,以前能用,最近突然不能用
TFTP from server 192.168.0.12; our IP address is 192.168.0.15
Filename 'ulmage'.
Load address: 0x21000000
Loading:T T T T T T T T T T T T 。。。。。
Retry count exceeses ;starting again

我通過flash啓動,進入系統可以更改MAC,也可以配置IP,提示成功
[root@AT91RM9200DK /root]$ifconfig
eth0 Link encap:Ethernet HWaddr 00:E0:4C:4D:8D:5E
inet addr:192.168.0.14 Bcast:192.168.0.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
但是ping不通主機,這個時候板子上網絡的一個燈在閃爍,應該是正在發送數據
相關情況可見
http://www.linuxforum.net/forum/showflat.php?Cat=&Board=embedded&Number=646034&fpart=1&PHPSESSID=


也就是說不管是U-boot通過TFTP與主機通信下載內核印象還是進入系統後ping主機或者通過NFS加載主機上的文件,此時,以前可用的網絡功能現在都不能用了

爲什麼呢?更神奇的是板子拿到別人機子上就可以用了,證明硬件沒問題
網線拿到別的開發板上用別人的機子也沒問題
主機ping局域網內的機器也沒問題
開發板網絡硬件、主機網絡接口、網線都沒問題,可爲什麼TFTP無法下載呢,爲什麼無法加載NFS?就怪了!?

折騰好幾天,又有罈子裏朋友們的支持,終於搞定了這個問題,在此感謝nxin和vxworks幫我排除了板子本身的硬件問題,才讓我想到了無線接口的問題

小弟正從事無線網卡在ARM平臺上的移植工作,希望與大家多交流共同提高

其實問題的本質就是最近我剛安裝好了無線網卡的驅動,現在主機有兩個網絡接口,無線網絡接口優先,因此板子的TFTP及NFS功能都被限制了,根本辦法windows下殺死無線網卡驅動的進程,Linux下關閉無線網卡的驅動,保證只有eth0接口

詳細過程如下:
一、配置以太網eth0及Lo,確定板子硬件無誤
[root@AT91RM9200DK /root]$ifconfig eth0 192.168.0.14
eth0: Link now 100-FullDuplex
[root@AT91RM9200DK /root]$ifconfig
eth0 Link encap:Ethernet HWaddr 00:18:F3:E5:9D:66
inet addr:192.168.0.14 Bcast:192.168.0.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
.............
[root@AT91RM9200DK /root]$ping 192.168.0.12 此時主機有無線接口,不能ping通
PING 192.168.0.12 (192.168.0.12): 56 data bytes

--- 192.168.0.12 ping statistics ---
4 packets transmitted, 0 packets received, 100% packet loss

[root@AT91RM9200DK /root]$ifconfig lo 127.0.0.1
[root@AT91RM9200DK /root]$ifconfig ##當前以太網和迴環接口UP
eth0 Link encap:Ethernet HWaddr 00:18:F3:E5:9D:66
inet addr:192.168.0.14 Bcast:192.168.0.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1

[root@AT91RM9200DK /root]$ping 127.0.0.1 ##網絡硬件應該沒有問題了吧
PING 127.0.0.1 (127.0.0.1): 56 data bytes
Warning: unknown ICMP packet received (not echo-reply)
64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=1.6 ms

--- 127.0.0.1 ping statistics ---
6 packets transmitted, 6 packets received, 0% packet loss

二、未拔無線網卡,關閉無線接口確不行
[root@dding root]# ifconfig rausb0 down
[root@dding root]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:F0:4C:81:64:43
inet addr:192.168.0.12 Bcast:192.168.0.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
## 關閉了無線接口此時只剩下有線接口,看是否能否ping通

[root@dding root]# ping 192.168.0.14 怎麼會這樣呢,我連上了阿?網線肯定沒問題阿
connect: Network is unreachable
[root@AT91RM9200DK /root]$ping 192.168.0.12
PING 192.168.0.12 (192.168.0.12): 56 data bytes

--- 192.168.0.12 ping statistics ---
11 packets transmitted, 0 packets received, 100% packet loss
## 絕望阿

三、拔下無線網卡、徹底關閉無線接口
[root@dding root]# service network restart
正在關閉接口 eth0: [ 確定 ]
關閉環回接口: [ 確定 ]
設置網絡參數: [ 確定 ]
彈出環回接口: [ 確定 ]
彈出界面 eth0: [ 確定 ]
彈出界面 rausb0: rt73 設備 rausb0 似乎不在。將要推遲它的初始化。
[失敗]
[root@dding root]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:F0:4C:81:64:43
inet addr:192.168.0.12 Bcast:192.168.0.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
##徹底清除無線接口

四、板子和主機互ping
[root@dding root]# ping 192.168.0.14 ##ping板子,可以了,哈哈,原來如此阿
PING 192.168.0.14 (192.168.0.14) 56(84) bytes of data.
64 bytes from 192.168.0.14: icmp_seq=1 ttl=64 time=0.836 ms

--- 192.168.0.14 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2008ms
rtt min/avg/max/mdev = 0.135/0.382/0.836/0.321 ms

[root@AT91RM9200DK /root]$ping 192.168.0.12 ##ping主機,可以阿,太爽了,心病沒了
PING 192.168.0.12 (192.168.0.12): 56 data bytes
64 bytes from 192.168.0.12: icmp_seq=0 ttl=64 time=0.5 ms
64 bytes from 192.168.0.12: icmp_seq=2 ttl=64 time=0.3 ms

五、板子重新確定,TFTP功能正常了(注意,此時主機的無線接口必須是關閉的)
##板子重新啓動
U-Boot 1.1.1 (Nov 16 2004 - 18:01:43)

U-Boot code: 21F00000 -> 21F16F2C BSS: -> 21F1B368
RAM Configuration:
Bank #0: 20000000 32 MB
Flash: 16 MB
In: serial
Out: serial
Err: serial
Hit any key to stop autoboot: 0
TFTP from server 192.168.0.12; our IP address is 192.168.0.15
Filename 'ulmage'.
Load address: 0x21000000
Loading: #################################################################
#################################################################

至此,一切問題搞定!



--------------------
   以上全是轉載的,他的解決方案是拔掉無線網卡,這個用不着把。關閉開機自啓動無線網卡不就可以了麼,下面也是轉載的

--------------------

 

在家上網幾乎不用無線網絡,所以在Windows下一直選擇禁用無線網卡,需要用的時候可以隨時啓用,但是Ubuntu下的NetworkManager沒有提供這一選項,去掉“啓用無線”之前的勾只能暫時禁用,重啓後Wifi還是會被自動啓用,不勝其煩。研究了一下,大致有2個比較簡單方法,可以讓ubuntu開機自動禁用無線網絡。

  1. 自啓動腳本

    將下面這條禁用無線網絡的命令添加到“啓動應用程序“中,這樣開機時無線網絡就會被自動禁用

dbus-send --system --type=method_call --dest=org.freedesktop.NetworkManager /org/freedesktop/

NetworkManager org.freedesktop.DBus.Properties.Set string:org.freedesktop.NetworkManager string:

WirelessEnabled variant:boolean:false自啓動編輯器這是最靈活也是最行之有效的方法,唯一的不足在於,電腦從待機狀態下喚醒時,無線網絡還是會被重新啓用。

 

        2.驅動黑名單

        將無線網卡驅動加入黑名單,徹底禁用無線網絡。 

  既然是禁用驅動,首先我們得知道無線網卡的驅動名是什麼,在終端中輸入lshw命令可以列出電腦硬件的詳細信息,從中我們可以獲取無  線網卡的驅動名。下面是信息片段:

  最後一行顯示我的無線網卡驅動名稱是iwl3945(intel 3945abg無線網卡),將它加入到黑名單就可以了,具體操作如下:
  • sudo gedit /etc/modprobe.d/blacklist.conf
  • 在文本最後加入 blacklist iwl3945
  • 重新啓動

如果的確長時間不會用到無線網絡,這個方法就比較乾淨徹底。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章