Skip to main content
The SN40L-2 RDU module contains a baseboard management controller (BMC) and an RDU controller (RDU-C) that require periodic administration. This document covers password management, API authentication, firmware updates, and network configuration for these components.
The SN40L-2 BMC includes a built-in secure account called snservice for root password recovery. See KB article #1417 for details.

Password administration

Change the default root password on the SN40L-2 BMC immediately after initial deployment.
SambaRack and Core Services Racks ship with default credentials for all devices. See KB article #1411 for default credentials.
Procedure:
  1. Log in to the SN40L-2 BMC:
ssh root@<SN40L-2_BMC_IP>
  1. Run the passwd command:
passwd
  1. Enter and confirm the new password:
New password: <new_password>
Retype new password: <new_password>
passwd: password updated successfully

When choosing a new BMC password, be aware of the following restrictions. Passwords cannot be based on common dictionary words and must not include the # character. If the password does not meet these requirements, the system rejects the change and prompts you to choose a different password.

Generating a secure API login token

Token-based authentication eliminates the need to send plain-text passwords with REST API calls. Generate a token before using the API for power management or other BMC operations. Prerequisites:
  • Client system with network access to the SN40L-2 BMC
  • curl installed
Procedure:
  1. Generate the token:
export token=$(curl -k -H "Content-Type: application/json" -X POST \
  https://<SN40L-2_BMC_IP>/login \
  -d '{"username":"root","password":"<password>"}' \
  | grep token | awk '{print $2;}' | tr -d '"')
  1. Verify the token was created:
echo $token
Example output:
1h0Dk9xjtjsOtBkMhgIN
  1. Validate the token:
curl -k -H "X-Auth-Token: $token" \
  https://<SN40L-2_BMC_IP>/xyz/openbmc_project/
Expected output:
{
  "data": [
    "/xyz/openbmc_project/Ipmi",
    "/xyz/openbmc_project/certs",
    "/xyz/openbmc_project/user"
  ],
  "message": "200 OK",
  "status": "ok"
}
A successful response confirms the token is ready for use with other API calls, such as powering the SN40L-2 RDU module on or off.

Updating BMC and RDU-C firmware

