Skip to content

Conversation

@aalamsi22
Copy link
Contributor

@aalamsi22 aalamsi22 commented Feb 3, 2026

Pre-submission checklist

  • I've ran the linters locally and fixed lint errors related to the files I modified in this PR. You can install the linters by running pip install -r requirements-dev.txt && pre-commit install
  • pre-commit run

Summary

This is the ninth PR in a series of PRs to add support for ICECUBE800BANW.

Platform manager and weutil assume an SCM eeprom target exists because we are reusing the MERU intel i2c-i801 driver workaround around which just manually creates an scm target. These changes add temporary special handling of the smb eeprom until a long term solution is introduced.

# ls /run/devmap/eeproms/ -al
total 20
drwxr-xr-x  2 root root   100 Jan 30 17:39 .
drwxr-xr-x 10 root root   200 Jan 30 17:37 ..
lrwxrwxrwx  1 root root    35 Jan 30 17:39 CHASSIS_EEPROM -> /sys/bus/i2c/devices/10-0050/eeprom
-rw-r--r--  1 root root 16384 Jan 30 17:37 SMB_EEPROM
-rw-r--r--  1 root root   753 Jan 30 17:39 SMB_EEPROM_PARSED

# weutil --list
Name:SMB Path:/run/devmap/eeproms/SMB_EEPROM Offset:15360
Name:CHASSIS Path:/run/devmap/eeproms/CHASSIS_EEPROM Offset:15360

PRs in this series, ordered by landing priority:

  1. ICECUBE800BANW: New platform definition & Platform Mapping #873
  2. ICECUBE800BANW: bsp mapping #871
  3. ICECUBE800BANW: qsfp_service support #870
  4. ICECUBE800BANW: led service support #875
  5. ICECUBE800BANW: vendor mapping and asic config #874
  6. ICECUBE800BANW: initial test_configs #877
  7. ICECUBE800BANW: Platform_manager support #845
  8. ICECUBE800BANW: sensor_service config #846
  9. ICECUBE800BANW: handle smb eeprom on cpu bus #892 (THIS PR)

Landing Priority: This PR should be landed ninth.

Test Plan

These tests apply to all the PRS in the priority list above

sw_tests

All sw_tests are passing

platform_hw_test

# platform_hw_test -config-file /opt/fboss/share/platform_configs/platform_manager.json
[==========] Running 2 tests from 1 test suite.
[----------] Global test environment set-up.
[----------] 2 tests from PlatformHwTest
[ RUN      ] PlatformHwTest.CorrectMacX86
I0130 17:48:21.349339  3529 PlatformNameLib.cpp:56] Getting platform name from bios using dmidecode ...
I0130 17:48:21.351416  3529 PlatformNameLib.cpp:66] Platform name inferred from bios: ICECUBE800BANW
I0130 17:48:21.351424  3529 PlatformNameLib.cpp:68] Platform name mapped: ICECUBE800BANW
I0130 17:48:21.351717  3529 ConfigLib.cpp:50] Using config file: /opt/fboss/share/platform_configs/platform_manager.json
I0130 17:48:21.351956  3529 ConfigValidator.cpp:666] Validating platform_manager config
I0130 17:48:21.351993  3529 ConfigValidator.cpp:707] Validating SlotTypeConfig for Slot SMB_SLOT...
I0130 17:48:21.352001  3529 ConfigValidator.cpp:724] Validating PmUnitConfig for PmUnit SMB in Slot SMB_SLOT...
I0130 17:48:21.375403  3529 ConfigValidator.cpp:771] Validating Symbolic links...
I0130 17:48:25.561958  3529 ConfigValidator.cpp:778] Validating Transceiver symbolic links...
I0130 17:48:25.562065  3529 ConfigLib.cpp:50] Using config file: /opt/fboss/share/platform_configs/platform_manager.json
I0130 17:48:25.562348  3529 MacAddressCheck.cpp:99] eepromName: SMB x86CpuMac: b8:a1:b8:a5:4c:ee
[       OK ] PlatformHwTest.CorrectMacX86 (15050 ms)
[ RUN      ] PlatformHwTest.PCIDevicesPresent
I0130 17:48:36.399600  3529 PlatformNameLib.cpp:56] Getting platform name from bios using dmidecode ...
I0130 17:48:36.401355  3529 PlatformNameLib.cpp:66] Platform name inferred from bios: ICECUBE800BANW
I0130 17:48:36.401361  3529 PlatformNameLib.cpp:68] Platform name mapped: ICECUBE800BANW
I0130 17:48:36.401553  3529 ConfigLib.cpp:50] Using config file: /opt/fboss/share/platform_configs/platform_manager.json
I0130 17:48:36.401744  3529 ConfigValidator.cpp:666] Validating platform_manager config
I0130 17:48:36.401767  3529 ConfigValidator.cpp:707] Validating SlotTypeConfig for Slot SMB_SLOT...
I0130 17:48:36.401772  3529 ConfigValidator.cpp:724] Validating PmUnitConfig for PmUnit SMB in Slot SMB_SLOT...
I0130 17:48:36.424476  3529 ConfigValidator.cpp:771] Validating Symbolic links...
I0130 17:48:40.593261  3529 ConfigValidator.cpp:778] Validating Transceiver symbolic links...
I0130 17:48:40.593371  3529 ConfigLib.cpp:50] Using config file: /opt/fboss/share/platform_configs/platform_manager.json
[       OK ] PlatformHwTest.PCIDevicesPresent (4196 ms)
[----------] 2 tests from PlatformHwTest (19246 ms total)

