Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AS5712-54X: Things left to do for PDDF #3

Open
bluecmd opened this issue Apr 7, 2023 · 0 comments
Open

AS5712-54X: Things left to do for PDDF #3

bluecmd opened this issue Apr 7, 2023 · 0 comments

Comments

@bluecmd
Copy link
Member

bluecmd commented Apr 7, 2023

Almost everything seems to work, but here are some issues found that should be fixed:

No LEDs have been defined

Need to be on-site for this.

UPDATE: Back LEDs seem to be fine as is, they are showing green when OK and amber/red when not. Front LEDs PS1, PS2 and FAN are automatic as well. DIAG and LOC are left and should be implemented.

#define LED_TYPE_DIAG_REG_MASK    0x0C
#define LED_MODE_DIAG_GREEN_MASK  0x08
#define LED_MODE_DIAG_AMBER_MASK  0x04
#define LED_MODE_DIAG_OFF_MASK    0x0C

#define LED_TYPE_LOC_REG_MASK     0x30
#define LED_MODE_LOC_ON_MASK      0x00
#define LED_MODE_LOC_OFF_MASK     0x10
#define LED_MODE_LOC_BLINK_MASK   0x20

/* CPLD 0x60 offsets */
static const u8 led_reg[] = {
    0xA,        /* LOC/DIAG/FAN LED*/
    0xB,        /* PSU1/PSU2 LED */
    0x16,      /* FAN1-4 LED */
    0x17,      /* FAN4-6 LED */
};

Verified that this works:

# Set diag to green and turn of LOC
i2cset -y 1 0x60 0xa 0x18 b

PSU automatic status led logic still works with mask set.

PSU has wrong voltage (scaling? PSU2 weird voltage?):

UPDATE: Confirmed ball park figures are correct with regards to power on the PSUs. It is under-reporting by about 20% with one and two PSUs active. Probably correct given losses in conversion.

UPDATE: Confirmed that one of the PSUs always report ~8 V and the other ~12 V. It moves around when unplugging/plugging PSUs so it's probably a load thing leading to a voltage drop.

UPDATE: "Not present" detection verified working, shows "NOT PRESENT" when PSUs are hot removed and OK after added again. Also fan data.

admin@sonic:~$ show platform psustatus
PSU    Model    Serial    HW Rev      Voltage (V)    Current (A)    Power (W)  Status    LED
-----  -------  --------  --------  -------------  -------------  -----------  --------  -----
PSU 1  N/A      N/A       N/A             1224.00           3.06        38.00  OK        green
PSU 2  N/A      N/A       N/A              816.00           3.50        42.00  OK        green

Fan order wrong

When pulling the fan next to PSU 1:

Apr 08 12:10:25 Fantray1  green  Fantray1_1      N/A          N/A  Not Present       N/A  20230408 12:09:57
Apr 08 12:10:25 Fantray1  green  Fantray1_2      50%        False      Present        OK  20230408 12:09:57
Apr 08 12:10:25 Fantray2  green  Fantray2_1      50%        False      Present        OK  20230408 12:09:57
Apr 08 12:10:25 Fantray2  green  Fantray2_2      50%        False      Present        OK  20230408 12:09:57
Apr 08 12:10:25 Fantray3  green  Fantray3_1      50%        False      Present        OK  20230408 12:09:57
Apr 08 12:10:25 Fantray3  green  Fantray3_2      N/A          N/A  Not Present       N/A  20230408 12:09:57
Apr 08 12:10:25 Fantray4  green  Fantray4_1      50%        False      Present        OK  20230408 12:09:57
Apr 08 12:10:25 Fantray4  green  Fantray4_2      50%        False      Present        OK  20230408 12:09:57
Apr 08 12:10:25 Fantray5  green  Fantray5_1      50%        False      Present        OK  20230408 12:09:57
Apr 08 12:10:25 Fantray5  green  Fantray5_2      50%        False      Present        OK  20230408 12:09:57
Apr 08 12:10:25      N/A  green   PSU1_FAN1      34%                   Present        OK  20230408 12:09:57
Apr 08 12:10:25      N/A  green   PSU2_FAN1      34%                   Present        OK  20230408 12:09:57

Probably just need to change the definition order or IDX.

