I've read through the first 17 pages and didn't see any useful information at all. My short term goal is of course to get MLNX-OS installed, but my long term goal is to create a custom Linux distribution similar to Cumulus, et. al. just for these PPC based SwitchX-2 switches. I have some outstanding questions:
What is the password for Mellanox’s U-Boot menu?
Where is the password stored in memory, has anyone tried to crack it?
How to reset or change the password for Mellanox's U-Boot if it is unknown? I found a post on how to change the MLNX-OS U-Boot password, boot the switch into MLNX-OS and then from the admin console run the following:
Code:
enable
configure terminal
boot bootmgr password 7 ""
write memory
# to confirm password reset, run the command: show bootvar
# then reboot switch and press Ctrl-B in the serial console at the appropriate time.
If there is no way to get into U-Boot, is there any other way to get root within MLNX-OS? JTAG? Jailbreak via HTTPS, Telnet, Console, SSH exploit?
How were the memory locations derived in the conversion guide that mpogr created? I really appreciate the effort that he put into the guide, but I don't think anywhere in his guide he explains how he arrived at these exact steps. I don't just want to know what commands to type in, I want to know his thought process too.
How to dump the contents of the NAND flash, using U-Boot, Internal I2C 3-pin header, and/or 10-pin JTAG header?
Where is a dump of the default printenv output from the U-Boot EMC version and also the Mellanox version for the SX6012 or SX6018? I have attached the output of printenv from both my genuine Mellanox SX6018F (SwitchX-2) (running MLNX-OS 3.6.8012) and stock EMC SX6012F (SwitchX-2) to this post.
Once MLNX-OS is installed, can the standard upgrade process for MLNX-OS be followed?
Does upgrading to newer versions of MLNX-OS require sequence stepping to the correct versions?
How do you find out what firmware version your EMC switch is at before starting the MLNX-OS conversion, so that you can start at the correct version (MLNX-OS is suppose to upgrade the SwitchX-2 firmware automatically when you update using the correct version stepping procedure).
Is there any unique EMC specific data stored on the EEPROM chips, and if so, how do you change it to the correct Mellanox strings for MLNX-OS.
When I transfer the PPC460EX management SBC from one of my real Mellanox SX6018 to my EMC SX6012, it boots up just fine (I didn’t see any errors at all on the console) with MLNX-OS version 3.6.8012, however, it won’t let me login to the web GUI or SSH… it tries to configure services and then fails (I suspect it’s trying to configure ports that are missing, i.e. 18 vs 12 ports. Is there any way to get around this? I would really love to just dump the NAND flash from my genuine Mellanox SX switch and copy it over to the EMC using the JTAG header.
Anyone know the pinout of the JTAG header, has anyone probed it using OpenOCD?
###########################
Here is what I have to offer:
SHA256 checksums, size, and date of all the images I have:
7d3a4fa91ce8a5cfb953e49cdb26d3750798a02aa7578c43c1f8a9cd72aca796 image-PPC_M460EX-SX_3.3.3000.img
389fdaad58057e0006d51f379004827ad615331f6c978f09f4a9c0b9537e2f12 image-PPC_M460EX-SX_3.3.4100.img
e6ccaef26e65fac8717de5b973b992ee21bd01e19d869a92dc5489c1c4b4f743 image-PPC_M460EX-SX_3.3.4304.img
02e8549828377686670da8be89eb5ec7e0947b115440fa526e4b3122c0faa8a2 image-PPC_M460EX-SX_3.3.4402.img
5c3b3afdc4cb2bea5e62625c7ea4f402a89b787ceca39c4c41f34e52a5fb4517 image-PPC_M460EX-SX_3.3.5006.img
7574b1150ab8257a336e800afa1c75cfc19978db0de51acba09d195cc02898d6 image-PPC_M460EX-SX_3.4.0008.img
4dceed193832be0115d5cb9ac2a99734a4bfeb5b274ab77c70556a5595f5630b image-PPC_M460EX-SX_3.4.0012.img
ea3d3889b06facfb50c7782807a98afd94879e560855caec4bb3e4674ac58ca6 image-PPC_M460EX-3.4.2008.img
9af90747e0fbcf96d3828c7c07c279fe2175c5c4f2bfc40f1297fdafc43d3c54 image-PPC_M460EX-3.4.3002.img
73d19abda7a33b4bc7f780f95e524050b5bd3230f029e4619bb729112ba5d1b8 image-PPC_M460EX-3.5.1006.img
83420bc196fccf116d3737bfae17c57d24b3ba2933321ff5178ef3f3c5f715b6 image-PPC_M460EX-3.6.1002.img
25b8bdd8a39ce41e5d6488ca42989edb1ffee31975b544ab953bfda7aecb09ee image-PPC_M460EX-3.6.2002.img
0c5e1c99cd33398c8f603715c5706e152b637d855444fa5b45605c1132ad21b8 image-PPC_M460EX-3.6.3004.img
a29341cbd9eddc91e5cc027405b51788a0fe381c255a7950a63697806c8cb350 image-PPC_M460EX-3.6.4006.img
aa992f5cf1dfd2c1ffa5d888572cc7efb0a71fbefb5d657971b4112b3d0ceca9 image-PPC_M460EX-3.6.5000.img
636abdd2ac5d94c1deed28dbb2b4fa717c34f42d4066dd10fee83888da490cbc image-PPC_M460EX-3.6.6003.img
ad4fd14022855286c708ccaa7f5767f9e7bb933e12da8b9a04bc82d6c493db33 image-PPC_M460EX-3.6.6106.img
fc1f4bd5dae6eaf8c9a4e79ccc712899fb826680022aed40f629a3a25ee66fc5 image-PPC_M460EX-3.6.8008.img
093b3fc0f74ce371e135fd18cfdb2633a1f6de597b56d3f1d36eb390d32b0ce4 image-PPC_M460EX-3.6.8010.img
2692b068021056a47e5cdb48e490b403aac63cf7a2faff9f4f85a00b7cb204b8 image-PPC_M460EX-3.6.8012.img
232353033 Feb 26 2013 image-PPC_M460EX-SX_3.3.3000.img
270903435 Sep 16 2013 image-PPC_M460EX-SX_3.3.4100.img
259475579 Jan 14 2014 image-PPC_M460EX-SX_3.3.4304.img
212697817 Feb 28 2014 image-PPC_M460EX-SX_3.3.4402.img
234767036 May 20 2014 image-PPC_M460EX-SX_3.3.5006.img
250912345 Nov 10 2014 image-PPC_M460EX-SX_3.4.0008.img
251416987 Dec 16 2014 image-PPC_M460EX-SX_3.4.0012.img
289107141 Jun 12 2015 image-PPC_M460EX-3.4.2008.img
298732816 Jul 30 2015 image-PPC_M460EX-3.4.3002.img
310782003 Mar 9 2016 image-PPC_M460EX-3.5.1006.img
341715672 Jul 20 2016 image-PPC_M460EX-3.6.1002.img
341090206 Sep 29 2016 image-PPC_M460EX-3.6.2002.img
379993254 Feb 5 2017 image-PPC_M460EX-3.6.3004.img
364107558 Jul 26 2017 image-PPC_M460EX-3.6.4006.img
361006234 Nov 11 2017 image-PPC_M460EX-3.6.5000.img
361845888 May 2 2018 image-PPC_M460EX-3.6.6003.img
368718905 Apr 16 2018 image-PPC_M460EX-3.6.6106.img
380646781 Sep 7 2018 image-PPC_M460EX-3.6.8008.img
385185429 Aug 21 2018 image-PPC_M460EX-3.6.8010.img
374404735 Jan 10 2020 image-PPC_M460EX-3.6.8012.img
MLNX-OS version upgrade sequence:
Target Version: {Verified Version(s) From Which to Upgrade.}
3.6.8010: {3.6.8008, 3.6.6106, 3.6.6000, 3.6.5000}
3.6.8008: {3.6.6106, 3.6.6000, 3.6.5000}
3.6.6106: {3.6.6102, 3.6.6003, 3.6.6000, 3.6.5011, 3.6.5009, 3.6.5002, 3.6.5000}
3.6.6102: {3.6.6003, 3.6.6000, 3.6.5011, 3.6.5009, 3.6.5002, 3.6.5000}
3.6.6003: {3.6.6000, 3.6.5011, 3.6.5009, 3.6.5002, 3.6.5000}
3.6.6000: {3.6.5011, 3.6.5009, 3.6.5002, 3.6.5000}
3.6.5011: {3.6.5009, 3.6.5002, 3.6.5000}
3.6.5009: {3.6.5002, 3.6.5000}
3.6.5002: {3.6.5000}
3.6.5000: {3.6.4122, 3.6.4112, 3.6.4008}
3.6.4112: {3.6.4014, 3.6.4006, 3.6.2002, 3.6.2102, 3.6.3004, 3.6.3130, 3.6.3200, 3.6.3508, 3.6.3550, 3.6.3552, 3.6.3640, 3.6.4006}
3.6.4014: {3.6.4006, 3.6.2002, 3.6.2102, 3.6.3004, 3.6.3130, 3.6.3200, 3.6.3508, 3.6.3550, 3.6.3552, 3.6.3640, {3.6.4006}
3.6.4006: {3.6.3640, 3.6.3552, 3.6.3550, 3.6.3508, 3.6.3200, 3.6.3130, 3.6.3004, 3.6.2102, 3.6.2002}
3.6.3640: {3.6.3004, 3.6.3130, 3.6.3200, 3.6.3508, 3.6.3550, 3.6.3552}
3.6.3552: {3.6.3004, 3.6.3130, 3.6.3200, 3.6.3508, 3.6.3550}
3.6.3550: {3.6.3004, 3.6.3130, 3.6.3200, 3.6.3508}
3.6.3520: {3.6.2102, 3.6.3004, 3.6.3130, 3.6.3200, 3.6.3506}
3.6.3508: {3.6.3506, 3.6.2102, 3.6.3004, 3.6.3130, 3.6.3200}
3.6.3506: {3.6.2102, 3.6.3004, 3.6.3130, 3.6.3200}
3.6.3232: {3.6.3004, 3.6.3130}
3.6.3130: {3.6.3004, 3.6.2102, 3.6.1130}
3.6.3004: {3.6.2102, 3.6.2002, 3.6.1002, 3.5.1006}
3.6.2102: {3.6.2002, 3.6.1002}
3.6.2002: {3.6.1002, 3.5.1016, 3.5.1012, 3.5.1006, 3.5.1002, 3.5.1000}
3.6.1102: {3.6.1002, 3.5.1016, 3.5.1012, 3.5.1006, 3.5.1002, 3.5.1000, 3.4.3206, 3.4.3002}
3.6.1002: {3.5.1016, 3.5.1012, 3.5.1006, 3.5.1002, 3.5.1000, 3.4.3206, 3.4.3002}
3.5.1016: {3.5.1012, 3.5.1006, 3.5.1002, 3.5.1000, 3.4.3002, 3.4.2008}
3.5.1012: {3.5.1006, 3.5.1002, 3.5.1000, 3.4.3206, 3.4.3002, 3.4.2008}
3.5.1006: {3.5.1002, 3.5.1000, 3.4.3206, 3.4.3002, 3.4.2008}
3.5.1002: {3.5.1000, 3.4.3206, 3.4.3002, 3.4.2008}
3.5.1000: {3.4.3206, 3.4.3002, 3.4.2008}
3.4.3206: {3.4.3002, 3.4.2008, 3.4.1120}
3.4.3002: {3.4.2008, 3.4.1120}
3.4.2008: {3.4.1950, 3.4.1120, 3.4.0012}
3.4.1120: {3.4.1110, 3.4.0012}
3.4.1110: {3.4.0012}
3.4.0012: {3.3.5006, 3.3.4402}
3.3.5006: {3.3.4402, 3.3.4304}
3.3.4402: {3.3.4304, 3.3.4100}
3.3.4304: {3.3.4100, 3.3.3500}
3.3.4100: {3.3.3500, 3.3.3000}
Block diagrams and other various low level hardware information can be found in the following Open Computer Project guide for the MSX1710-OCP. The management SBC is an Intel chip in this switch, but the SwitchX-2 board appears to be mostly the same as those in the SX10xx and SX60xx switches, in particular how the switching board interfaces with the management SBC:
https://www.opencompute.org/documents/mellanox-msx1710ocp-switchx-2-36x40gb-qsfp-leafspine-switch
Disassembly of a genuine Mellanox SX6018F-2SFS SwitchX-2:
Disassembly of an EMC branded Mellanox SX6012F (100-886-236-04) SwitchX-2:
PPC460EX Datasheet:
https://datasheet.octopart.com/PPC460EX-NUB800T-AMCC-datasheet-11553412.pdf