Beware of EMC switches sold as Mellanox SX6XXX on eBay

lambdafunction

New Member
Jun 22, 2021
6
5
3
Okay, many thanks are in order here.
  • @mpogr for the initial guide and inducing me to lighten my wallet a few hundred bucks
  • @nbritton for details on transferring and running the manufacture script
  • @nasbdh9 for the shortened version path
  • @SGS for conversion tips and tricks
Things I learned:
  • Fast path: manufacture.sh -a -m ppc -f /path/to/image then MLNX-OS image fetch/install the shortened version upgrade path
  • The _shell command can be activated in 3.4.x with a special license
  • You don't need to add a new user to keep shell access, just set a password on the existing root user who already has /bin/bash as their shell:
    mddbreq /config/db/initial set modify - /auth/passwd/user/root/password string '$1$.......'
  • Figure 11 from the OCP version of this switch is surprisingly useful for I2C addresses
  • A raspberry pi connected to the main I2C header (the one you have to unplug the jumper from) can see more interesting things by adding the I2C mux:
    echo pca9548 0x70 > /sys/bus/i2c/devices/i2c-1/new_device
  • Vanilla 3.6.8012 running happily means I finally don't have to listen to those fans at 100%
    My wife is pretty happy about quiet fans too :D
 

Rand__

Well-Known Member
Mar 6, 2014
5,600
1,228
113
He has not been around for a while but there are other members hosting the files and instructions.
Try a few pages back
 

M@}{

Member
Feb 28, 2020
41
1
8
Okay, many thanks are in order here.
  • @mpogr for the initial guide and inducing me to lighten my wallet a few hundred bucks
  • @nbritton for details on transferring and running the manufacture script
  • @nasbdh9 for the shortened version path
  • @SGS for conversion tips and tricks
Things I learned:
  • Fast path: manufacture.sh -a -m ppc -f /path/to/image then MLNX-OS image fetch/install the shortened version upgrade path
  • The _shell command can be activated in 3.4.x with a special license
  • You don't need to add a new user to keep shell access, just set a password on the existing root user who already has /bin/bash as their shell:
    mddbreq /config/db/initial set modify - /auth/passwd/user/root/password string '$1$.......'
  • Figure 11 from the OCP version of this switch is surprisingly useful for I2C addresses
  • A raspberry pi connected to the main I2C header (the one you have to unplug the jumper from) can see more interesting things by adding the I2C mux:
    echo pca9548 0x70 > /sys/bus/i2c/devices/i2c-1/new_device
  • Vanilla 3.6.8012 running happily means I finally don't have to listen to those fans at 100%
    My wife is pretty happy about quiet fans too :D
Did you manage to get fru data from i2c?
 

lambdafunction

New Member
Jun 22, 2021
6
5
3
I don't understand what is the device in the & 1-2 argument.
The script writes to a specific sector of the device, is there an example?
I read the EEPROM to a file using dd, ran the script as ./foo.sh inputFile outputFile, and then wrote the new image back again using dd. I'm not sure I have the exact commands saved anywhere.
 
Nov 30, 2017
2
0
1
48
Hi folks! I've got a trio of EMC branded SX6018s that are running 3.6.1002 per @mpogr's instructions from a couple of years ago. Last week I successfully found the secret word for generating license keys. I'll be attempting to get them running 3.6.8012 in the near future.

In the mean time, is there a post with a list of licensed feature codes? (I haven't been able to find one listing more than one so far.) I've generated version 2 keys for the following on my switches:
  • RESTRICTED_CMDS_GEN2 which enables the _shell command.
  • RESET_PASSWORD which is described as "Permission to reset the admin password" but that doesn't seem really useful when I've already got a root shell.
  • EFM_SX which doesn't seem to do a whole lot.
Anyone know what the feature code is for the Fabric Inspector license? Are there any others I should know about?

Thanks in advance!
 

crash_maxed

New Member
Oct 30, 2019
5
13
3
Hi folks! I've got a trio of EMC branded SX6018s that are running 3.6.1002 per @mpogr's instructions from a couple of years ago. Last week I successfully found the secret word for generating license keys. I'll be attempting to get them running 3.6.8012 in the near future.

In the mean time, is there a post with a list of licensed feature codes? (I haven't been able to find one listing more than one so far.) I've generated version 2 keys for the following on my switches:
  • RESTRICTED_CMDS_GEN2 which enables the _shell command.
  • RESET_PASSWORD which is described as "Permission to reset the admin password" but that doesn't seem really useful when I've already got a root shell.
  • EFM_SX which doesn't seem to do a whole lot.
Anyone know what the feature code is for the Fabric Inspector license? Are there any others I should know about?

Thanks in advance!
As far as I've seen, EFM_SX is actually the only thing you need besides RESTRICTED_CMDS_GEN2. Look at the -o options for genlicense. Use those with EFM_SX license type to enable everything else, including fabric inspector (set efm_sx_max_ufm_ports to some value).
 

andvalb

New Member
Feb 15, 2021
2
0
1
Is anyone knows what value should be in the first byte of the bootstrap EEPROM?
This can be seen using an "imd 0x52 0 0x100" command from the bootloader or by the /opt/tms/bin/mellaggra _read 0 0x52 0 1 16 command from an switch console.
Bootstrap EEPROM in the attached archive is broken - the first byte has zero value.
 

Attachments

Last edited:

andvalb

New Member
Feb 15, 2021
2
0
1
Is anyone knows what value should be in the first byte of the bootstrap EEPROM?
This can be seen using an "imd 0x52 0 0x100" command from the bootloader or by the /opt/tms/bin/mellaggra _read 0 0x52 0 1 16 command from an switch console.
Bootstrap EEPROM in the attached archive is broken - the first byte has zero value.
Bootstrap problem solved using command
mlxi2c update_bootstrap166 (86 82 96 1a d9 80 0 e0 c0 8 23 50 d 5 0 0)

also, there is another variation
mlxi2c update_bootstrap200 (86 82 96 19 b9 80 0 e0 c0 8 23 50 d 5 0 0)

FRU can be readed by the commands
/opt/tms/bin/mellaggra _read_fru 8 0x51 1000 fru_backplate.bin
/opt/tms/bin/mellaggra _read_fru 0 0x50 1000 fru_cpu.bin

Can anyone read and provide CPU FRU from the original Mellanox sx6012 switch?
 
Last edited: