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.

Using RTL8211 ethernet phy



Hi All,

I've been struggling with TI8168 + RTL8211 ethernet phy on our custom board. On u-boot, I can ping to the host but ethernet connection is very unstable when I try to get some binaries from the host via tftp. Using wireshark (packet capturing application) on host side, I can see that the host keeps waiting the ACK packet from the board sometimes. However, when I put some debug logs on u-boot, I also can see that TI8168 emac sends the ACK already.

Have you anyone tried to use ethernet phy different from the evm ? 
Any ideas to debug this issue will be very helpful to me.

Thanks,
Wonhong

  • Wonhong

    Just to isolate if its related to auto-negotiation, can you force the Host to 10Mbps/Half-duplex and repeat the same experiment(if possible have the board directly connected to the board)

    Regards

    Sriram

  • Hi Sriram,

    When I forced the board to 10Mbps by setting PHY configuration and without using auto-negotiation (no changes on the host), I could see the reliable connection between the host and the board.

    Regards,
    Wonhong

  • Hi

    Typically the PHY will  have bootstrap settings for enabling 10/100/1000Mbps and autonegotiation (input lines to the PHY that are latched at PHY reset). Please review the schematics to ensure that you have proper pull-ups/pull-downs on these lines to enable the right settings.

    Other option would be to re-initialize the settings in SW and force re-negotiation after programming the PHY registers in SW

    Regards

    sriram

  • Hi Sriram,

    There was some issues on our custom board (the bootstrap options were correct but some pin assignment for PHY device were not) and after the fix I can see that receive and transmit operation on the ethernet is very stable in both 10 and 100 Mbps mode. (I enabled the auto-negotiation feature again.)

    So, I've tried to make a connection in 1000 Mbps (Gigabit) mode but I've got some other issue.
    As far as I understand, in 1000 Mbps mode, EMAC should output the EMAC_GMTCLK with 125 MHz frequency for transmit operation and PHY should generate the EMAC_RXCLK with 125 MHz for receive operation. I confirmed that PHY generated 125 MHz EMAC_RXCLK with the O'scope, but EMAC didn't generated anything at all. That is, there was no signal on EMAC_GMTCLK in 1000 Mbps mode. (FYI, in 100 Mbps mode, EMAC generated 25 MHz EMAC_GMTCLK.)

    To set EMAC to Gigabit mode, I set GIGFORCE (MACCONTROL[17]) and GIG (MACCONTROL[7]) to 1. Do I need to set more register to enable Gigabit feature on EMAC ?

    Regards,
    Wonhong

  • hi all:

      i use dm8148 +rtl8211E-VB  on uboot  use ping have a error message :

      TI8148_IPNC#ping 192.168.1.1

      link up on port 0, speed 100, full duplex

      Using cpsw device

     ping failed; host 192.168.1.1 is not alive

     phy is alive

    EMAC -CPSW_3G register P0_BLK_CNT have no ack  (value: 0x41)

    i have a questions how verification EMAC  and MDIO  ...data tx/rx is normal,

     

  • test way: 

       1) phy lookback :  clk ,tx/rx is ok   phy  working ok 

       2) wireshark capture arp request and replay packet ok , no found icmp packet

            EMAC -CPSW_3G register P0_BLK_CNT  value no change

       3) found two phyaddr 0x00, 0x01 (why ?)

        PHY 0x00: OUI = 0x0732, Model = 0x11, Rev = 0x05, 100baseT, FDX
        PHY 0x01: OUI = 0x0732, Model = 0x11, Rev = 0x05, 100baseT, FDX

       Where there are problems?