Beware of EMC switches sold as Mellanox SX6XXX on eBay

M@}{

Member
Feb 28, 2020
37
1
8
I dont know, thats why i asked a few days ago;)





Very good, i thought as wellthat maybe you did have too many ECC issues so there literally was no "good" space left
[/QUOTE]
No, it will be updated with the standard procedure, mlnx os
 

Rand__

Well-Known Member
Mar 6, 2014
5,541
1,199
113
yeah, it should be, q is whether that causes any of the patched files not to work any more (if thats needed at all)
 

klui

Active Member
Feb 3, 2019
343
142
43
Removed all unnecessary from the root partition, made a long secret

Code:
__nand_correct_data: uncorrectable ECC errorjffs2: warning: (4755) jffs2_sum_write_data: Not enough space for summary, padsize = -972
Dec 27 01:06:48 localhost mgmtd[6702]: [mgmtd.ERR]: Initial commit failed.  Code: 1  Message: Shared-secret key 123212341234 too short
The problem was your shared-secret key length, not space. I got some of those too (less than 11 total each for 2 conversions) but it is a warning.
 

M@}{

Member
Feb 28, 2020
37
1
8
yeah, it should be, q is whether that causes any of the patched files not to work any more (if thats needed at all)
what is the reason to replace the original files hwd, ibd, chad, how do they differ from them?
The problem was your shared-secret key length, not space. I got some of those too (less than 11 total each for 2 conversions) but it is a warning.
Yes, I understand that, thanks.
 

Rand__

Well-Known Member
Mar 6, 2014
5,541
1,199
113
what is the reason to replace the original files hwd, ibd, chad, how do they differ from them?
I don't know, I assume they patch out checks that prevent MLX OS to run on EMC labeled HW (psid) (at all or at certain speeds),
so if these get overwritten/changed it might break.

But I think (I remember) there were some folks who tested updating and there was some success too, but I couldnt find details on a quick search the other day
 

supacupa

New Member
Jun 2, 2021
15
1
3
No, this thread is about converting EMC switches to MLX OS like this 18 port one: Mellanox MSX6018-2BFS SX6018 EMC 100-886-230-02 12-port switch with EMC OS | eBay

There are some threads that hint on how to generate the necessary licenses to enable Ethernet on a regular SX6036 though.

I am not saying that you might not be able to convert the 6720 you found, but i have not seen anyone trying yet
Hmm, I think I'll also get one of these and convert it over. My 40gbit network needs to expand by 3, so now I'm at 7 devices.
 

M@}{

Member
Feb 28, 2020
37
1
8
s there any successful experience in creating mlag from two switches on mlnx 3.6.1002?

1623786858881.png
 

M@}{

Member
Feb 28, 2020
37
1
8
I'm trying to get two switches to form a HA IB cluster. Joining the second node fails however with the following messages in the log:

Code:
Nov  2 15:18:10 switch1 clusterd[25872]: [clusterd.ERR]: HMAC verification failed
Nov  2 15:18:10 switch1 clusterd[25872]: [clusterd.ERR]: cl_verify_hmac_md5(), cl_comm.c:1503, build 1: Error code 14613 returned
Nov  2 15:18:10 switch1 clusterd[25872]: [clusterd.ERR]: cl_ccl_msg_recv(), cl_comm.c:1554, build 1: HMAC verification failed
Could this have anything to do with the shared secret being different between the two switches and does it mean I have to reinstall one of the switches to share the same secret?

Update: indeed the shared secret during database setup has to be the same:

Code:
/mfg/mfdb/cluster/config/shared-secret
Note that a running system has this secret copied to the initial database, and can be adjusted by changing the initial database (if you still have access to a shell):

Code:
mddbreq -c /config/db/initial set modify - /cluster/config/shared-secret string <YOURSECRETSTRING>
This unfortunately means that converted switches will never be able to HA with a genuine mellanox switch unless somebody is willing to extract the Mellanox shared secret from a genuine switch.
have you been successful in creating mlag?
 

tyler8865

New Member
Jan 25, 2019
1
0
1
Hello all,

I'm running an EMC SX6018 flashed with PPC_M460EX 3.6.1002. Everything has been fine until I started noticing network latency/retries a few months ago. Have been troubleshooting other switches, router, etc but determined it must be the Mellanox. I saved my config and rebooted but went back into the stock EMC image. Rebooted again and ran "run mlxlinux" but now none of my ports are enabled (Web UI gives error if you go to Ports). I can validate via the CLI that all my configs are still there. What do I need to fix this? Do I need to reflash the ASIC with mstflint? Any help would be really appreciated.
 

martyyates

New Member
Jun 21, 2021
1
0
1
Hi team,
Bought a three pack of cheap SX6005's to replace our dead 12yo IB switch which was functioning as unmanaged. No current IB fabric/nw therefore and no SM to flash new switch/es.
We really just need the switch to pass traffic as an unmanaged device. I cannot easily determine the best way to flash the firmware using the stock Mellanox f/w.
Can flashing be done readily from a laptop through the management port? We do not have the micro-DB9-USB cable.

thanks troops,
marty.
 

zuikaku

New Member
Feb 7, 2021
6
2
3
These scripts might come in handy later on ;)
Bash:
emc_to_6012() {
   dd if=/dev/zero bs=16 count=256 of="$2" 2> /dev/null

   dd if="$1" bs=16 count=12 of="$2" conv=notrunc 2> /dev/null
   dd if="$1" bs=16 count=5 of="$2" skip=12 seek=14 conv=notrunc 2> /dev/null

   printf "\x20" | dd of="$2" bs=1 seek=1 count=1 conv=notrunc 2> /dev/null
   printf "\x00" | dd of="$2" bs=1 seek=5 count=1 conv=notrunc 2> /dev/null

   printf "\x05\x0E\x02\x14\x06\x16\x07" | dd of="$2" bs=1 seek=15 count=7 conv=notrunc 2> /dev/null

   printf "\x00\x1A\x00\x03\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" | dd of="$2" bs=1 seek=192 count=32 conv=notrunc 2> /dev/null
   printf "\x00\x12\x00\x01\x06\x00\x00\x00\x00\x01\x00\x00\x02\x88\x04\x04\x02\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0A\x00\x01\x07\x00\x00\x00\x00\x02\x10\x00\x00\x00\x00\x00" | dd of="$2" bs=1 seek=320 count=48 conv=notrunc 2> /dev/null

   printf "\x4D\x53\x58\x36\x30\x31\x32\x46\x2D\x32\x42\x46\x53\x00" | dd of="$2" bs=1 seek=64 count=14 conv=notrunc 2> /dev/null
}

