6回答

1收藏

【Marvell ESPRESSObin】网络接口实验

其他 其他 5683 人阅读 | 6 人回复 | 2017-04-01

这里姑且将ESPRESSObin当作一个路由器来玩。

实验连接拓扑如下



Router是咱的家用路由器,百兆光纤电信接入。PC机与ESPRESSObin通过双绞线连接到Router上。

首先使用SERIAL连接到ESPRESSObin,进行基本的网络配置。ESPRESSObin上出厂配置使用的是UBUNTU 14.04系统,默认没有启用SSH,先要安装SSH,这里就不啰嗦了。

网络接口默认使用DHCP方式从路由器获取IP地址,
  1. root@localhost:~# ifconfig
  2. br0       Link encap:Ethernet  HWaddr f2:ad:4e:03:5f:1b
  3.           inet addr:192.168.84.1  Bcast:192.168.84.255  Mask:255.255.255.0
  4.           UP BROADCAST MULTICAST  MTU:1500  Metric:1
  5.           RX packets:0 errors:0 dropped:0 overruns:0 frame:0
  6.           TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
  7.           collisions:0 txqueuelen:1000
  8.           RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

  9. eth0      Link encap:Ethernet  HWaddr f0:ad:4e:03:5f:1b
  10.           inet6 addr: fe80::f2ad:4eff:fe03:5f1b/64 Scope:Link
  11.           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
  12.           RX packets:58727 errors:0 dropped:0 overruns:0 frame:0
  13.           TX packets:34798 errors:0 dropped:0 overruns:0 carrier:0
  14.           collisions:0 txqueuelen:532
  15.           RX bytes:65002850 (65.0 MB)  TX bytes:3221948 (3.2 MB)
  16.           Interrupt:8

  17. lan0      Link encap:Ethernet  HWaddr f2:ad:4e:03:5f:1b
  18.           UP BROADCAST MULTICAST  MTU:1500  Metric:1
  19.           RX packets:0 errors:0 dropped:0 overruns:0 frame:0
  20.           TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
  21.           collisions:0 txqueuelen:1000
  22.           RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

  23. lan1      Link encap:Ethernet  HWaddr f4:ad:4e:03:5f:1b
  24.           UP BROADCAST MULTICAST  MTU:1500  Metric:1
  25.           RX packets:0 errors:0 dropped:0 overruns:0 frame:0
  26.           TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
  27.           collisions:0 txqueuelen:1000
  28.           RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

  29. lo        Link encap:Local Loopback
  30.           inet addr:127.0.0.1  Mask:255.0.0.0
  31.           inet6 addr: ::1/128 Scope:Host
  32.           UP LOOPBACK RUNNING  MTU:65536  Metric:1
  33.           RX packets:14 errors:0 dropped:0 overruns:0 frame:0
  34.           TX packets:14 errors:0 dropped:0 overruns:0 carrier:0
  35.           collisions:0 txqueuelen:1
  36.           RX bytes:1176 (1.1 KB)  TX bytes:1176 (1.1 KB)

  37. wan       Link encap:Ethernet  HWaddr f6:ad:4e:03:5f:1b
  38.           inet addr:192.168.88.233  Bcast:192.168.88.255  Mask:255.255.255.0
  39.           inet6 addr: fe80::f4ad:4eff:fe03:5f1b/64 Scope:Link
  40.           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
  41.           RX packets:58727 errors:0 dropped:0 overruns:0 frame:0
  42.           TX packets:34790 errors:0 dropped:0 overruns:0 carrier:0
  43.           collisions:0 txqueuelen:1000
  44.           RX bytes:63710856 (63.7 MB)  TX bytes:2942980 (2.9 MB)

  45. root@localhost:~#
复制代码
EHT0则是Topaz网络交换芯片,起核心的数据交换作用。

开发板有3个以太网络接口,分别对应的是LAN0,LAN1及WAN,咱们的开发板通过WAN接口与上级路由器连接,看到获取的IP地址是192.168.88.233。

LAN0及LAN1作为交换机端口使用,所以是没有IP地址的。

BR0是虚拟网桥,包含LAN0及LAN1两个端口。这点可以使用如下命令查看
  1. <blockquote><blockquote>root@localhost:~# brctl show
复制代码
注意BR0的IP地址为192.168.84.1,这个实际上就是设备的IP地址了,这时候可以使用一台PC并将IP设定为与BR0的IP为同一网段的即可以实现互访。

开发板上默认的路由都也已设置好了,查看如下
  1. root@localhost:~# route
  2. Kernel IP routing table
  3. Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
  4. default         router          0.0.0.0         UG    0      0        0 wan
  5. 192.168.84.0    *               255.255.255.0   U     0      0        0 br0
  6. 192.168.88.0    *               255.255.255.0   U     0      0        0 wan
  7. root@localhost:~#
