共2条
1/1 1 跳转至页
AT91RM9200网络问题

现在我在开发AT91RM9200的时候遇到一个网络问题:
(1)如果我在RAMDisk中不指定开发板的IP地址,运行Kernel挂载文件系统后,敲ifconfig
eth0查询会得到如下的结果:
[root@AT91RM9200DK /]$ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:00:00:00:00:00
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
Interrupt:24 Base address:0xc000
如果用ifconfig设定IP会提示出错,情况如下:
[root@AT91RM9200DK mtd]$ifconfig eth0 159.99.211.23
SIOCSIFFLAGS: Cannot assign requested address
这时候,如果再查询会发现,IP还是设定上了
[root@AT91RM9200DK /]$ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:00:00:00:00:00
inet addr:159.99.211.23 Bcast:159.99.255.255 Mask:255.255.0.0
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
Interrupt:24 Base address:0xc000
但使用这个IP无法Ping通外部服务器或者其他机器
[root@AT91RM9200DK /root]$ping 159.99.211.1
PING 159.99.211.1 (159.99.211.1): 56 data bytes
ping: Network is unreachable
ping wrote -1 chars; 64 expected
(2)我现在改了内核的驱动,在init_net.c中添加了MAC地址,然后在RAMDisk中指定了IP地
址,在/etc/rc.d/rc.sysinit(和/etc/init.d/rcS功能一样)中添加指定IP的脚本:
/sbin/ifconfig lo 127.0.0.1 netmask 255.0.0.1 broadcast 127.255.255.255
/sbin/route add -net 127.0.0.0 netmask 255.0.0.0 lo
/sbin/ifconfig eth0 159.99.211.23 broadcast 159.99.211.63 netmask 255.255.255.192
/sbin/route add default gw 159.99.211.1 eth0
启动内核挂载文件系统后,发现MAC地址和指定的IP都有了,但还是无法使用
[root@AT91RM9200DK mtd]$ifconfig eth0
eth0 Link encap:Ethernet HWaddr 01:03:05:07:09:0B
inet addr:159.99.211.23 Bcast:159.99.211.63 Mask:255.255.255.192
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
Interrupt:24 Base address:0xc000
Ping自己可以Ping通。
[root@AT91RM9200DK /root]$ping 159.99.211.23
PING 159.99.211.23 (159.99.211.23): 56 data bytes
Warning: unknown ICMP packet received (not echo-reply)
64 bytes from 159.99.211.23: icmp_seq=0 ttl=64 time=3.6 ms
Warning: unknown ICMP packet received (not echo-reply)
64 bytes from 159.99.211.23: icmp_seq=1 ttl=64 time=0.5 ms
Warning: unknown ICMP packet received (not echo-reply)
64 bytes from 159.99.211.23: icmp_seq=2 ttl=64 time=0.4 ms
Ping外网,无法Ping通。
[root@AT91RM9200DK /root]$ping 159.99.211.1
PING 159.99.211.1 (159.99.211.1): 56 data bytes
ping: Network is unreachable
ping wrote -1 chars; 64 expected
设置网关有问题:
[root@AT91RM9200DK mtd]$route add 159.99.211.1 eth0
SIOCADDRT: Network is down
[root@AT91RM9200DK mtd]$
[root@AT91RM9200DK mtd]$route add default gw 159.99.211.1 eth0
SIOCADDRT: Network is unreachable
关键词: AT91RM9200 网络 问题 root@AT9
共2条
1/1 1 跳转至页
回复
打赏帖 | |
---|---|
【STM32F769】AI之与本地deepseek对接被打赏50分 | |
Buck电路工作在CCM模式下电感电流的计算公式是什么?被打赏5分 | |
buck电路工作原理被打赏5分 | |
基于MSPM0L1306的MODBUS-RTU协议通讯实验被打赏100分 | |
我想要一部加热台+多合一调试工具被打赏18分 | |
每周了解几个硬件知识+485硬件知识分享被打赏10分 | |
【换取手持数字示波器】树莓派PICO调试器官方固件本地化部署实践被打赏24分 | |
【换取手持数字示波器】分享一个KEIL无法识别CMSIS-DAP调试器的解决办法被打赏20分 | |
【换取手持数字示波器】分享一个自制的ArduinoNano扩展板底板被打赏23分 | |
【换取手持示波器】树莓派PICOW网页烟花被打赏18分 |