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.

關於LAN端



目前WAN可以向server抓到I,請問要如何使他們溝通,然後該朝哪些方向去抓bug? 謝謝。

  • CPU為AM335x_ZCZ,謝謝。

  • 请问你这个应用是用AM335x做交换机控制芯片么?

  • Hi TI

    應該是的。

    謝謝。

  • HI TI

    請問有任何方向可以讓我去試嗎???? 謝謝。

  • 請問我該在kernel內選取哪些 config ? 在編譯他們的時候我指令該如何下?我 kernel 3.2 psp-6.0  謝謝。

  • 我已經抓取網路上 iptables 1.4.18 版本 source code並移植到device上了,但 kernel 似乎還要開啟某些CONFIG

  • 你好,看了你前面的描述,没太懂你的应用场景,是说,你使用AM335x的双路以太网,做一个交换机功能吗?那WAN和4口的LAN,和335是怎么样的连接?

  • 這是CPU和ethernet的連結

  • 你好,我想对于你来说,我想先确认一下,现在单独的1口和,2口是可以和外界ping通吗?然后,现在的使用中,1口和2口是划分在一个网段里的吗?如果双网口工作的是同一网段,是可能出现ping不同的情况的,需要划分Vlan解决该问题,请参考:http://processors.wiki.ti.com/index.php/AM335x_CPSW_(Ethernet)_Driver%27s_Guide

  • 你好

    ●我的應用場景是希望接在LAN port 的電腦,都能使用WAN端的IP上網,查詢了結果,似乎要是NAT模式,使他成為IP分享器的功能...

    ●至於你們想知道他們怎麼連接,可以舉個例讓我去看嗎? 我在omap-mach2/device.c 裡頭有一組phy_id=0:01 和 phy_id=0:02 我把它改成其中一個 phy_id=0:07之後WAN就可以上網了,至於另外一個可能就被接成LAN。我是軟體工,不太清楚硬體的架構。

    目前板子不在身邊,想跟您check一下。

    1 你所說的1口是WAN端?這端我們接公司的HUB,是可以ping外界的。2口?我們外觀是4個 LAN port,您是說要我一個网路線接這4個LAN port的其中一個,另一頭网路線接公司的HUB ping 外界?

    2 非常汗顏的想請問要怎麼判斷這双网口工作是否在同一網段?

    謝謝。

  • 1. 是指一头接AM335x,一头接电脑上,两边各分配一个IP后,是否能ping通,以此来判断AM335x的这个端口是不是通的,还是这里的配置就有问题的。

    2. 就是是否在同一个IP地址段内。

  •  測試結果,WAN 端(eth1)手動配置給它IP:172.16.51.13,另一頭接電腦配置IP:172.16.51.22 互相ping的到。LAN 4個port(eth0)相同做法無法和電腦互ping,但在LAN 4個port裡面的電腦能夠互相ping

    謝謝。

  • 对的,重点查看一下你的RMII1口的配置吧,检查一下control module gmii_sel里面的配置和当前网口的pinmux的设置。

  • 跟CPU和LAN沒通有關係嗎?謝謝。

  • 有关系,phy id是PHY端根据你实际的硬件设置来配置的,同时,这个ID要配置到driver中去。

  • Hi Ti

    ti linux

    kernel3.2

    客製板

    ==========

    我下  ethtool -S eth1出現 no state available,但 ethtool eth1 有出現訊息,在電腦的ubuntu可以打ethtool -S eth1,為什麼TI的不行?謝謝。

  • 推测这里面不是所有的命令都可以被支持的,运行的几条状态如下所示。你是不是想通过目前发包和收包的数目,来推测目前网卡是否正常运行?如果是这个目的,可以尝试通过MDIO读取PHY的BMCR寄存器信息来判断啊

    root@am335x-evm:~# ethtool eth0
    Settings for eth0:
    Supported ports: [ TP AUI BNC MII FIBRE ]
    Supported link modes: 10baseT/Half 10baseT/Full
    100baseT/Half 100baseT/Full
    1000baseT/Full
    Supports auto-negotiation: Yes
    Advertised link modes: 10baseT/Half 10baseT/Full
    100baseT/Half 100baseT/Full
    1000baseT/Full
    Advertised pause frame use: No
    Advertised auto-negotiation: Yes
    Speed: 10Mb/s
    Duplex: Half
    Port: MII
    PHYAD: 0
    Transceiver: external
    Auto-negotiation: on
    Current message level: 0x00000000 (0)

    Link detected: no
    root@am335x-evm:~# ethtool -S eth0
    no stats available
    root@am335x-evm:~# ethtool -r eth0
    Cannot restart autonegotiation: Operation not supported

  • Bernie Chen 说:

    Hi Ti

    ti linux

    kernel3.2

    客製板

    ==========

    我下  ethtool -S eth1出現 no state available,但 ethtool eth1 有出現訊息,在電腦的ubuntu可以打ethtool -S eth1,為什麼TI的不行?謝謝。

    请问您说的不行,有什么log吗?

  • Hi Ti

    LAN 已可以透過 WAN 上網,但LAN (etho) 掉包嚴重。

    可以尝试通过MDIO读取PHY的BMCR寄存器信息来判断

    請問,要怎麼讀取?讀取到的值分別代表甚麼?有例子嗎?

    謝謝。


  • 我在VM的ubuntu 打 ethtool -S eth0 能出現類似這樣的訊息

    $ ethtool -S eth0
    NIC statistics:
         rx_packets: 63041
         tx_packets: 31764
         rx_bytes: 9668617
         tx_bytes: 5028799
         rx_broadcast: 0
         tx_broadcast: 0
         rx_multicast: 0
         tx_multicast: 0
         rx_errors: 0
         tx_errors: 0
         tx_dropped: 0
         multicast: 0
         collisions: 0
         rx_length_errors: 0
         rx_over_errors: 0
         rx_crc_errors: 0
         rx_frame_errors: 0
         rx_no_buffer_count: 0
         rx_missed_errors: 0
         tx_aborted_errors: 0
         tx_carrier_errors: 0
         tx_fifo_errors: 0
         tx_heartbeat_errors: 0
         tx_window_errors: 0
         tx_abort_late_coll: 0
         tx_deferred_ok: 0
         tx_single_coll_ok: 0
         tx_multi_coll_ok: 0
         tx_timeout_count: 0
         tx_restart_queue: 0
         rx_long_length_errors: 0
         rx_short_length_errors: 0
         rx_align_errors: 0
         tx_tcp_seg_good: 0
         tx_tcp_seg_failed: 0
         rx_flow_control_xon: 0
         rx_flow_control_xoff: 0
         tx_flow_control_xon: 0
         tx_flow_control_xoff: 0
         rx_long_byte_count: 9668617
         rx_csum_offload_good: 56904
         rx_csum_offload_errors: 82
         alloc_rx_buff_failed: 0
         tx_smbus: 0
         rx_smbus: 0
         dropped_smbus: 0

    接著我在 device (kernel3.2 & Ti linux)上打上 ethtool -S eth0

    root@am335x-evm:~# ethtool -S eth0
    no stats available


    謝謝。

  • Hello TI

    我在kernel 想新增一個 icplus 模組,此為我們的switch chip driver,雖然在開機過程中有出現IP175C

    [    1.179016]davinci_mdio davinci_mdio.0: phy[0]: device 0:00, driver ICPlus IP175C
    [    1.186950] davinci_mdio davinci_mdio.0: phy[1]: device 0:01, driver ICPlus IP175C
    [    1.194854] davinci_mdio davinci_mdio.0: phy[2]: device 0:02, driver ICPlus IP175C
    [    1.202758] davinci_mdio davinci_mdio.0: phy[3]: device 0:03, driver ICPlus IP175C
    [    1.210693] davinci_mdio davinci_mdio.0: phy[4]: device 0:04, driver ICPlus IP175C

    但在kernel/driver/net/phy/icplus.c 裡面

    static struct phy_driver ip175c_driver = {
        .phy_id        = 0x02430d80,
        .name        = "ICPlus IP175C",
        .phy_id_mask    = 0x0ffffff0,
        .features    = PHY_BASIC_FEATURES,
        .config_init    = &ip175c_config_init,
        .config_aneg    = &ip175c_config_aneg,
        .read_status    = &ip175c_read_status,
        .suspend    = genphy_suspend,
        .resume        = genphy_resume,
        .driver        = { .owner = THIS_MODULE,},
    };

    粗體字 kernel 好像沒有執行到這邊,我們LAN端ping CPU一直很容易掉封包,懷疑 CPSW 根本沒有控制 IP175C 的driver,請問我該怎麼做?

    謝謝。