6012_to_1012() {
   if [ "$1" != "$2" ]; then
      dd if="$1" bs=16 count=256 of="$2" 2> /dev/null
   fi
   printf "\x4D\x53\x58\x31\x30\x31\x32\x42\x2D\x32\x42\x46\x53\x00" | dd of="$2" bs=1 seek=64 count=14 conv=notrunc 2> /dev/null
   printf "\x03\xF4" | dd of="$2" bs=1 seek=162 count=2 conv=notrunc 2> /dev/null
   printf "\x31" | dd of="$2" bs=1 seek=166 count=1 conv=notrunc 2> /dev/null
   printf "\x06" | dd of="$2" bs=1 seek=329 count=1 conv=notrunc 2> /dev/null
}

1012_to_6012() {
   if [ "$1" != "$2" ]; then
      dd if="$1" bs=16 count=256 of="$2" 2> /dev/null
   fi
   printf "\x4D\x53\x58\x36\x30\x31\x32\x46\x2D\x32\x42\x46\x53\x00" | dd of="$2" bs=1 seek=64 count=14 conv=notrunc 2> /dev/null
   printf "\x17\x7C" | dd of="$2" bs=1 seek=162 count=2 conv=notrunc 2> /dev/null
   printf "\x36" | dd of="$2" bs=1 seek=166 count=1 conv=notrunc 2> /dev/null
   printf "\x01" | dd of="$2" bs=1 seek=329 count=1 conv=notrunc 2> /dev/null
}
Just curious what device should be in $2?
 
  • Like
Reactions: gtcdma

lambdafunction

New Member
Jun 22, 2021
4
5
3
I'm working on an EMC SX6012 that I got off eBay. The hardware might be partially dead as show asic-version and show inv don't give anything. Anyway, I ended up stuck with 2x MLNX-OS images loaded with neither working or able to unlock the bootloader & one of them locked the bootloader. I foolishly didn't ensure I had a way back in to the bootloader or shell. However, I found that a certain license type will allow _shell to function...

