x86: add support for Mellanox Spectrum SN2000 Switches
authorTil Kaiser <til.kaiser@gmx.de>
Fri, 15 Sep 2023 12:06:38 +0000 (14:06 +0200)
committerDavid Bauer <mail@david-bauer.net>
Tue, 31 Oct 2023 20:12:15 +0000 (21:12 +0100)
The Mellanox Spectrum SN2000 Series Switches are Managed Ethernet
Switches with a maximum speed of 100Gb/s and up to 56 ports.

Tested on a Mellanox Spectrum SN2100 with the following specs:
 - CPU: Intel ATOM x86 dual-core 2.4GHz
 - RAM: 8GB
 - Disk: 16GB SSD
 - Ports: 16x QSFP28 100GbE, 1x 100M Mgmt Port, 1x RJ45 Serial Port
 - USB: 1x mini 2.0
 - Button: 1x (reset)
 - LEDs: 6x

Installation:
 - Create a bootable USB device (either by flashing this image
   onto it or another Linux distribution)
 - Unzip the generic OpenWrt x64 image
   and copy it onto the USB device
 - Plug the USB device into the Mellanox Switch and boot from it
 - Flash the image (e.g., with dd) onto the internal SSD
   of the switch (should be /dev/sda)

To enter the BIOS, reboot the switch and press CTRL+B while you see
the BIOS information text (American Megatrends …). The default password
to enter the BIOS is admin. To boot from the USB device, switch to the
Boot index tab and set your USB device at the top of the boot order
(the internal SSD should be currently there). Don't forget to set
the SSD back at the top after you have flashed the image.

Signed-off-by: Til Kaiser <til.kaiser@gmx.de>
[unify with generic x64 image]
Signed-off-by: David Bauer <mail@david-bauer.net>
target/linux/x86/base-files/etc/board.d/02_network
target/linux/x86/image/64.mk

index e00e8c04dd25c2b46dfc1ecaeb3d06d6826e2a08..0a0f32eb801ce66cac599b7a277a2e22d9af63a5 100644 (file)
@@ -31,6 +31,9 @@ cisco-mx100-hw)
        ucidef_set_network_device_path "eth11" "pci0000:00/0000:00:01.1/0000:02:00.2"
        ucidef_set_interfaces_lan_wan "mgmt eth2 eth3 eth4 eth5 eth6 eth7 eth8 eth9 eth10 eth11" "wan"
        ;;
+mellanox-technologies-ltd-msn2100)
+       ucidef_set_interface_lan "eth1 eth2 eth3 eth4 eth5 eth6 eth7 eth8 eth9 eth10 eth11 eth12 eth13 eth14 eth15 eth16"
+       ;;
 pc-engines-apu1|pc-engines-apu2|pc-engines-apu3)
        ucidef_set_interfaces_lan_wan "eth1 eth2" "eth0"
        ;;
index 5ec9978b667dedab3dbc5bf5e553d642300d0d42..718ff4f63d7c965a7c8b60950220aadd460a2d71 100644 (file)
@@ -4,7 +4,11 @@ define Device/generic
   DEVICE_PACKAGES += \
        kmod-amazon-ena kmod-amd-xgbe kmod-bnx2 kmod-e1000e kmod-e1000 \
        kmod-forcedeth kmod-fs-vfat kmod-igb kmod-igc kmod-ixgbe kmod-r8169 \
-       kmod-tg3
+       kmod-tg3 kmod-mlxsw-core kmod-mlxsw-pci kmod-mlxsw-i2c \
+       kmod-mlxsw-spectrum kmod-mlxsw-minimal kmod-mlxfw \
+       kmod-leds-mlxcpld kmod-lib-objagg kmod-lib-parman \
+       kmod-hwmon-coretemp kmod-hwmon-drivetemp kmod-hwmon-jc42 \
+       kmod-i2c-i801 mlxsw_spectrum-firmware
   GRUB2_VARIANT := generic
 endef
 TARGET_DEVICES += generic