Beware of EMC switches sold as Mellanox SX6XXX on eBay

Notice: Page may contain affiliate links for which we may earn a small commission through services like Amazon Affiliates or Skimlinks.

SGS

Member
May 24, 2017
43
20
8
54
The last 8 bytes vary across elfs on the 6018 - that one is correct for hwd. Original post edited to remove last 8
 
  • Like
Reactions: Necrotyr

Necrotyr

Active Member
Jun 25, 2017
206
52
28
Denmark
Nope, no cigar...

Modified tc from:
10 17 F2 4C 00 01 00 00 00 00 00 06 00 00 00 01
00 00 00 01 00 01 00 06 00 05 00 28 00 0A 00 28
00 00 00 63 00 55 FF FF 00 37 FF FF 00 00 00 00
00 03 00 00 00 00


To:
10 17 F2 4C 00 01 00 00 00 00 00 06 00 00 00 01
00 00 00 01 00 01 00 06 00 05 00 19 00 0A 00 19
00 00 00 63 00 55 FF FF 00 37 FF FF 00 00 00 00
00 03 00 00 00 00


To get 25% min fan speed.

Modified cablemond, chad, cli, cme, fcfd, fw_updt, health, hwd, ibd, iss, mgmtd, mibd, mlag, pgm, portd, portmon, restd, sched, snmpd, statsd and vrrpd from:
00 00 00 1C 00 00 00 00 00 00 00 01 00 00 00 00
00 00 00 00 00 00 00 01 00 00 00 01 00 00 00 00
00 00 00 00 00 00 00 00 00 12 00 00 00 00 00 01
00 00 00 08 00 00 00 1E 00 00 00 08 00 00 32 C8
00 00 00 00 00 00 32 C8 00 00 00 69 00 00 00 64
00 00 00 50 00 00 00 46 00 00 00 1F 00 00 00 01
00 00 00 01 00 00 00 01


To:
00 00 00 1C 00 00 00 00 00 00 00 01 00 00 00 00
00 00 00 00 00 00 00 01 00 00 00 01 00 00 00 00
00 00 00 00 00 00 00 00 00 12 00 00 00 00 00 01
00 00 00 06 00 00 00 1E 00 00 00 06 00 00 1F 40
00 00 00 00 00 00 1F 40 00 00 00 69 00 00 00 64
00 00 00 50 00 00 00 46 00 00 00 1F 00 00 00 01
00 00 00 01 00 00 00 01


To get 6% default fan speed and 8k max fan speed.
 
Apr 21, 2016
56
25
18
43
Yeah, I'd like to know too @Gabriel Mateiciuc
Here's the relevant section in the ini file :

[fan]

fan_en=1

fan0_pwm_duty_cycle=0x80
;;fan1_pwm_duty_cycle=0x1a
fan2_pwm_duty_cycle=0x80
;;fan3_pwm_duty_cycle=0x1a
;;fan4_pwm_duty_cycle=0x1a
;;fan5_pwm_duty_cycle=0x1a
;;fan6_pwm_duty_cycle=0x80
;;fan7_pwm_duty_cycle=0x1a
;;fan8_pwm_duty_cycle=0x80
;;fan9_pwm_duty_cycle=0x1a

fan0_lo_limit_rpm=0x200
;;fan1_lo_limit_rpm=0x1000
fan2_lo_limit_rpm=0x200
;;fan3_lo_limit_rpm=0x1000
;;fan4_lo_limit_rpm=0x1000
;;fan5_lo_limit_rpm=0x1000
;;fan6_lo_limit_rpm=0x1000
;;fan7_lo_limit_rpm=0x1000
;;fan8_lo_limit_rpm=0x1000
;;fan9_lo_limit_rpm=0x1000

the commented out are defaults/unused, I've left them there for reference.

What you need, quick'n'dirty :

[fan]
fan_en=1
fan0_pwm_duty_cycle=0x80
fan2_pwm_duty_cycle=0x80
fan0_lo_limit_rpm=0x200
fan2_lo_limit_rpm=0x200

The original fans are high quality Delta's and with the settings above - your mileage may vary - the switch is almost as silent as the Cisco 4948 above it.

You could try 1a for the duty_cycle parm for a bit more noise and lower temps .
You need to check the environment, temps etc. Mine never goes above 40C with environment around 25C.
Take it as a starting point, mine runs like this since Feb 2017. I remember that I've come to those values through some trials.
I'd check the console, but I never got around to finish the conversion and I don't have a serial connected.

Now that I'm "grounded" by the virus, I've (re)started old projects, finishing up others etc. ;)

Please PM the missing "magic" from the conversion guide, if you cannot say it in public. I know I've put out some info and now you can't get any firmware "source" files to build for yourself, only binaries ...
 

Necrotyr

Active Member
Jun 25, 2017
206
52
28
Denmark
Hmm, when I extract the ini from the firmware files the fan section looks like this:

SX6012:
[fan]
fan_en=1
fan0_mode = PWM_OUT
fan1_mode = TACHO_IN
fan2_mode = NOT_USED
fan3_mode = TACHO_IN
fan4_mode = NOT_USED
fan5_mode = TACHO_IN
fan6_mode = NOT_USED
fan7_mode = TACHO_IN
fan8_mode = NOT_USED
fan9_mode = NOT_USED

