DP83822I: force 100M mode,it can not link

Part Number: DP83822I

Tool/software:

Hi:

When the network port is set to auto mode and directly connected to the PC (auto), the network port can be pinged normally
When the network port is set to 10M mode, it can be directly connected to the PC and pinged normally;
When the network port is set to 100M full duplex or half duplex mode, if it is directly connected to the PC (neither set to auto nor the corresponding mode), the network port cannot be pinged and the network port lights are not on.
when in auto mode,I read the register of the phy ,the speed is 100M (that is right),I read out the contents of the phy register in auto mode and forced 100M mode as follows for compare: 
please help to check why force 100M can not link,thanks


register value (auto mode) value ( force 100M)
0 0x3100 0x2100
1 0x786d 0x7849
2 0x2000 0x2000
3 0xa240 0xa240
4 0xe51 0xe51
5 0xdde1 0
6 0xd 4
7 0x2001 0x2001
8 0x6801 0
9 0 0
0xa 0x100 0x100
0xb 0x1000 0x1000
0xc 0 0
0xf 0 0
0x10 0x4615 0x4004 和0x4跳变
0x11 0x108 0x108
0x12 0 0
0x13 0 0x800
0x14 0 0
0x15 0 0
0x16 0x100 0x100
0x17 0x65 0x61
0x18 0x400 0x400
0x19 0xbc21 0x8021
0x1a 0 0
0x1b 0x7d 0x7d
0x1c 0x5ee 0x5ee
0x1d 0 0
0x1e 0x102 0x102
0x1f 0 0
0x25 0xdde1 0
0x467 0xfef 0xfef
0x468 0 0
  • Hi,

    When you make these changes, is the PC still in auto-negotiation and auto-MDIX or have you also changed them to be in forced mode?

    Could you try enabling Robust Auto MDIX and see if that creates a link?

    Thanks

    David

  • Hi
    1) When I test ,PC is still in auto mode ,and I also change PC to force 100M ,But it still can not link;
    2) I try to enable Robust Auto MDIX ,it can link success 
    What is the reason for this? Do I need to make any adjustments in the driver? Our current kernel version is based on 5.10.238
    Thanks

  • Hi,

    When Robust Auto MDIX enabled, it gives the link partner auto MDI/MDIX more time to prevent deadlock in case the link partner is taking too much time before switching.

    Thanks

    David

  • Can I enable this bit during initialization so that the value does not change after enabling it? Will there be any other impact?

  • And,I checked in the datasheet,the Auto-MDIX can be enabled in hardware,I confirmed with our hadware,they  set  default mode,that's AMDIX_EN is enabled,So software registers 0x9 should not need to be set separately anymore,but in fact the register still need to be set ,why ?


  • Hi, 

    AUTO-MDIX uses the Auto-negotiation protocol to determine if a straight or a crossover cable for the connection. So if Auto-negotiation is disabled, then AUTO-MDIX gets disabled as well. 

    So if you are disabling Auto-negotiation, I would recommend to set the Robust Auto MDIX bit in register 0x09.

    But one question, why do you want to disable Auto-negotiation in the first place?

    Thanks

    David

  • Hi:
    1) We are not prohibiting the automatic negotiation mode, but all of these modes are need to be supported. so We found this issue during the force mode.
    2)about this part,Even in forced mode, due to hardware enablement, bit 15 of register 19 is enabled. Since that's the case, why do we still need to enable bit 5 of register 9 in forced mode? Aren't they all enable the capablility  of auto MDIX ?

  • Hi, 

    The following settings are ok when auto-negotiation is disabled.

    Auto-Negotiation Enable Auto-MDIX Enable Robust Auto-MDIX
    0 0 0
    0 1 1

    If auto-negotiation is disabled, Auto-MDIX should also be disabled. If auto-MDIX is desired, both Auto-MDIX and Robust Auto-MDIX should be enabled. This is to give the link partner(PC) auto MDI/MDIX more time to prevent deadlock in case the PC is taking too much time before switching.

    Thanks

    David

  • hi:
    ok,got it,but If it is necessary to enable Auto MDIX and Robust Auto MDIX when the auto mode is disabled, then this should be a common issue when in force mode. However, I see that the standard dp83822 driver in the kernel does not have a separate configuration operation for register 9

  • Hi,

    It is not a common issue, we have seen with certain link partner. You can add this configuration option to the DP83822 driver in the Linux Kernel.

    Thanks

    David