[----------] Global test environment tear-down
[==========] 2 tests from 1 test suite ran. (19246 ms total)
[  PASSED  ] 2 tests.

platform_manager_hw_test

# platform_manager_hw_test --config-file /opt/fboss/share/platform_configs/platform_manager.json -noenable_pkg_mgmnt
...
[       OK ] PlatformManagerHwTest.XcvrLedFiles (28708 ms)
[----------] 8 tests from PlatformManagerHwTest (360987 ms total)

[----------] Global test environment tear-down
[==========] 8 tests from 1 test suite ran. (360987 ms total)
[  PASSED  ] 8 tests.

weutil_hw_test

# weutil_hw_test -config-file /opt/fboss/share/platform_configs/platform_manager.json
[==========] Running 4 tests from 1 test suite.
[----------] Global test environment set-up.
[----------] 4 tests from WeutilTest
[ RUN      ] WeutilTest.getWedgeInfo
I0130 17:45:53.775881  3527 PlatformNameLib.cpp:80] Platform name read from cache: ICECUBE800BANW
I0130 17:45:53.775932  3527 PlatformNameLib.cpp:80] Platform name read from cache: ICECUBE800BANW
I0130 17:45:53.775943  3527 ConfigLib.cpp:50] Using config file: /opt/fboss/share/platform_configs/platform_manager.json
I0130 17:45:53.776247  3527 ConfigLib.cpp:50] Using config file: /opt/fboss/share/platform_configs/platform_manager.json
[       OK ] WeutilTest.getWedgeInfo (10864 ms)
[ RUN      ] WeutilTest.getEepromPaths
I0130 17:46:04.640549  3527 PlatformNameLib.cpp:80] Platform name read from cache: ICECUBE800BANW
I0130 17:46:04.640561  3527 PlatformNameLib.cpp:80] Platform name read from cache: ICECUBE800BANW
I0130 17:46:04.640565  3527 ConfigLib.cpp:50] Using config file: /opt/fboss/share/platform_configs/platform_manager.json
I0130 17:46:04.640793  3527 ConfigLib.cpp:50] Using config file: /opt/fboss/share/platform_configs/platform_manager.json
[       OK ] WeutilTest.getEepromPaths (0 ms)
[ RUN      ] WeutilTest.ValidateAllEepromContents
I0130 17:46:04.641027  3527 PlatformNameLib.cpp:80] Platform name read from cache: ICECUBE800BANW
I0130 17:46:04.641035  3527 PlatformNameLib.cpp:80] Platform name read from cache: ICECUBE800BANW
I0130 17:46:04.641040  3527 ConfigLib.cpp:50] Using config file: /opt/fboss/share/platform_configs/platform_manager.json
I0130 17:46:04.641255  3527 ConfigLib.cpp:50] Using config file: /opt/fboss/share/platform_configs/platform_manager.json
I0130 17:46:04.641474  3527 PlatformNameLib.cpp:80] Platform name read from cache: ICECUBE800BANW
I0130 17:46:04.641483  3527 PlatformNameLib.cpp:80] Platform name read from cache: ICECUBE800BANW
I0130 17:46:04.641488  3527 ConfigLib.cpp:50] Using config file: /opt/fboss/share/platform_configs/platform_manager.json
I0130 17:46:15.594639  3527 PlatformNameLib.cpp:80] Platform name read from cache: ICECUBE800BANW
I0130 17:46:15.594650  3527 ConfigLib.cpp:50] Using config file: /opt/fboss/share/platform_configs/platform_manager.json
[       OK ] WeutilTest.ValidateAllEepromContents (10953 ms)
[ RUN      ] WeutilTest.getInfoJson
I0130 17:46:15.594936  3527 PlatformNameLib.cpp:80] Platform name read from cache: ICECUBE800BANW
I0130 17:46:15.594945  3527 PlatformNameLib.cpp:80] Platform name read from cache: ICECUBE800BANW
I0130 17:46:15.594950  3527 ConfigLib.cpp:50] Using config file: /opt/fboss/share/platform_configs/platform_manager.json
I0130 17:46:15.595166  3527 ConfigLib.cpp:50] Using config file: /opt/fboss/share/platform_configs/platform_manager.json
I0130 17:46:15.595397  3527 PlatformNameLib.cpp:80] Platform name read from cache: ICECUBE800BANW
I0130 17:46:37.295608  3527 PlatformNameLib.cpp:80] Platform name read from cache: ICECUBE800BANW
[       OK ] WeutilTest.getInfoJson (21700 ms)
[----------] 4 tests from WeutilTest (43519 ms total)

