Feedback Thread Firmware M3CR023 for the MX500

Kilobyte Kid

Re: Feedback Thread Firmware M3CR023 for the MX500

Has anyone whose PSID was reverted to all zeros via the prior firmware update tried this one to see if it restores the proper PSID? I'm curious whether I'm going to have to RMA the drive to get a proper PSID again.

Kilobyte Kid

Re: Firmware M3CR023 for the MX500. Broken Iso image?

Is there a problem with the iso iamge : MX500_M3CR023_update.iso ?

 

First let me say that I have used the MX500_M3CR022_Update without problems a few months ago, so it is unlikely that I am failing to "do the right things".

 

I wrote the MX500_M3CR023_update.iso to an USB stick and verified that it now had a proper file system installed. I then boted that stick and ISOLINUX 4.05 loaded

but then issued the message "could not find kernel image: /boot/vmlinuz "

 

After checking briefly  at https://www.syslinux.org/wiki/index.php?title=ISOLINUX,

I decided to try burning the image to a cdrom. Botting from that, exactly the same thing happens.

 

Mounting the cdrom (or I could have loop mounted the image) I see

/cdrom$ tree 
.
├── boot
│   ├── corepure64.gz
│   ├── isolinux
│   │   ├── boot.cat
│   │   ├── boot.msg
│   │   ├── f2
│   │   ├── f3
│   │   ├── f4
│   │   ├── isolinux.bin
│   │   └── isolinux.cfg
│   └── vmlinuz64
└── EFI
    └── BOOT
        ├── BOOTX64.EFI
        ├── efiboot.img
        └── grub
            ├── fonts
            │   └── unicode.pf2
            └── grub.cfg

so vmlinuz64 is present and perhaps (?) correct.

 

I am very rusty with isolinux, but I can probably poke around in the mounted image and maybe diagnose the problem. But am I the only one seeing this problem? It seems unlikely.

 

Could I have downloaded a corrupt image? Seems unlikely that it would boot into isolinux if so, but here is the checksum:

$ sha256sum  MX500_M3CR023_update.zip 
0dd5ac3c88971038b89bd917bd2e7d66ff91136afee918fc3cdd5c8cf6807fde  MX500_M3CR023_update.zip

 

Kilobyte Kid

Re: Feedback Thread Firmware M3CR023 for the MX500

I have just posted about exactly the same problem. As a newcomer to the forum, I hadn't spotted your message before posting. So confirming. Yes the iso image seems to be corrupt. It might be possible to diagnose and fix the problem, but that would be a fair bit of work.

Kilobyte Kid

Re: Feedback Thread Firmware M3CR023 for the MX500

But rufus appears to be a Windows progam!! The iso images are supposed to support all operating systems.

JEDEC Jedi

Re: Feedback Thread Firmware M3CR023 for the MX500

@Feature  I was able to successfully remaster the ISO by replacing the "isolinux.bin" file and adding "ldlinux.c32".    You may be able to create your own bootable USB drive without remastering (I have not tried these steps, so let me know if it does not work):

 

1)  Format a USB drive as MBR with FAT32 (make it bootable by marking the partition as "Active"). 

2)  Mount the ISO and copy everything to the USB drive. 

3)  Replace the "isolinux.bin" file and add the "ldlinux.c32" file in "/<path-to-usb-drive>/boot/isolinux/".             (pull them from the "syslinux-utils" & "isolinux" packages).

4)  Install Grub2 to the USB drive and utilize the existing "grub.cfg" file.

     Make sure to replace the "X" in "/dev/sdX" with the appropriate Linux identifier for your USB drive.

sudo  grub-install  --boot-directory=/<path-to-usb-drive>/EFI/BOOT  --removable   /dev/sdX

5)  Unmount the USB drive & the ISO image.

 

FYI, For anyone interested, here are the actual steps I used to remaster the ISO for proper Legacy BIOS booting:

Spoiler

 

Remastering MX500 M3CR023 ISO for Legacy BIOS Boot

Note:  Used Debian Stretch (amd64)
Packages Needed: syslinux-utils,  isolinux,  and xorriso.
Note: Assume current directory for all of the following commands is $HOME.
All paths will be relative to the current directory. # Create a working directory mkdir mx500 # Mount the current MX500 ISO Image with "broken" Legacy BIOS Boot sudo mount MX500_M3CR023_update.iso /mnt/ # Copy all of the current MX500 ISO files to the working directory sudo cp -pr /mnt/* mx500/ sudo umount /mnt # To fix the "broken" Legacy BIOS Boot sudo cp /usr/lib/ISOLINUX/isolinux.bin mx500/boot/isolinux/ sudo cp /usr/lib/syslinux/modules/bios/ldlinux.c32 mx500/boot/isolinux/ # Create a Bootable BIOS & UEFI ISO xorrisofs -o mx500.iso \ -eltorito-boot boot/isolinux/isolinux.bin -no-emul-boot \ -boot-load-size 4 -boot-info-table -eltorito-alt-boot \ -efi-boot-part --efi-boot-image --efi-boot EFI/BOOT/efiboot.img \ -no-emul-boot -eltorito-catalog boot/isolinux/boot.cat mx500/ # Make it a hybrid file so it can be "burned" to a CD or USB
# Note: the "-u" may not be needed. isohybrid -u mx500.iso # Make a Bootable USB Firmware Updater Disk (BIOS & UEFI) sudo dd if=mx500.iso of=/dev/sdX

I orignally used these sites as a reference for the remaster (among others).

 

Used the following website as a template:

https://github.com/patatetom/isohybrid-bios-uefi


Converted the mkisofs information to the more current xorrisfs:
https://manpages.debian.org/stretch/xorriso/xorrisofs.1.en.html

 NOTE:  Both of these methods should work on both of the current MX300 & MX500 updaters.

 