fan1_hi_limit_rpm = 23000
fan3_hi_limit_rpm = 23000
fan5_hi_limit_rpm = 23000
fan7_hi_limit_rpm = 23000


SX6018:
[fan]
fan_en=1

fan1_hi_limit_rpm = 17000
fan3_hi_limit_rpm = 17000
fan5_hi_limit_rpm = 17000
fan7_hi_limit_rpm = 17000
fan8_hi_limit_rpm = 17000
fan9_hi_limit_rpm = 17000


I use my switches in ETH mode, so can't do it directly on the switch unless i breakout of the cli to bash, will have to try that tomorrow.
 
Apr 21, 2016
56
25
18
43
Hmm, when I extract the ini from the firmware files the fan section looks like this:

SX6012:
[fan]
fan_en=1
fan0_mode = PWM_OUT
fan1_mode = TACHO_IN
fan2_mode = NOT_USED
fan3_mode = TACHO_IN
fan4_mode = NOT_USED
fan5_mode = TACHO_IN
fan6_mode = NOT_USED
fan7_mode = TACHO_IN
fan8_mode = NOT_USED
fan9_mode = NOT_USED

fan1_hi_limit_rpm = 23000
fan3_hi_limit_rpm = 23000
fan5_hi_limit_rpm = 23000
fan7_hi_limit_rpm = 23000


SX6018:
[fan]
fan_en=1

fan1_hi_limit_rpm = 17000
fan3_hi_limit_rpm = 17000
fan5_hi_limit_rpm = 17000
fan7_hi_limit_rpm = 17000
fan8_hi_limit_rpm = 17000
fan9_hi_limit_rpm = 17000


I use my switches in ETH mode, so can't do it directly on the switch unless i breakout of the cli to bash, will have to try that tomorrow.
That seems legit.
Add the params like above.
Looks like for 6012 there's only one fan.
 

Necrotyr

Active Member
Jun 25, 2017
206
52
28
Denmark
The SX6012 has 4 pwm fans, so I don't know why it only has 1 pwm, but 4 tacho.

The SX6018 has 6 (4 in fan module and 1 in each PSU) so it fits.

You mean I should add pwm_duty_cycle and lo_limit_rpm to the config?

I might be wrong but 0x80 is equal to 128, so I take it duty cycle is not a percentage value?
 
Apr 21, 2016
56
25
18
43
The SX6012 has 4 pwm fans, so I don't know why it only has 1 pwm, but 4 tacho.

The SX6018 has 6 (4 in fan module and 1 in each PSU) so it fits.

You mean I should add pwm_duty_cycle and lo_limit_rpm to the config?

I might be wrong but 0x80 is equal to 128, so I take it duty cycle is not a percentage value?
Check out the firmware mlx file.

LE
just delete the .zip extension - I had to split the archive.
 

Attachments

Last edited:

Freebsd1976

Active Member
Feb 23, 2018
387
73
28
personally I believe modify firmware ini work for unmanagement switch only, will not work for management switch which fans speed controlled by OS ,not the firmware
 

Freebsd1976

Active Member
Feb 23, 2018
387
73
28
@Necrotyr in IMHO ,may not correct
1 . duty cycle in INI (which you not post ) possibly is integer, range from 0 to 255 , then default value 103/255=40% . @Gabriel Mateiciuc set it to 0x80=128/255=50% , this reduce noise very much ,compare with unmangement switch ran fan at speed 100% (if flash sx6005 firmware ).
2 your mode about default rpm to 6% (1080), this maybe to0 low , set it to same as min rpm 26%(4680) or 30% (5400) and try?
 

Freebsd1976

Active Member
Feb 23, 2018
387
73
28
Consider you use original fan .
better first try not modify max fan speed first , only default rpm.

If it not work then try both max speed and default rpm.
I will try both way in weekends
 

Necrotyr

Active Member
Jun 25, 2017
206
52
28
Denmark
I'm using some sunon fans in the sx6018 with a max rating of 12k rpm, iirc.

I'll try setting default from 8 to 30 and leave everything else stock.
 

up3up4

Member
Jun 10, 2018
85
28
18
Max rpm: 18000(4650) x default pwm(1-8%=0.92)=16560rpm<===Highest rpm

Lowest rpm: 16560 x 27%min pwm=4471.2rpm
 
Last edited:

Necrotyr

Active Member
Jun 25, 2017
206
52
28
Denmark
So with my settings it should be 8000 (1F40) x 6% (0,94) = 7520 rpm

Lowest = 7520 x 25% = 1880 rpm.

Which is probably too low.

Can't understand why just changing the tc file doesn't work then.

13000 (32C8) x 8% (0,92) = 11960 rpm

Lowest = 11960 x 25% = 2990 rpm.
 

Freebsd1976

Active Member
Feb 23, 2018
387
73
28
So with my settings it should be 8000 (1F40) x 6% (0,94) = 7520 rpm

Lowest = 7520 x 25% = 1880 rpm.

Which is probably too low.
fan speed ( fan0_lo_limit_rpm) can't low than 4096 (0x1000) in sx6005 firmware,don't know it whether right when run mnlxos
 

Necrotyr

Active Member
Jun 25, 2017
206
52
28
Denmark
I'll try to set tc to 37% that shouldbe 4425 rpm with default in other files (13000 and 8%).

No wait, tc is default to 40%, this would make no sense.