**QSFP ports not shown in show int transceiver presence ** on default breakout config:

...
Ethernet63  Not present
Ethernet64  Not present
Ethernet65  Not present
Ethernet66  Not present
Ethernet67  Not present
Ethernet68  Not present
Ethernet69  Not present
Ethernet70  Not present
Ethernet71  Not present

nor in 40G mode:

 Ethernet48     97,98,99,100      40G   9100    N/A   QSFP49  routed      up       up             N/A         N/A
 Ethernet52  101,102,103,104      40G   9100    N/A   QSFP50  routed    down       up             N/A         N/A
 Ethernet56      81,82,83,84      40G   9100    N/A   QSFP51  routed    down       up             N/A         N/A
 Ethernet60  105,106,107,108      40G   9100    N/A   QSFP52  routed      up       up             N/A         N/A
 Ethernet64  109,110,111,112      40G   9100    N/A   QSFP53  routed    down       up             N/A         N/A
 Ethernet68      77,78,79,80      40G   9100    N/A   QSFP54  routed      up       up             N/A         N/A

But is shown in sfputil show presence

EDIT: After about 15 min or something they do show up:

 Ethernet48     97,98,99,100      40G   9100    N/A   QSFP49  routed      up       up  QSFP+ or later with SFF-8636 or SFF-8436         N/A
 Ethernet52  101,102,103,104      40G   9100    N/A   QSFP50  routed    down       up  QSFP+ or later with SFF-8636 or SFF-8436         N/A
 Ethernet56      81,82,83,84      40G   9100    N/A   QSFP51  routed    down       up  QSFP+ or later with SFF-8636 or SFF-8436         N/A
 Ethernet60  105,106,107,108      40G   9100    N/A   QSFP52  routed      up       up  QSFP+ or later with SFF-8636 or SFF-8436         N/A
 Ethernet64  109,110,111,112      40G   9100    N/A   QSFP53  routed    down       up  QSFP+ or later with SFF-8636 or SFF-8436         N/A
 Ethernet68      77,78,79,80      40G   9100    N/A   QSFP54   trunk      up       up  QSFP+ or later with SFF-8636 or SFF-8436         N/A

**Log spam for pddf_cpldmux_select_default and pddf_cpldmux_deselect_default, ** change to debug level:

[  166.758654] PDDF_CPLDMUX     pddf_cpldmux_select_default: Writing 0x11 at 0x2 offset of cpld 0x61 to enable chan 17
[  166.767049] PDDF_CPLDMUX     pddf_cpldmux_deselect_default: Writing 0xff at 0x2 offset of cpld 0x61 to disable chan 17
[  166.770809] PDDF_CPLDMUX     pddf_cpldmux_select_default: Writing 0x11 at 0x2 offset of cpld 0x61 to enable chan 17
[  166.779182] PDDF_CPLDMUX     pddf_cpldmux_deselect_default: Writing 0xff at 0x2 offset of cpld 0x61 to disable chan 17
[  166.783003] PDDF_CPLDMUX     pddf_cpldmux_select_default: Writing 0x11 at 0x2 offset of cpld 0x61 to enable chan 17
[  166.788436] PDDF_CPLDMUX     pddf_cpldmux_deselect_default: Writing 0xff at 0x2 offset of cpld 0x61 to disable chan 17
[  166.792213] PDDF_CPLDMUX     pddf_cpldmux_select_default: Writing 0x11 at 0x2 offset of cpld 0x61 to enable chan 17
[  166.798618] PDDF_CPLDMUX     pddf_cpldmux_deselect_default: Writing 0xff at 0x2 offset of cpld 0x61 to disable chan 17
[  166.802420] PDDF_CPLDMUX     pddf_cpldmux_select_default: Writing 0x11 at 0x2 offset of cpld 0x61 to enable chan 17
[  166.807851] PDDF_CPLDMUX     pddf_cpldmux_deselect_default: Writing 0xff at 0x2 offset of cpld 0x61 to disable chan 17

TX disable & QSFP Reset are not set correctly

Have to enable them manually.

for i in $(sudo find /sys/ | grep xcvr_reset); do echo 0 | sudo tee $i; done
for i in $(sudo find /sys/ | grep xcvr_txdisable); do echo 0 | sudo tee $i; done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant