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.

DP83869HM: Unmanaged 100M Copper to Fiber Conversion: No FX, Probably Copper is working

Part Number: DP83869HM
Other Parts Discussed in Thread: DP83869, USB-2-MDIO

Tool/software:

Hello TI team,

I am trying to implement DP83869 in unmanaged copper to fiber mode. I perhaps see copper link, but fiber link is not established, and hence full conversion and communication is broken.
Below some steps and investigation. Please let me know what else should I check, modify and test.


I have checked below things:
1. All power supplies (3.3V, 1.1V, 2.5V) are functional

2. 25 MHz clock is fine - confirmed via checking CLK_OUT (NC on board). Clock shows clean switching with appx 57% duty (slightly longer high than low)

3. Linux OS shows message about Link established and disconnected corresponding to RJ45 connection.

4. LED0 ON, LED2 Intermittently blinking

5. LED1 OFF

6. Fiber Converter module shows no Fiber link.

7. If link loss pass through is enabled - all LEDs will be off after a short blink of LED0, and no link messages on Linux.

8. Captured all register values with USB-2-MDIO tool.

9. Tried to follow steps according to datasheet 7.4.8.6 but that did not restore the link.

Register 0000 is: 3100

Register 0001 is: 7969

Register 0002 is: 2000

Register 0003 is: A0F3

Register 0004 is: 0181

Register 0005 is: C5E1

Register 0006 is: 006D

Register 0007 is: 2001

Register 0008 is: 4800

Register 0009 is: 0000

Register 000D is: 401F

Register 000E is: F000

Register 000F is: F000

Register 0010 is: 5848

Register 0011 is: 6B02

Register 0012 is: 0000

Register 0013 is: 0000

Register 0014 is: 29C7

Register 0015 is: 0000

Register 0016 is: 0000

Register 0017 is: 0040

Register 0018 is: 6150

Register 0019 is: 4004

Register 001A is: 0002

Register 001E is: 0012

Register 001F is: 0000

Register 0025 is: 0480

Register 002C is: 141F

Register 002D is: 0000

Register 002E is: 0221

Register 0031 is: 10B1

Register 0032 is: 0050

Register 0033 is: 0000

Register 0037 is: 0000

Register 0039 is: 0000

Register 003A is: 0000

Register 0043 is: 07A0

Register 004F is: 0200

Register 0055 is: 0000

Register 006E is: 3A0C

Register 0071 is: 0000

Register 0072 is: 0000

Register 007B is: 05DC

Register 007C is: 007D

Register 0086 is: 0077

Register 00C6 is: 0000

Register 00D6 is: 0000

Register 00E9 is: 9F22

Register 00FE is: E721

Register 0134 is: 1000

Register 0135 is: 0000

Register 0136 is: 0000

Register 0137 is: 0000

Register 0138 is: 0000

Register 0139 is: 0000

Register 013A is: 0000

Register 013B is: 0000

Register 013C is: 0000

Register 013D is: 0000

Register 013E is: 0000

Register 013F is: 0000

Register 0140 is: 0000

Register 0141 is: 0000

Register 0142 is: 0000

Register 0143 is: 0000

Register 0144 is: 0000

Register 0145 is: 0000

Register 0146 is: 0000

Register 0147 is: 0000

Register 0148 is: 0000

Register 0149 is: 0000

Register 014A is: 0000

Register 014B is: 0000

Register 014C is: 0000

Register 014D is: 0000

Register 014E is: 0000

Register 014F is: 0000

Register 0150 is: 0000

Register 0151 is: 0000

Register 0152 is: 0000

Register 0153 is: 0000

Register 0154 is: 0000

Register 0155 is: 0000

Register 0156 is: 0000

Register 0157 is: 0000

Register 0158 is: 0000

Register 0159 is: 0000

Register 015A is: 0000

Register 015B is: 0000

Register 015C is: 0000

Register 015D is: 0000

Register 015E is: 0000