复制代码
这里设定了两个网络的路由,分别由BR0及WAN来实现转发,测试网络连通与否的命令如下
  1. root@localhost:~# ping eeboard.com -c4
  2. PING eeboard.com (61.155.217.101) 56(84) bytes of data.
  3. 64 bytes from 61.155.217.101: icmp_seq=1 ttl=56 time=24.7 ms
  4. 64 bytes from 61.155.217.101: icmp_seq=2 ttl=56 time=25.0 ms
  5. 64 bytes from 61.155.217.101: icmp_seq=3 ttl=56 time=25.3 ms
  6. 64 bytes from 61.155.217.101: icmp_seq=4 ttl=56 time=24.6 ms

  7. --- eeboard.com ping statistics ---
  8. 4 packets transmitted, 4 received, 0% packet loss, time 3004ms
  9. rtt min/avg/max/mdev = 24.653/24.954/25.363/0.300 ms
  10. root@localhost:~#
复制代码
网络基本都设置好了,可以直接使用。

我们可以使用192.168.88.233作为SSH的地址实现远程管理开发板,注意到BR0的IP地址为192.168.84.1,与设备WAN口的IP地址不是一个网段。理论上我们也可以通过192.168.84.1来实现远程SSH管理。

不过PC上还没有设置相关的路由,先看下咱PC上的默认路由表
  1. <blockquote>IPv4 路由表
复制代码
这里还没有192.168.84.0/24的路由设置,所以要添加一条路由表,执行如下命令
  1. C:\Windows\system32>route add 192.168.84.0 mask 255.255.255.0 192.168.88.243
  2. 操作完成!
复制代码
现在看看PC上的路由表,如下
  1. IPv4 路由表
  2. ===========================================================================
  3. 活动路由:
  4. 网络目标        网络掩码          网关       接口   跃点数
  5.           0.0.0.0          0.0.0.0     192.168.88.1   192.168.88.243     25
  6.         127.0.0.0        255.0.0.0            在链路上         127.0.0.1    331
  7.         127.0.0.1  255.255.255.255            在链路上         127.0.0.1    331
  8.   127.255.255.255  255.255.255.255            在链路上         127.0.0.1    331
  9.      192.168.84.0    255.255.255.0            在链路上    192.168.88.243     26
  10.    192.168.84.255  255.255.255.255            在链路上    192.168.88.243    281
  11.      192.168.88.0    255.255.255.0            在链路上    192.168.88.243    281
  12.    192.168.88.243  255.255.255.255            在链路上    192.168.88.243    281
  13.    192.168.88.255  255.255.255.255            在链路上    192.168.88.243    281
  14.         224.0.0.0        240.0.0.0            在链路上         127.0.0.1    331
  15.         224.0.0.0        240.0.0.0            在链路上    192.168.88.243    281
  16.   255.255.255.255  255.255.255.255            在链路上         127.0.0.1    331
  17.   255.255.255.255  255.255.255.255            在链路上    192.168.88.243    281
  18. ===========================================================================
  19. 永久路由:
  20.   无
复制代码
现在看到有192.168.84.0/24路由信息了。

使用PUTTY来连接开发板,成功!登录信息如下
  1. login as: root
  2. root@192.168.84.1's password:
  3. Welcome to Ubuntu 14.04.4 LTS (GNU/Linux 4.4.8-devel-16.11.2 aarch64)

  4. * Documentation:  https://help.ubuntu.com/
  5. Last login: Thu Jan  1 00:27:00 1970 from 192.168.88.243
  6. root@localhost:~#

复制代码
现在如果将笔记本连接到开发板的LAN0或LAN1,设定好网络IP的话,应该就可以通过ESPRESSObin来上网了。

ESPRESSObin作个路由器应该挺爽。


补充一下,在ESPRESSOBIN上开户了DHCP服务后,使用笔记本连接到开发板的LAN1口实现网络通信测试如下

  1. lzz@lzz-computer:~$ ifconfig
  2. enp3s0    Link encap:Ethernet  HWaddr 00:e0:4c:73:d5:c0  
  3.           inet addr:192.168.84.102  Bcast:192.168.84.255  Mask:255.255.255.0
  4.           inet6 addr: fe80::e2a7:c296:29b9:1778/64 Scope:Link
  5.           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
  6.           RX packets:31 errors:0 dropped:0 overruns:0 frame:0
  7.           TX packets:714 errors:0 dropped:0 overruns:0 carrier:0
  8.           collisions:0 txqueuelen:1000
  9.           RX bytes:4832 (4.8 KB)  TX bytes:120383 (120.3 KB)

  10. lo        Link encap:Local Loopback  
  11.           inet addr:127.0.0.1  Mask:255.0.0.0
  12.           inet6 addr: ::1/128 Scope:Host
  13.           UP LOOPBACK RUNNING  MTU:65536  Metric:1
  14.           RX packets:10605 errors:0 dropped:0 overruns:0 frame:0
  15.           TX packets:10605 errors:0 dropped:0 overruns:0 carrier:0
  16.           collisions:0 txqueuelen:1
  17.           RX bytes:726132 (726.1 KB)  TX bytes:726132 (726.1 KB)

  18. lzz@lzz-computer:~$ ping -c4 eeboard.com
  19. PING eeboard.com (61.155.217.101) 56(84) bytes of data.
  20. 64 bytes from 61.155.217.101: icmp_seq=1 ttl=55 time=26.9 ms
  21. 64 bytes from 61.155.217.101: icmp_seq=2 ttl=55 time=27.0 ms
  22. 64 bytes from 61.155.217.101: icmp_seq=3 ttl=55 time=26.9 ms
  23. 64 bytes from 61.155.217.101: icmp_seq=4 ttl=55 time=26.7 ms

  24. --- eeboard.com ping statistics ---
  25. 4 packets transmitted, 4 received, 0% packet loss, time 3004ms
  26. rtt min/avg/max/mdev = 26.744/26.894/27.009/0.189 ms
  27. lzz@lzz-computer:~$
复制代码
笔记本使用的也是UBUNTU,使用DHCP从ESPRESSOBIN获取IP地址。附开发板连接图



开发板的灯太亮了,亮瞎眼!!!只好拿本书盖住。

很好,只要加上WIFI模块后,一个全新的路由器已诞生!
关注下面的标签,发现更多相似文章
分享到:
回复

使用道具 举报

回答|共 6 个

倒序浏览

沙发

suoma

发表于 2017-4-2 00:06:27 | 只看该作者

我串口一直老是输出如下,没找到登录信息

板凳

netlhx

发表于 2017-4-2 07:51:12 | 只看该作者

suoma 发表于 2017-4-2 00:06
我串口一直老是输出如下,没找到登录信息

从信息看,应该是没有找到启动镜像,所以UBOOT使用TFTP从网络上查找启动镜像文件,提供几种方法供参考吧:

1 检查SD卡是否正确,建议重新烧写一个启动镜像
2 配置一个TFTP SERVER,然后将系统镜像放到TFTP SERVER里 使用NFS提供ROOTFS
3 修改UBOOT PARAMETERS
地板

suoma

发表于 2017-4-2 08:54:35 | 只看该作者

netlhx 发表于 2017-4-2 07:51
从信息看,应该是没有找到启动镜像,所以UBOOT使用TFTP从网络上查找启动镜像文件,提供几种方法供参考吧 ...

你好,新板子没动过SD卡啊,有如下问题
1、启动镜像哪里有?
2、怎么配置?
3、怎么修改?
5#

suoma

发表于 2017-4-2 17:42:25 | 只看该作者

我的SD卡内文件如下,看下和你的有区别吗?我上电前拔下来看了下,按理说是邮寄时已烧写好的,应该也没问题,可是为什么你的可以登录,我的启动后就无登录信息,我也不知道哪里找镜像烧录

232645ny6di9ztn91c6any.jpg (11.84 KB, 下载次数: 127)

232645ny6di9ztn91c6any.jpg
6#

Benjamin.Huang

发表于 2017-4-7 04:21:15 | 只看该作者

suoma 发表于 2017-4-2 17:42
我的SD卡内文件如下,看下和你的有区别吗?我上电前拔下来看了下,按理说是邮寄时已烧写好的,应该也没问题 ...

看上去是U-Boot里启动Linux的参数设置有些问题。你可以尝试在你的ESPRESSObin板子上做一下这个试验:

1.上电启动板子,在串口打印"Hit any key to stop autoboot:  0"的时候敲键盘回车键让u-boot把自动启动Linux的命令停下来。
2. 设置一个从你的SD 卡启动Linux的变量:

setenv bootmmc 'mmc dev 0;fatload mmc 0:1 ${kernel_addr} Image; fatload mmc 0:1 ${fdt_addr} armada-3720-community.dtb;setenv bootargs $console root=/dev/mmcblk0p2;booti ${kernel_addr} - ${fdt_addr}'

3. 在u-boot下用 save命令把 变量 bootmmc 存下来。

save

4. 试着跑一下bootmmc,看看能不能启动你的系统。

run bootmmc

上面的bootmmc命令是假设你的SD 卡有两个分区,第一个分区是fat格式的并且在其根目录下有Kernel镜像和dtb文件,第二个分区是ext4格式并且有根文件系统。

7#

king5188

发表于 2017-4-10 18:03:59 | 只看该作者

不错,,,,
您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条