嵌入式爱好者

查看: 54080|回复: 9

[Linux] imx6q 与主机互相ping不通

[复制链接]

3

主题

12

帖子

24

积分

i.MX6UL通行证i.MX6Q通行证

扫一扫,手机访问本帖
发表于 2016-4-7 16:25:03 | 显示全部楼层 |阅读模式
刚从飞凌买的imx6q的板子,想通过NFS系统进行后期应用程序的开发调试,但出师不利,6q和主机ping不通,头大了,[size=13.3333px]板子与
[size=13.3333px]主机、虚拟机(win7和Ubuntu14.04能够相互ping通)都不能ping通,uboot阶段通过命令行
[size=13.3333px]setenv 设置了开发板的ip/netmask/serverip/nfsroot信息并saveenv保存好,板子和主机及
[size=13.3333px]虚拟机中的网络都设置在同一网段(板子与主机直接通过一根网线连接,主机无线上网,虚
[size=13.3333px]拟机中添加一网络适配器用于连接有线网卡(连接开发板,网段的设置为主机和开发板同一
[size=13.3333px]网段,无线网卡的网段未设置)),开发板ping主机后,打印
[size=13.3333px]MX6Q SABRESD U-Boot > ping 192.168.1.7
[size=13.3333px]Trying FEC0
[size=13.3333px]PHY indentify @ 0x1 = 0x004dd074
[size=13.3333px]FEC: Link is Up 796d
[size=13.3333px]*** ERROR: `ethaddr' not set
[size=13.3333px]Trying FEC0
[size=13.3333px]FEC: Link is Up 796d
[size=13.3333px]ping failed; host 192.168.1.8 is not alive

[size=13.3333px]板子的配置是:
[size=13.3333px]MX6Q SABRESD U-Boot > print
[size=13.3333px]bootdelay=3
[size=13.3333px]baudrate=115200
[size=13.3333px]ipaddr=192.168.1.103
[size=13.3333px]netmask=255.255.255.0
[size=13.3333px]loadaddr=0x10800000
[size=13.3333px]rd_loadaddr=(0x1300000)
[size=13.3333px]netdev=eth0
[size=13.3333px]ethprime=FEC0
[size=13.3333px]uboot=u-boot.bin
[size=13.3333px]kernel=uImage
[size=13.3333px]bootargs_base=setenv bootargs console=ttymxc0,115200
[size=13.3333px]bootargs_nfs=setenv bootargs ${bootargs} root=/dev/nfs ip=dhcp
[size=13.3333px]nfsroot=${serverip}:${nfsroot},v3,tcp
[size=13.3333px]bootcmd_net=run bootargs_base bootargs_nfs; tftpboot ${loadaddr} ${kernel}; bootm
[size=13.3333px]bootargs_mmc=setenv bootargs ${bootargs} ip=none root=/dev/mmcblk0p1 rootwait
[size=13.3333px]bootcmd_mmc=run bootargs_base bootargs_mmc; mmc dev 3; mmc read ${loadaddr} 0x800
[size=13.3333px]0x2900; bootm
[size=13.3333px]bootcmd=run bootcmd_mmc
[size=13.3333px]ethact=FEC0
[size=13.3333px]serverip=192.168.1.8
[size=13.3333px]nfsroot=/tftpboot/rootfs
[size=13.3333px]stdin=serial
[size=13.3333px]stdout=serial
[size=13.3333px]stderr=serial

[size=13.3333px]Environment size: 705/8188 bytes

[size=13.3333px]不知道原因出在哪儿了,还望指教。
回复

使用道具 举报

3

主题

12

帖子

24

积分

i.MX6UL通行证i.MX6Q通行证

 楼主| 发表于 2016-4-7 16:27:12 | 显示全部楼层
本帖最后由 w-oasis.com 于 2016-4-7 16:28 编辑

提示的错误信息`ethaddr' not set也没发现啊,开发板ping自己也是同样的提示:MX6Q SABRESD U-Boot > ping 192.168.1.103
Trying FEC0
FEC: Link is Up 796d
*** ERROR: `ethaddr' not set
Trying FEC0
FEC: Link is Up 796d
ping failed; host 192.168.1.103 is not alive

点评回复 支持 反对

使用道具 举报

3

主题

12

帖子

24

积分

i.MX6UL通行证i.MX6Q通行证

 楼主| 发表于 2016-4-7 16:55:38 | 显示全部楼层
本帖最后由 w-oasis.com 于 2016-4-7 17:09 编辑

刚随便设置了下ethaddr,setenv ethaddr 00:01:02:03:04:05,重新ping,开发板可以ping通主机和虚拟机,如下:
MX6Q SABRESD U-Boot > ping 192.168.1.7
Trying FEC0
FEC: Link is Up 796d
Using FEC0 device
sending ARP for 0701a8c0
ARP broadcast 1
packet received
packet received
Receive from protocol 0x806
Got ARP
Got ARP REPLY, set server/gtwy eth addr (b8:88:e3:dd:23:09)
Got it
packet received
packet received
Receive from protocol 0x806
Got ARP
packet received
packet received
Receive from protocol 0x800
Got IP
len=28, v=45
host 192.168.1.7 is alive
黄灯会闪,绿灯一直是灭的(换另一台笔记本上,绿灯是亮的)。主机ping不通开发板,线的问题?电脑问题?板子问题(翻之前的帖子,有说到飞凌的板子用交换机才能与主机互相ping通)?还是哪块配置不对?
点评回复 支持 反对

使用道具 举报

3

主题

17

帖子

42

积分

发表于 2016-4-7 20:45:46 | 显示全部楼层
1。开发板与PC直连的时候, 网线需要交叉, 或者从 PC 侧设置PC的网卡为 TX/RX 交换的。 用交换机就不需要 交叉网线了。
2。开发板与PC直连的时候,当reset开发板, PC侧也会检出link down,然后网络管理软件会down掉网卡,导致后续的服务访问出现超时。

点评

你好,谢谢你的回答。但我现在拿交叉网线直连开发板和PC,依然是开发板能ping通PC,PC不能ping通开发板,另外我让开发板进入自己文件系统(之前通过mfgtool烧写的)后再ping PC,根本就ping不通了。有的人说从uboot  详情 回复 发表于 2016-4-8 09:01
点评回复 支持 反对

使用道具 举报

3

主题

12

帖子

24

积分

i.MX6UL通行证i.MX6Q通行证

 楼主| 发表于 2016-4-8 09:01:51 | 显示全部楼层
本帖最后由 w-oasis.com 于 2016-4-8 10:18 编辑
scaborough 发表于 2016-4-7 20:45
1。开发板与PC直连的时候, 网线需要交叉, 或者从 PC 侧设置PC的网卡为 TX/RX 交换的。 用交换机就不需要  ...

   你好,谢谢你的回答。但我现在拿交叉网线直连开发板和PC,依然是开发板能ping通PC,PC不能ping通开发板,另外我让开发板进入自己文件系统(之前通过mfgtool烧写的)后再ping PC,运行ifconfig eth0 **.**.**.** 及ifconfig就ping通了。有的人说从uboot阶段只能开发板主动ping外界,外界是不能ping通开发板的,有的又说只有进入系统后才能互相ping的通。
    照目前我的情况来看,    1.uboot阶段开发板可以单方面(主动)ping通外界(PC);
    2.进入系统后,开发板和外界均可以ping,但从uboot阶段通过tftp加载内核及后面的通过NFS加载文件系统貌似还有问题,可能哪方面配置不当。
    我是参照网上的一些资料来操作的,中间会有模糊的地方,不知道可有比较好的参考资料:dizzy:
点评回复 支持 反对

使用道具 举报

3

主题

12

帖子

24

积分

i.MX6UL通行证i.MX6Q通行证

 楼主| 发表于 2016-4-8 11:01:59 | 显示全部楼层
现在参考网上的文章设置NFS启动,首先配置tftp,make a tftp directory Here we make /opt/tftpboot be a tftp directory.

# mkdir /tftpboot //该目录下链接有文件系统文件夹rootfs

# chmod 777 /tftpboot

(3) Open /etc/inetd.conf and edit it

# gedit /etc/inetd.conf

  Add this line:

tftp    dgram        udp        wait        nobody        /usr/sbin/tcpd /usr/sbin/in.tftpd      /tftpboot

(4)Restarting tftp service

#sudo /etc/init.d/openbsd-inetd restart
然后是NFS服务相关文件的修改配置启动,最后在开发板上uboot阶段设置环境参数:
setenv ipaddr 192.168.1.**
setenv serverip 192.168.1.**   
setenv bootfile uImage   
setenv nfsroot /tftpboot/rootfs
setenv bootargs_base 'setenv bootargs console=ttymxc0,115200'
setenv bootargs_nfs 'setenv bootargs ${bootargs} root=/dev/nfs rw ip=${ipaddr }:${serverip }:192.168.1.8:255.255.255.0::eth0:off nfsroot=${serverip}:${nfsroot},v3,tcp
setenv bootcmd_net 'run bootargs_base bootargs_nfs;bootm'
setenv bootcmd 'tftpboot uImage; run bootcmd_net'
saveenv
最后reset开发板,出现如下界面:
packet received
Receive from protocol 0x800
Got IP
len=544, v=45
sending UDP to 0801a8c0/00:0c:29:3b:4b:ef
packet received
packet received
Receive from protocol 0x800
Got IP
len=544, v=45
#sending UDP to 0801a8c0/00:0c:29:3b:4b:ef
packet received
packet received
Receive from protocol 0x800
Got IP
len=544, v=45
sending UDP to 0801a8c0/00:0c:29:3b:4b:ef
packet received
packet received
Receive from protocol 0x800
Got IP
len=544, v=45
sending UDP to 0801a8c0/00:0c:29:3b:4b:ef
packet received
packet received
Receive from protocol 0x800
Got IP
len=544, v=45
sending UDP to 0801a8c0/00:0c:29:3b:4b:ef
packet received
packet received
Receive from protocol 0x800
Got IP
len=544, v=45
sending UDP to 0801a8c0/00:0c:29:3b:4b:ef
packet received
packet received
Receive from protocol 0x800
Got IP
len=544, v=45
sending UDP to 0801a8c0/00:0c:29:3b:4b:ef
一直往下走,不知道怎么回事,虚拟机此时是可以ping通开发板的,这又是哪发生的问题啊
点评回复 支持 反对

使用道具 举报

3

主题

12

帖子

24

积分

i.MX6UL通行证i.MX6Q通行证

 楼主| 发表于 2016-4-8 14:50:52 | 显示全部楼层
不能通过tftp加载内核NFS挂载系统的方式启动开发板,参照网上的一些做法,直接在开发板原系统目录里面新建一目录作为挂载目录,挂载上了虚拟机中的系统。
点评回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋| 飞凌嵌入式 ( 冀ICP备12004394号-1 )

GMT+8, 2024-11-22 04:59

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表