Register 015F is: 0000

Register 016F is: 0095

Register 0170 is: 0C0E

Register 0172 is: 0000

Register 0180 is: 0752

Register 0181 is: C850

Register 0182 is: 5326

Register 0183 is: A01E

Register 0184 is: E976

Register 0185 is: 19CF

Register 0190 is: 0000

Register 0191 is: 0000

Register 0192 is: 0000

Register 0193 is: 0000

Register 0194 is: 0000

Register 0195 is: 0000

Register 0196 is: 0000

Register 0197 is: 0000

Register 0198 is: 0000

Register 0199 is: 0000

Register 01A4 is: 0000

Register 01A5 is: 0000

Register 01A6 is: 0000

Register 01A8 is: 0000

Register 01A9 is: 0000

Register 01DF is: 0005

Register 01E0 is: 417A

Register 01EC is: 1FF5

Register 0C00 is: 2100

Register 0C01 is: 6149

Register 0C02 is: 2000

Register 0C03 is: A0F3

Register 0C04 is: 0020

Register 0C05 is: 0000

Register 0C06 is: 0000

Register 0C07 is: 2001

Register 0C08 is: 0000

Register 0C10 is: 3148

Register 0C18 is: 01FF

Register 0C19 is: 0000


  • Hi Sameer,

    I agree from your description the issue seems to be on the fiber side of this connection, however the register dump shows no link on either the copper or fiber connections.

    Is this register dump taken after the 7.4.8.6 script is written and both sides are connected? If not, can you connect both copper and fiber interfaces then check whether the LINK_STS1 (copper link status) and STTS_LINK_STATUS (fiber link status) bits are registering links? This would be:

    • Register 0x0C01[2] for fiber link status
    • Register 0x0001[2] for copper link status. This bit is latch-low, so be sure to read this twice when testing.

    Best,

    Shane

  • Hello Shane,

    Retesting this morning: Both Copper and Fiber sides connected.
    It seems bit 2 is low for both regardless. So, this confuses me more about link status activity LEDs. I can see them show up status for copper on both the converter board and Linux main board I am connecting to.

    I can share the schematics with you in private message.

    Before running script from 7.4.8.6

    0x0001: 7969

    0x0C01: 6149

    LED0 (CU LINK): ON, LED1 (FI LINK): OFF, LED2 (Activity): Intermittently blinks

    After running script from 7.4.8.6

    0x0001: 7969

    0x0C01: 6149
    I believe writing to 0x0018 changes the way LED work, and here is status:

    LED0: OFF, LED1: ON, LED2: ON

  • Hi Sameer,

    Before running 7.4.8.6, LED_0 should mirror the value in register 0x0001 [2]. The only case where this is not true is when first reading the register after the link had been low:

    • LINK_STS1 is a latch low register, meaning that if the link drops and re-initializes, the LINK_STS1 bit will stay low until it is read. This means you can get a false-low link unless you read this register twice after the link has dropped.

    Are you reading 0x0001 twice before running 7.4.8.6? You should read this twice to ensure the register is not latched low.

    You're correct that writing 0x0018 changes the LED_0 mapping to RX_ER. This would no longer track the copper link status.

    To share the schematic in a private message, please accept my friendship request and use the 'direct message' feature on E2E:

    This will create a separate space that is only viewable to you and I.

    Best,

    Shane

  • Hi Shane,

    I did read the same register multiple times, I do see it change slightly but bit 2 did not change at all in all reads.
    Values I provided were the last of the multiple reads.

    Thanks,

    Sameer

  • Hi Sameer,

    Please see my private message for feedback. I'd like to check whether the SD signal is going low when your fiber module is connected

    Best,

    Shane

  • Thanks, Shane, for helping me to resolve this.

    As pointed out by Shane, SD polarity on by fiber module was active-high, and it's active-low on the PHY.
    Shorting SD to ground enabled the interface.

    Request TI to update the datasheet.