I privately reported the issue & solution to Crucial.   When I first notified them of the issue before I knew the cause, they told me it would work using Rufus and ISO mode as opposed to "dd" mode.  I am not a Windows user so I am unable to verify if this is true.   I'm not sure if there are any Linux utilities which can "burn" an ISO in this manner or not as I stopped using these utilities after encountering issues with some of them.  Since your burned CD didn't work, then I cannot see that Rufus would work either.  On the older Crucial firmware updaters, I always had to convert the ISO images to "isohybrid", but that did not work on the current MX300/MX500 ISOs.

 

 

Kilobyte Kid

Re: Feedback Thread Firmware M3CR023 for the MX500

Thanks for the reply. Interesting.

 

Meanwhile, I tried booting with UEFI, as suggested in another post, and everything worked. This of course rules out any need to use a Windows Rufus program. dd is the right utility to use to install onto a USB stick under unix style operating systems. It was already pretty obvious that the image was being installed correctly since the boot made it into a ISOLINUX prompt.

 

It was interesting that the boot from UEFI appeared to use grub, completely bypassing isolinux: this looks fairly obvious from the "tree" file display that I posted yesterday.

 

Thanks for your suggestions about installing ldlinux.c32. I hope to have time to try it later. I think that an easier way to do what you suggest is to loop mount the iso image in rw mode. Then I can directly edit the files. Then dd the modified image to an USBstick and see what happens. I used to do that sort of thing regularly, but a long time ago, so I will have to refresh my memory.

 

Kilobyte Kid

Re: Feedback Thread Firmware M3CR023 for the MX500


@Feature wrote:

 

 

 I hope to have time to try it later. I think that an easier way to do what you suggest is to loop mount the iso image in rw mode. Then I can directly edit the files.

 


Correcting myself: I had forgotten the obvious fact that it is not possible to write to an iso9660 filesystem.

 

Meanwhile, I have found the firmware image itself: it is in the initread filesystem in corepure64.gz. To inspect (and retrieve) that, gunzip the file, then extract the file with cpio. Look under /opt/:

$ tree opt
opt
├── bootlocal.sh
├── bootsync.sh
├── firmware
│   ├── firmware.properties
│   └── M3CR023
│       └── 1.bin
├── shutdown.sh
└── tcemirror

The firmware is in 1.bin.

 

 

Highlighted
JEDEC Jedi

Re: Feedback Thread Firmware M3CR023 for the MX500

@Feature I tried adding just the ldlinux.c32  file, but it would not boot without also replacing the isolinux.bin file.  It also would not boot by replacing just the isolinux.bin file.

 

The Debian maintainers do the same thing with their installers.  I believe I read in their documentation that it is easier for the maintainers to create a dual boot image (especially if it needs to boot from a CD) by using syslinux for the Legacy boot and Grub2 for UEFI booting.  At least that was the case in the early days of GRUB2.

 

There is usually multiple ways to get to the end result and your way with a loopback device should work as well.  I've had a personal interest in learning how to create a dual boot ISO image which is one reason I tried remastering it.  My other method is also useful in creating a bootable Windows installer using Linux or getting other ISO images to boot.

Kilobyte Kid

Re: Feedback Thread Firmware M3CR023 for the MX500

Firmware update 023 NOT working for BIOS systems!?

 

Have updated about a dozen MX300 drives to version 040 and later to 060 before, so I think know the drill...

But trying to update to version 023 (MX500) or 070 (MX300) fails in every possible way...

 

1) ISO-File:
Like a lot of other users I got the message saying that the boot image could not be found

 

2) Storage Executive:
After updating I (almost immediately) got the message that the Update was successful...
BUT after restarting the PC several times (both hard and soft) the Firmware STILL had the previous version
(which is also confirmed by the 'Storage Executive' software itself when reloading the drive overview)

 

Good job, Crucial!!!
Both firmware releases 023 (MX500) and 070 (MX300) seem to be a complete WASTE of time for people who simply do not have an UEFI boot-option available in their systems!

 

Verdict:
Regardless the fact, that such crucial changes to the prerequisites of the update process should be documented on the download site, the update-instructions and the changelog, the behaviour and user-feedback of both the bootable iso and “Storage Executive” are quite irritating...
If the update process alone already shows such a lack of minimum care, I really find it hard to confide in the quality of the provided firmware itself and its internal effort to keep my data safe in the long run.

 

 

Kilobyte Kid

Re: Feedback Thread Firmware M3CR023 for the MX500


@BeefJerky9 wrote:

Has anyone whose PSID was reverted to all zeros via the prior firmware update tried this one to see if it restores the proper PSID? I'm curious whether I'm going to have to RMA the drive to get a proper PSID again.


I did some tests with two MX500 which both had older Firmware when I got them:

1) factory FW = M3CR022, Opal never activated, never PSID-reverted. After FW-update to M3CR023 and multiple opal-activations (using sedutil-cli) followed by a PSID-Revert (using sedutil-cli or msecli) the PSID stays correct (PSID is still the one from the drive-label; 32x zero is not accepted)

2) factory FW = M3CR020, updated to M3CR022, Opal activated (not sure which firmware was active when I did that), PSID-reverted (using sedutil-cli). After FW-update to M3CR023 and multiple opal-activations (using sedutil-cli) followed by a PSID-Revert (using sedutil-cli or msecli) the PSID (still) consists of 32x zeros (PSID from the drive-label is not accepted).

 

Sadly that are mixed results. Anybody got any more insights?

 

EDIT 22.01.2019: Contacted Crucial via Support-Chat. They asked me to enable eDrive (HW-encryption using Bitlocker) and then PSID-revert the drive 2). Afterwards the PSID should be recovered. Haven't done that, yet....