BMC and RDU-C firmware updates must be performed in sequence on each SN40L-2 module within a node. Both the primary and recovery partitions are updated to ensure system resilience.
StepComponentPartition
1Preparation
2BMCPrimary
3BMCRecovery
4RDU-CPrimary
5RDU-CRecovery
Prerequisites:
  • Firmware file sn<XRDU_version>-xrdu-sys-fw-<fw_version>.tar.gz downloaded from the SambaNova ext-xrdu-fw repository /latest subdirectory (see KB article #1063)
  • Network access to all SN40L-2 BMCs requiring updates
Download the XRDU firmware for SN40L specifically. Firmware for other RDU versions is not compatible.

Step 1: Prepare for the update

Procedure:
  1. Shut down the node using SambaRack Manager. See Power off in Node management.
  2. Log in to each SN40L-2 BMC and reboot to clear registers:
ssh root@<SN40L-2_BMC_IP>
reboot
  1. Wait 3–5 minutes for the reboot to complete.
  2. Uncompress the firmware archive on your client system.
  3. Copy the BMC firmware files to each SN40L-2 BMC:
scp /<uncompressed_directory>/obmc/obmc-<version>* \
  root@<SN40L-2_BMC_IP>:/dev/shm/
  1. Log in and verify the files:
ssh root@<SN40L-2_BMC_IP>
ls /dev/shm/obmc*
Expected output:
obmc-<version>.mtd  obmc-<version>.mtd.md5

Step 2: Update the BMC primary partition

Procedure:
  1. Run the update:
obmcupdate -p primary -t bmc -f /dev/shm/obmc-rdu-<version>.mtd
Do not run other commands or disconnect power during the update.
  1. Wait for Erasing, Writing, and Verifying stages to reach 100%.
  2. Reboot the BMC:
reboot -f
  1. Wait 3–5 minutes, then log in:
ssh root@<SN40L-2_BMC_IP>
The update changes the BMC’s SSH host key. Remove the old entry from ~/.ssh/known_hosts if prompted.
  1. Verify the update:
obmcupdate -i
Confirm the BMC Release Version matches the applied firmware version.

Step 3: Update the BMC recovery partition

The reimage process clears /dev/shm/. Copy the firmware files again before proceeding.
/dev/shm is a temporary filesystem. Contents are lost on reboot.
Procedure:
  1. Copy the firmware files from your client system:
scp /<uncompressed_directory>/obmc/obmc-<version>* \
  root@<SN40L-2_BMC_IP>:/dev/shm/
  1. Log in and verify:
ssh root@<SN40L-2_BMC_IP>
ls /dev/shm/obmc*
  1. Run the update:
obmcupdate -p recovery -t bmc -f /dev/shm/obmc-rdu-<version>.mtd
Do not run other commands or disconnect power during the update.
  1. Wait for all stages to reach 100%.
  2. If the update fails repeatedly, contact SambaNova Support.

Step 4: Update the RDU-C primary partition

Procedure:
  1. Copy the RDU-C firmware files from your client system:
scp /<uncompressed_directory>/rduc/rduc-<version>-* \
  root@<SN40L-2_BMC_IP>:/dev/shm/
  1. Log in and verify:
ssh root@<SN40L-2_BMC_IP>
ls /dev/shm/rduc*
Expected output:
rduc-<version>-primary.spi      rduc-<version>-primary.spi.md5
rduc-<version>-recovery.spi     rduc-<version>-recovery.spi.md5
  1. Run the update:
obmcupdate -p primary -t rduc -f /dev/shm/rduc-<version>-primary.spi
Do not run other commands or disconnect power during the update.
  1. Verify the update:
obmcupdate -i
Confirm the RDU-C Release Version matches the applied firmware version.

Step 5: Update the RDU-C recovery partition

Procedure:
  1. Run the update:
obmcupdate -p recovery -t rduc -f /dev/shm/rduc-<version>-recovery.spi
  1. If issues occur during any update step, contact SambaNova Support.
After all updates complete successfully, power on the system using SambaRack Manager. See the Power on section for more details.

Configuring BMC network settings

BMC network settings are configured during initial rack delivery and typically do not require modification. Use the procedures below if reconfiguration is necessary.
When changing the SN40L-2 BMC IP address, update the IP_ADDRESS_SP# entries in /platform/network.json on both the modified BMC and any directly connected BMCs in the node.
Changing the IP address terminates active SSH sessions. Reconnect using the new IP address.

Command reference

network-settings [-h] -i [IPADDRESS] -n [NETMASK] -g [GATEWAY] -d [DNS] {static,DHCP}
OptionDescription
{static,DHCP}Network mode
-i, --ipAddressIP address (use "" for DHCP)
-n, --netMaskSubnet mask, 0–32 (any value for DHCP)
-g, --gateWayGateway address (use "" for DHCP)
-d, --dnsDNS server (use "" for DHCP)
-h, --helpDisplay help

Setting a static IP address

Procedure:
  1. Log in to the SN40L-2 BMC:
ssh root@<SN40L-2_BMC_IP>
  1. Configure the static IP:
network-settings -i "10.10.0.15" -n 24 -g "10.10.0.1" -d "10.0.0.13" static
  1. Restart the network service:
systemctl restart systemd-networkd.service
  1. Reconnect using the new IP address:
ssh root@<SN40L-2_NEW_BMC_IP>
  1. Verify the configuration:
ip address
The new IP appears as the second inet value under eth0.

Setting DHCP

Procedure:
  1. Log in to the SN40L-2 BMC:
ssh root@<SN40L-2_BMC_IP>
  1. Configure DHCP:
network-settings -i "" -n 0 -g "" -d "" DHCP
  1. Restart the network service:
systemctl restart systemd-networkd.service
  1. Reconnect using the DHCP-assigned IP address and verify the configuration.

Configuring BMC hostname

Procedure:
  1. Log in to the SN40L-2 BMC:
ssh root@<SN40L-2_BMC_IP>
  1. Set the hostname:
hostnamectl set-hostname <hostname>
  1. Log out and log back in to verify the new hostname appears in the prompt.