[----------] Global test environment tear-down
[==========] 4 tests from 1 test suite ran. (43519 ms total)
[  PASSED  ] 4 tests.

sensor_service_hw_test

# sensor_service_hw_test --config_file /opt/fboss/share/platform_configs/sensor_service.json
[==========] Running 6 tests from 1 test suite.
[----------] Global test environment set-up.
[----------] 6 tests from SensorServiceHwTest
[ RUN      ] SensorServiceHwTest.GetAllSensors
I0202 19:21:13.649553  7765 PlatformNameLib.cpp:80] Platform name read from cache: ICECUBE800BANW
I0202 19:21:13.649596  7765 ConfigLib.cpp:50] Using config file: /opt/fboss/share/platform_configs/sensor_service.json
...
[----------] 6 tests from SensorServiceHwTest (11238 ms total)

[----------] Global test environment tear-down
[==========] 6 tests from 1 test suite ran. (11238 ms total)
[  PASSED  ] 6 tests.

data_corral_service_hw_test

# data_corral_service_hw_test --led_manager_config_file /opt/fboss/share/platform_configs/led_manager.json --platform_manager_config_file /opt/fboss/share/platform_configs/platform_manage
r.json
[==========] Running 5 tests from 1 test suite.
[----------] Global test environment set-up.
...
[       OK ] DataCorralServiceHwTest.testThrift (13818 ms)
[----------] 5 tests from DataCorralServiceHwTest (41691 ms total)

[----------] Global test environment tear-down
[==========] 5 tests from 1 test suite ran. (41691 ms total)
[  PASSED  ] 5 tests.

led_service_hw_test
LEDS were physically confirmed as well

# led_service_hw_test
[       OK ] LedServiceTest.checkLedBlinking (142307 ms)
[----------] 3 tests from LedServiceTest (579065 ms total)
...
[----------] Global test environment tear-down
[==========] 3 tests from 1 test suite ran. (579065 ms total)
[  PASSED  ] 3 tests.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants