AS5712-54X: Things left to do for PDDF
bluecmd opened this issue · comments
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