查看: 4412|回复: 6

【Marvell ESPRESSObin】网络接口实验

[复制链接]
  • TA的每日心情
    开心
    2016-7-19 10:35
  • 签到天数: 8 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    发表于 2017-4-1 22:13:11 | 显示全部楼层 |阅读模式
    分享到:
    这里姑且将ESPRESSObin当作一个路由器来玩。

    实验连接拓扑如下

    2017-04-01_213923.png

    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地址。附开发板连接图

    IMG_20170401_224916.jpg

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

    很好,只要加上WIFI模块后,一个全新的路由器已诞生!
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2020-2-14 12:16
  • 签到天数: 827 天

    连续签到: 1 天

    [LV.10]以坛为家III

    发表于 2017-4-2 00:06:27 | 显示全部楼层
    我串口一直老是输出如下,没找到登录信息
    82.JPG
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2016-7-19 10:35
  • 签到天数: 8 天

    连续签到: 1 天

    [LV.3]偶尔看看II

     楼主| 发表于 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
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2020-2-14 12:16
  • 签到天数: 827 天

    连续签到: 1 天

    [LV.10]以坛为家III

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

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

    使用道具 举报

  • TA的每日心情
    开心
    2020-2-14 12:16
  • 签到天数: 827 天

    连续签到: 1 天

    [LV.10]以坛为家III

    发表于 2017-4-2 17:42:25 | 显示全部楼层
    我的SD卡内文件如下,看下和你的有区别吗?我上电前拔下来看了下,按理说是邮寄时已烧写好的,应该也没问题,可是为什么你的可以登录,我的启动后就无登录信息,我也不知道哪里找镜像烧录

    232645ny6di9ztn91c6any.jpg
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 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格式并且有根文件系统。

    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2017-4-10 18:03:59 | 显示全部楼层
    不错,,,,
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

    手机版|小黑屋|与非网

    GMT+8, 2024-4-29 02:52 , Processed in 0.167503 second(s), 30 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.