Code:
switch-534580 [standalone: master] # show lic
License 3: LK2-RESTRICTED_CMDS_GEN2-......
   Feature:          RESTRICTED_CMDS_GEN2 
   Description:      Access to restricted system functionality 
   Valid:            yes 
   Active:           yes 
switch-534580 [standalone: master] # _shell 
[admin@switch-534580 ~]# ls 
[admin@switch-534580 ~]# pwd 
/var/home/root
 

zuikaku

New Member
Feb 7, 2021
6
2
3
@lambdafunction I don't want to give false hope but it's very unlikely hardware problem... look attached outputs. I'm pretty sure hardware on my EMC SX6012 is fine (it was running the patched 1002 before). My speculation is that MLNX-OS doesn't have the chassis/modules info of EMC models. So we need either 1. replace these info (stored on the EEPROM but not on the filesystem, I believe they are called FRU) with the original one, or 2. patch all executable that requires the chassis being detected. I think the latter is what the patched hwd and chad are for. I am attempting the first option because that ultimately allows us to perform a clean install of MLNX-OS on OEM models. Thanks again for your reply on my thread :D

OS Ver: MLNX-OS 3.5.1006 (Original, not patched)
Code:
switch-XXXXXX [standalone: master] # show inv
---------------------------------------------------------------------------
Module           Part Number      Serial Number        Asic Rev.    HW Rev.
---------------------------------------------------------------------------
CHASSIS          N/A              (null)               N/A          (null)
No managed modules found.
switch-XXXXXX [standalone: master] # show asic-version
===================================================
Module             Device              Version
===================================================
No managed switch devices found.
 

nasbdh9

Member
Aug 4, 2019
57
10
8
Code:
U-Boot 2009.01 SX_PPC_M460EX SX_3.2.0330-82 ppc (Dec 20 2012 - 17:53:54)

CPU:   AMCC PowerPC 460EX Rev. B at 1000 MHz (PLB=166, OPB=83, EBC=83 MHz)
       Security/Kasumi support
       Bootstrap Option H - Boot ROM Location I2C (Addr 0x52)
       Internal PCI arbiter disabled
       32 kB I-Cache 32 kB D-Cache
Board: Mellanox PPC460EX Board
FDEF:  No
I2C:   ready
DRAM:   2 GB (ECC enabled, 333 MHz, CL3)
FLASH: 16 MB
NAND:  1024 MiB
PCI:   Bus Dev VenId DevId Class Int
PCIE0: link is not up.
PCIE1: successfully set as root-complex
        01  00  15b3  c738  0c06  00
Net:   ppc_4xx_eth0, ppc_4xx_eth1
Reading image settings from EEPROM

Mellanox MLNX-OS

Default image: 'PPC_M460EX 3.6.8012 2019-02-22 07:53:42 ppc'
Press Enter to boot this image, or 'Ctrl B' for boot menu

Booting default image in:  0

Booting location 2: 'PPC_M460EX 3.6.8012 2019-02-22 07:53:42 ppc'

OF: no ranges; cannot translate
OF: no ranges; cannot translate
INIT: version 2.86 booting

Starting: PPC_M460EX 3.6.8012 2019-02-22 07:53:42 ppc
Starting udev: [  OK  ]
Setting clock  (utc): Mon Feb 23 23:20:02 UTC 2015 [  OK  ]
Setting hostname localhost:  [  OK  ]
Checking filesystems
Checking all file systems.
[  OK  ]
Remounting root filesystem in read-write mode:  [  OK  ]
Mounting local filesystems:  [  OK  ]
Running vpart script:  [  OK  ]
Applying file system skeletons: base_var base_config .
Enabling /etc/fstab swaps:  [  OK  ]
INIT: Entering runlevel: 3
Starting system services
Starting sx_low_level_if:      Starting sx_low_level_if:
Loading i2c_mux_pca954x  - Success
Loading sx_glue_if  - Success
Loading watchdog  - Success
Loading cpld_handler  - Success
Loading mellaggra_mod  - Success
Loading switchx  - Success
[  OK  ]
Starting openibd:  IPoIB configuration for embedded system
Loading SX driver:[  OK  ]
Loading HCA driver and Access Layer:[  OK  ]
Setting up InfiniBand network interfaces:
Setting up service network . . .[  done  ]
Reloading udev:
[  OK  ]
Starting system logger: [  OK  ]
Starting kernel logger: [  OK  ]
Starting fips_post:  [  OK  ]
Running renaming interfaces
Renaming: MAC: 50:6B:4B:CC:0C:AE ifindex: 2 name: mgmt0
Renaming: MAC: 50:6B:4B:CC:0C:AF ifindex: 3 name: mgmt1
Checking for unexpected shutdown

