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.

DP83867IR: 1000 base auto negotiation error

Part Number: DP83867IR

hi

1. In the evaluation,
A connection failure of 1000Base has occurred. Please tell me the possible cause and the your advice (register setting).

(Phenomenon)
When connecting to a 1000Base PC and auto negotiation,
PC side recognizes as 100Base
PHY side recognizes as 1000Base
The status become link up and the communication can not be performed.

(TEST condition)
Cable: Category 5e Cross 1m : the issue is 100% repeatable
  >> No problem with 3m cable
  >> Sometimes reproduced even with straight cable
  >>There is no problem with Category 6 cable.
  >>There is no problem with 1000base compliance test of LAN.
  >>Customer think, Cable is no problem, because it was normal operation between PC and HUB by 1000base.


2. Could you please let me know the method of setting for limiting to only 100base/10base operation in the auto negotiation setting?
   (In auto negotiation, only 1000base is excluded)

Muk

  • Hi Mukuno-san,

    Can you ask customer to read register 0x04, 0x09, 0x10, 0x31, 0x6E, 0x6F?

    Is RX_CTRL strapped to mode 3?

    For disabling 1000Mbps autonegotiation advertisement, customer can write 0x0000 to register 0x09.

    -Regards

    Aniruddha

  • Hi Aniruddha-san

    Thank you for your reply.

    Customer checked those resister. Please refer below, 

    Register                               At Initial         At connection error  
    0x0004: ANAR                    = 0x01e1         = 0x05e1 
    0x0009: CFG1                    = 0x0300         = 0x0200 
    0x0010: PHYCR                 = 0x4000         = 0x4000 
    0x0031: CFG4                    = 0x0002         = 0x6c02 
    0x006e: STRAP_STS1      = 0x0000          = 0x0000 
    0x006f: STRAP_STS2       = 0x3000          = 0x3000

    Also, RX_CTRL is strapped to mode 3

    Customer tried the advice in the following session. However, it is not solved.

    e2e.ti.com/.../718666

    Could you please support us?

    Muk

  • Hi Muk,

    It looks like MAC is changing register setting for 0x0004 and 0x0009. Is MAC also changing other registers?

    For reading register 0x31, 0x6E, 0x6F extended register access is needed. Can you confirm if this was implemented?

    -Regards

    Aniruddha

  • Hi Aniruddha-san,

    I attached the registers reading results. Could you please check it?

    Muk

    PHY_register_0730.xlsx

  • Hi Muk,

    I think there is some misunderstanding, I want to know why the register 0x0009 is showing 0x0200 in the failing case. It should be 0x0300. Is the MAC changing the register? If yes, is the MAC changing any other register? Also register 0x10 should be 0x5048.

    Can you try writing register 0x0009 with  data 0x0300 and writing register 0x0010 with data 0x5048 and try link up test?

    -Regards

    Aniruddha

  • Hi Aniruddha-san,

    Thank you for your supporting.

    New information, This issue was occurred when they use cross cable as below,

    DP83867 detected as 1000base when they connected this cable. (it is no issue, if DP83867 will detect 100base)

    Address 0x000A[bit11].  The read result after connection error was "1 (Link Partner capable of 1000Base-T Full Duplex)".

    However, address 0x0011[bit 15:13] = 011, Speed selection is 01(100Mbps), Duplex mode is 1(Full duplex).

    Regarding Address 0x0009. customer set 0x0300 at initialization. However, the read result after connection error was 0x0200. 

    They are checking MAC side.

    I found following register information in Address 0x0010(PHYCR)

    Regarding MDI crossover setting, They set 0x4000 for this register. I think, the Automatic crossover is disabled.

    Also, customer have some questions about this register.

    Is it  RO(read only) register? If yes, Customer cannot write this register, right?

    If customer can change this register value,

    - In case of they set bit6=1, bit5 is no care. Is it correct? 

    - Can DP83867 detect 100base even if they use T568A/T568B cable by setting this register?

    - When should they set this register? Boot loader start timing? or OS start timing? 

    Muk

  • Hi Muk,

    Register 0x10 is read write so customer should be able to change the settings. From my previous post, I would say keep the value of register 0x10 as 0x5048. T568A/T568B should both be ok. There is not specific time when this register needs to be programmed. I would just recommend checking the software code to see if some part of the code is changing register 0x09 and 0x10. 

    -Regards

    Aniruddha