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: 1000Base-X half duplex fiber mode not working

Part Number: DP83869HM
Other Parts Discussed in Thread: DP83869

I am currently able to send 1000base-X full duplex fiber traffic between 2 DP83869 PHYs but I need to be able to go down to half duplex mode so only a single LC fiber cable is needed.  

I have tried writing bit 8 of register 0x00 to 0 to enable half duplex mode but reading back register 0x11 bit 13, it would still report full duplex.  Disconnecting any of the 4 fiber cables will stop a link/data from passing.  I have a 2-to-1 fiber converter that I tried also and it seems that the receiver can still receive when a single cable is inserted but the TX seems to require RX to see a signal in order to send.

  • Hello,

    If you are trying to switch between full duplex and half duplex mode through register writes, we recommend going through a software reset after this change has been made. Additionally, you can also disable autonegotiation advertisement for full duplex in register 0x4.

    Sincerely,

    Gerome

  • After digging into this further, I have realized that half duplex mode is not what I am looking for. 

    I still want to be able to send traffic while using only a single LC fiber cable between 2 SFPs.  I only care about traffic going in one direction.  Is there a way to tell the PHY/SFP to transmit no matter what? It seems like the Tx port requires seeing a link on the Rx port in order to send

  • Hello,

    Register 0x10 bit 10 might handle this case. It is the Force_Link_Good bit, which if written as '1', can force the link as long as the speed is 1GB, which looks like it is in your application.

    Sincerely,

    Gerome

  • Hi,

    I tried writing 1 to 0x10 bit 10 and it did not work.  I did this on the send and receive PHY.  Any other ideas?

  • After doing some more tests, I have more details that could help with this.  

    Test environment was streaming UDP data with a duplex fiber cable to start and verifying data was passing then unplugging the Rx half from the dedicated transmit SFP and seeing data stop transmitting. Then I monitored Rx and Tx signals with an oscilloscope in each configuration.

    Looking at the Tx RGMII lines (4 data, 1 clk and 1 ctrl) that were before the PHY, and the Tx Fiber differential pair + and - that were after the PHY, they did not visibly change in either duplex or simplex fiber operation.

    However, looking at the equivalent signals on the Rx RGMII lines and Rx Fiber differential pair + and -, all signals, except for RGMII RX ctrl were the same in either mode.  The RGMII Rx control was flat when operating in simplex mode, which seems to be the issue here.  The other signals did not change.  

    After seeing this, it appears that the RGMII ctrl signal cannot be recovered when going from one SFP to the other when running in simplex.  Are there any registers that will force this signal to be transmitted? I know you suggested the Force_Link_Good bit but that didnt seem to work.

  • Hi Raymond,

    Thank you for the additional information. I am trying to dig more into this issue with this new information. I should have more information by Tuesday next week.

    Sincerely,
    Gerome

  • Hi Raymond,

    Some additional followup questions:

    1) What is the RX clock frequency before and after you unplug the RX portion?

    2) What happens to the link indication status before and after unplugging the RX portion?

    3) Is the use case for the PHY calling for you to start in duplex mode, and then disconnect the RX cable? Or do you start in the latter condition?

    Sincerely,

    Gerome

  • 1) RGMII RX/TX CLK frequency is 125Mhz before and after unplugging RX portion, the signal did not change on Tx RGMII clk and Rx RGMII clk.

    2) In my base setup, there is no link indication status, except for register reads.  I do not know off the top of my head right now, but I will double check this as soon as I get the chance.

    edit: In simplex mode on the Tx side, register x01 reads x6149 and in duplex mode reads x614d, so it seems there is not link detected in simplex mode. Hope this leads to something

    3) No, we want to be able to have a simplex connection from the start and leave in simplex 100% of the time.

    Another update.  It turns out that I will randomly see small bursts of UDP packets when in simplex mode.  Sometimes it happens more frequently than others and sometimes the last packet sent will be cut off and viewing in wirehshark, there is a UDP length error.  It seems like some signal is out of sync for most of the time, then happens to line up with the data stream coming in for just enough time to get ~100-250 packets through before it goes out of sync again.  Any further suggestions would be appreciated 

  • Hi Raymond,

    After speaking with the team, it has been determined that the RX connection is needed for link synchronization per IEEE standard when the packet data is needing to transmit. Therefore, it looks like you need that connection, even though data is not intended to be sent through in that direction, for link purposes. There is no other way around this.

    Sincerely,
    Gerome