Probing for HRNG module
Starting rngd: [  OK  ]
Running system image: PPC_M460EX 3.6.8012 2019-02-22 07:53:42 ppc
Applying initial configuration: Feb 23 23:22:07 INFO    LOG: Initializing SX log with STDOUT as output file.


Starting internal_startup:  [  OK  ]
Starting tc_ingress_policy:  tc_ingress_policy system name is not obtained - use default IS5600MDC
mDNS policing rate=4000kbit burst=400k
Ingress policing enable on interface mgmt0 rate=9000kbit burst=900k
[  OK  ]
Starting clean_issnvram:  Deleting issnvram.txt
[  OK  ]
Starting intr_hndl:      Starting :
Loading int handler module - Success
[  OK  ]
Starting iss-nvram-mac:  [  OK  ]
Starting copy_rh_files_to_vtmp:  [  OK  ]
Starting secure_mode_check:  [  OK  ]
Starting sx_pra:      Starting proxy arp management:
Loading proxy arp management module - Success
[  OK  ]
Starting udevd:  Reloading udev...
[  OK  ]
Starting pm: [  OK  ]
Starting oops_dump_reg:      Starting kernel reg dump:
Loading kernel reg dump module - Success
[  OK  ]
Starting lnpuppetvar.sh:  [  OK  ]
Starting mst:  Starting MST (Mellanox Software Tools) driver set
Loading MST PCI module - Success
Loading MST PCI configuration module - Success
Create devices
[  OK  ]


Mellanox MLNX-OS Switch Management

switch-cc0cae login: admin
Password:
Last login: Mon Feb 23 23:14:01 on ttyS0

Mellanox Switch

    System is initializing!
This may take a few minutes


    Modules are being configured
switch-cc0cae [standalone: master] > enable
switch-cc0cae [standalone: master] # configure terminal
switch-cc0cae [standalone: master] (config) # show licenses
License 1: LK2-RESTRICTED
   Feature:          RESTRICTED
   Description:      Access to restricted system functionality
   Valid:            yes
   Active:           yes
switch-cc0cae [standalone: master] (config) # show inv
-----------------------------------------------------------------------------
Module           Part Number        Serial Number        Asic Rev.    HW Rev.
-----------------------------------------------------------------------------
CHASSIS                             MT1840X02619         N/A          08
MGMT             100-886-236-04     MT1840X02619         2            08
switch-cc0cae [standalone: master] (config) # _shell
[admin@switch-cc0cae ~]#
[admin@switch-cc0cae ~]# cat /proc/version
Linux version 3.10.94-MELLANOXuni-m460ex (@) (gcc version 4.7.2 (GCC) ) PPC_M460EX jenkins #1 2019-02-13 12:36:41
[admin@switch-cc0cae ~]# cli
switch-cc0cae [standalone: master] > show asic-version
---------------------------------------------------
Module             Device              Version
---------------------------------------------------
MGMT               SX                  9.4.5110

switch-cc0cae [standalone: master] >
switch-cc0cae [standalone: master] > show images

Installed images:
  Partition 1:
    version: PPC_M460EX 3.6.8012 2019-02-22 07:53:42 ppc

  Partition 2:
    version: PPC_M460EX 3.6.8012 2019-02-22 07:53:42 ppc

Last boot partition: 2
Next boot partition: 2

Images available to be installed:
  1:
    Image  : image-PPC_M460EX-3.6.8012.img
    Version: PPC_M460EX 3.6.8012 2019-02-22 07:53:42 ppc

Serve image files via HTTP/HTTPS: no

No image install currently in progress.
No boot manager password is set.

Image signing              : trusted signature always required
Admin require signed images: yes
switch-cc0cae [standalone: master] >
Use manufacture.sh to convert/regenerate? your equipment, and use mfgusb to replace chad and hwd when appropriate to avoid PN checks, and enjoy ;)

If there is any way to modify the PN number of the switchX2 backplane, there will be no need for any modification
 

nasbdh9

Member
Aug 4, 2019
57
10
8
If you have the original switchX2 backplane, it will be more convenient to regenerate it. Just ensure the firmware version of the EMC backplane, and replace chad and hwd in the control board before putting it back on the EMC version of the backplane.
 

nasbdh9

Member
Aug 4, 2019
57
10
8
3.2.0300→3.4.0012→3.6.8012

At the same time, it is recommended to run some commands to delete uboot password after running manufacture.sh successfully, just in case
 

M@}{

Member
Feb 28, 2020
37
1
8
Code:
U-Boot 2009.01 SX_PPC_M460EX SX_3.2.0330-82 ppc (Dec 20 2012 - 17:53:54)

CPU:   AMCC PowerPC 460EX Rev. B at 1000 MHz (PLB=166, OPB=83, EBC=83 MHz)
       Security/Kasumi support
       Bootstrap Option H - Boot ROM Location I2C (Addr 0x52)
       Internal PCI arbiter disabled
       32 kB I-Cache 32 kB D-Cache
Board: Mellanox PPC460EX Board
FDEF:  No
I2C:   ready
DRAM:   2 GB (ECC enabled, 333 MHz, CL3)
FLASH: 16 MB
NAND:  1024 MiB
PCI:   Bus Dev VenId DevId Class Int
PCIE0: link is not up.
PCIE1: successfully set as root-complex
        01  00  15b3  c738  0c06  00
Net:   ppc_4xx_eth0, ppc_4xx_eth1
Reading image settings from EEPROM

Mellanox MLNX-OS

Default image: 'PPC_M460EX 3.6.8012 2019-02-22 07:53:42 ppc'
Press Enter to boot this image, or 'Ctrl B' for boot menu

Booting default image in:  0

Booting location 2: 'PPC_M460EX 3.6.8012 2019-02-22 07:53:42 ppc'

OF: no ranges; cannot translate
OF: no ranges; cannot translate
INIT: version 2.86 booting

Starting: PPC_M460EX 3.6.8012 2019-02-22 07:53:42 ppc
Starting udev: [  OK  ]
Setting clock  (utc): Mon Feb 23 23:20:02 UTC 2015 [  OK  ]
Setting hostname localhost:  [  OK  ]
Checking filesystems
Checking all file systems.
[  OK  ]
Remounting root filesystem in read-write mode:  [  OK  ]
Mounting local filesystems:  [  OK  ]
Running vpart script:  [  OK  ]
Applying file system skeletons: base_var base_config .
Enabling /etc/fstab swaps:  [  OK  ]
INIT: Entering runlevel: 3
Starting system services
Starting sx_low_level_if:      Starting sx_low_level_if:
Loading i2c_mux_pca954x  - Success
Loading sx_glue_if  - Success
Loading watchdog  - Success
Loading cpld_handler  - Success
Loading mellaggra_mod  - Success
Loading switchx  - Success
[  OK  ]
Starting openibd:  IPoIB configuration for embedded system
Loading SX driver:[  OK  ]
Loading HCA driver and Access Layer:[  OK  ]
Setting up InfiniBand network interfaces:
Setting up service network . . .[  done  ]
Reloading udev:
[  OK  ]
Starting system logger: [  OK  ]
Starting kernel logger: [  OK  ]
Starting fips_post:  [  OK  ]
Running renaming interfaces
Renaming: MAC: 50:6B:4B:CC:0C:AE ifindex: 2 name: mgmt0
Renaming: MAC: 50:6B:4B:CC:0C:AF ifindex: 3 name: mgmt1
Checking for unexpected shutdown

Probing for HRNG module
Starting rngd: [  OK  ]
Running system image: PPC_M460EX 3.6.8012 2019-02-22 07:53:42 ppc
Applying initial configuration: Feb 23 23:22:07 INFO    LOG: Initializing SX log with STDOUT as output file.


Starting internal_startup:  [  OK  ]
Starting tc_ingress_policy:  tc_ingress_policy system name is not obtained - use default IS5600MDC
mDNS policing rate=4000kbit burst=400k
Ingress policing enable on interface mgmt0 rate=9000kbit burst=900k
[  OK  ]
Starting clean_issnvram:  Deleting issnvram.txt
[  OK  ]
Starting intr_hndl:      Starting :
Loading int handler module - Success
[  OK  ]
Starting iss-nvram-mac:  [  OK  ]
Starting copy_rh_files_to_vtmp:  [  OK  ]
Starting secure_mode_check:  [  OK  ]
Starting sx_pra:      Starting proxy arp management:
Loading proxy arp management module - Success
[  OK  ]
Starting udevd:  Reloading udev...
[  OK  ]
Starting pm: [  OK  ]
Starting oops_dump_reg:      Starting kernel reg dump:
Loading kernel reg dump module - Success
[  OK  ]
Starting lnpuppetvar.sh:  [  OK  ]
Starting mst:  Starting MST (Mellanox Software Tools) driver set
Loading MST PCI module - Success
Loading MST PCI configuration module - Success
Create devices
[  OK  ]


Mellanox MLNX-OS Switch Management

switch-cc0cae login: admin
Password:
Last login: Mon Feb 23 23:14:01 on ttyS0

Mellanox Switch

    System is initializing!
This may take a few minutes


    Modules are being configured
switch-cc0cae [standalone: master] > enable
switch-cc0cae [standalone: master] # configure terminal
switch-cc0cae [standalone: master] (config) # show licenses
License 1: LK2-RESTRICTED
   Feature:          RESTRICTED
   Description:      Access to restricted system functionality
   Valid:            yes
   Active:           yes
switch-cc0cae [standalone: master] (config) # show inv
-----------------------------------------------------------------------------
Module           Part Number        Serial Number        Asic Rev.    HW Rev.
-----------------------------------------------------------------------------
CHASSIS                             MT1840X02619         N/A          08
MGMT             100-886-236-04     MT1840X02619         2            08
switch-cc0cae [standalone: master] (config) # _shell
[admin@switch-cc0cae ~]#
[admin@switch-cc0cae ~]# cat /proc/version
Linux version 3.10.94-MELLANOXuni-m460ex (@) (gcc version 4.7.2 (GCC) ) PPC_M460EX jenkins #1 2019-02-13 12:36:41
[admin@switch-cc0cae ~]# cli
switch-cc0cae [standalone: master] > show asic-version
---------------------------------------------------
Module             Device              Version
---------------------------------------------------
MGMT               SX                  9.4.5110

switch-cc0cae [standalone: master] >
switch-cc0cae [standalone: master] > show images

Installed images:
  Partition 1:
    version: PPC_M460EX 3.6.8012 2019-02-22 07:53:42 ppc

  Partition 2:
    version: PPC_M460EX 3.6.8012 2019-02-22 07:53:42 ppc

Last boot partition: 2
Next boot partition: 2

Images available to be installed:
  1:
    Image  : image-PPC_M460EX-3.6.8012.img
    Version: PPC_M460EX 3.6.8012 2019-02-22 07:53:42 ppc

Serve image files via HTTP/HTTPS: no

No image install currently in progress.
No boot manager password is set.

Image signing              : trusted signature always required
Admin require signed images: yes
switch-cc0cae [standalone: master] >
Use manufacture.sh to convert/regenerate? your equipment, and use mfgusb to replace chad and hwd when appropriate to avoid PN checks, and enjoy ;)

If there is any way to modify the PN number of the switchX2 backplane, there will be no need for any modification

У вас работает eth-single-switch profile on 8012?
 

nasbdh9

Member
Aug 4, 2019
57
10
8
From which archive did you take the hwd chad files, what firmware did you use?
There should be a folder named 3.6.8012 in an archive, all required files are in it

Code:
chad
CRC32: B52ED1FE
MD5: B7E34889A3E839F0515F218E96FC867E

hwd
CRC32: 3E2496CF
MD5: 5D73C7B494B660EB224C13946C7575FF

MT_1270110020.bin
CRC32: 1B7E8BF5
MD5: D570A52114F97ED6BC6D228188EFE7F7
you can use this script to separate the firmware from the .mfa