This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

uboot运行起来以后网络不通



                                                                                                    网络拓扑图

  1. 网络拓扑图,如附件图所示,我们板卡上有四片66ak14h,66AK-A的SGMII3与PHY芯片相连,然后与TFPT服务器(192.168.2.10)通讯。66AK-A内核和文件系统通过TFTP已经加载起来,eth0~eth3的IP分别设置成192.168.2.220~192.168.2.223。
  2. 66AK-B的uboot运行起来以后,

              “setenv ethact K2HK_EMAC”

              “setenv ipaddr 192.168.2.11”

              “ping 192.168.2.10”

              这时候是可以ping通,内核文件系统通过TFTP可以加载起来。

        3. 66AK-C的uboot运行起来后,

             “setenv ethact K2HK_EMAC1”

             “setenv ipaddr 192.168.2.12”

             “ping 192.168.2.10”

             这时候ping不通、66AK-D也一样。

       4. 将66AK配置成DSP master,使用K2_STK_DSP_v1.1里面的GE_test进行测试,66AK-A和66AK-C通过SGMII1可以完成数据收发交互。

       5. 为什么在66AK-C的uboot运行起来以后网络不通,下图是uboot的网络设置,附件是uboot的网络配置代码和内核的网络dtsi文件。

k2hk-net.dtsi.rar
  • vsd文件我暂时看不了,最好上传一个jpeg文件,从你的描述看,A,C可以通过SGMII 收发数据,那可能需要修改C的uboot的以太网模式,是EMAC-PHY还是EMAC-EMAC。

  • 我刚把网络拓扑、uboot的网络配置代码、内核的配置文件都更新了。

  • 你这个拓扑有点麻烦,K2H里的GBESS上电的时候是没有端口之间的转发的,需要你手动配置。

    也就是说,需要在A启动以后配置K2H里Switch(NetCP)的规则才能做包的转发。

  • 1.  在没设置转发规则的情况下可以转发,B片为啥可以连接到TFTP服务器?

    2. 在用户手册里面没有看到怎么设置GBESS或者Switch(NetCP),是在A内核和文件系统加载起来再设置?

    3. 在A内核和文件系统加载起来以后,B的uboot起来以后,可以ping通,这时候在A的ale_table中可以查找到B的物理地址,这是不是说明内核加载起来以后,转发是可以的?

  • ale_table里就是端口转发的规则,需要把c和d也加入到ale_table里去。

  • 我们现在的另一块板子,A片第三个口,就是外接PHY芯片出去的那一路,仿真器加载uboot,起来之后ping不通PC机,而当前这块板子接PHY芯片是可以ping通的。

    现在也就是说,同样的硬件结构,在uboot起来以后,有的片子网络可以通,有的不可以,这可能是什么原因导致的呢?我增加调试信息,ping不通时,在uboot中netcp_send的qm_push成功,确定数据已经投入到队列中了,但是0x02090b00没有任何统计计数,而通qm_push之后计数是有的,请问为什么芯片的队列未将数据投放到SGMII的模块中。