Upgrade Crucial m4 SSD firmware on Mac without CD drive

Upgrading the Crucial m4 SSD firmware on the Mac without CD drive can be challenging. Easiest way I found is to use rEFIt Syslinux and an USB flash drive (USB stick). You also shouldn't be fainthearted to fire some Terminal commands which easily can destroy your data when used wrong.

Here is a list of what to do:

  1. Download the Manual Boot File for Windows and Mac® m4 firmware ISO file, unzip and mount it. For the 040H firmware the mounted disk name is CDROM.
  2. Copy the file BOOT/ISOLINUX/BOOT2880.IMG from the mounted ISO image somewhere to your hard disk.
  3. Eject the ISO image
  4. Download rEFIt-Syslinux, unzip and mount the DMG file. You get 2 disk devices: SYSLINUX and rEFIt
  5. Start Terminal.app on your Mac
  6. Unmount (not eject) the 2 disks:
diskutil unmount /Volumes/SYSLINUX
diskutil unmount /Volumes/rEFIt
  1. Insert the USB flash drive. Backup any data on the flash drive because you are going to overwrite it completely.
  2. Unmount the Flash drive either by using the Terminal as above if you know at which mount point it was mounted or by using the Disk Utility.app which allows you to identifiy and unmount it using the Mouse
  3. Identify the disk devices:
diskutil list
  • The rEFIt-Syslinux looks like this. At your machine it may be mounted using another disk device like disk3:
/dev/disk2
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     FDisk_partition_scheme                        *32.6 MB    disk2
   1:                 DOS_FAT_32 SYSLINUX                8.2 MB     disk2s1
   2:                  Apple_HFS rEFIt                   23.2 MB    disk2s2
  • The flash drive is probably below it. Compare the disk size with the flash drive size to identify the right device.
    1. You now are going to copy the content from the rEFIt-Syslinux image to the USB flash drive. That's the tricky part because you easily can destroy the wrong disk when entering wrong device paths. The device path is something like /dev/disk2. The following is an exampel, you need to enter the correct paths as identified by you:
dd if=/dev/rdisk2 of=/dev/rdiskX bs=1m
  • Source disk (or input): /dev/rdisk2 (rdisk is the raw variant of disk which is usually faster when using dd)
  • Destination disk (or output): /dev/rdiskX. Make absolutely sure your Destination disk is the flash drive and not any other disk.
    1. The new partitions from the flash drive are mounted now. If not remove the USB flash drive and reinsert it.
    2. Copy the file BOOT2880.IMG you saved in step 2. above to SYSLINUX
    3. Open the file syslinux.cfg in a text editor and change the last line from append initrd=/AN-SD25.ima to append initrd=/BOOT2880.IMG. Save the file.
    4. Reboot your Mac and hold the alt key when it starts. Choose rEFit from the list of startup disks.
    5. In the rEFit menu choose Boot Legacy OS from SYSLINUX
    6. In the UNetbootin menu choose SeaFlash. You now boot into the firmware upgrade utility. Follow the firmware upgrade instructions/manual from now on.

The article [Make a bootable USB flash drive/memory stick for Intel MacBook Pro] (http://www.io101.org/blog/howto/how-to-make-a-bootable-usb-flash-drive-m...) at io101.org was very helpful in developing the procedure described above.

Kommentare

After trying several other

After trying several other approaches from various sites including crucial's forum, none of which worked as described, I was so glad that I came across your blog post and I'm almost there. Hopefully the firmware update can salvage my SSD drive on a MacBook Pro with Mac OS X 10.6.8.

The USB stick is recognized as bootable and prompts me on start up. Unfortunately, after selecting the rEFIt option, I end up with a screen that says 'no bootable device – insert boot disk and press any key' and a blinking cursor, so I never see the UNetbootin/SeaFlash option. Not sure what's wrong. Timing issue? Motherboard doesn't support USB as boot device?

I was hoping you might be able to shed some light on the matter.

Bis dahin freundliche Grüße aus Venice, CA und besten Dank im Voraus,

Andreas

Works on Linux too

Thanks a lot! I am running Fedora 19 on a macbook pro with this same SSD drive, which is unable to resume from standby without this firmware update. (I initially blamed some Linux incompatibility with Apple hardware, but I was wrong).

I re-interpreted your guide to use Linux commands but I woudln't have been able to figure it out without your awesome description of the process.

Hi! thanks alot for your

Hi! thanks alot for your guide, I almost believed I could make it :)
But when I select boot legacy on Sylinux, rEFIT start well but then I have this msg in yellow :

Error : Not Found from LocateDevicePath
Error : Not Found from LocateDevicePath
Error : Not Found from LocateDevicePath
Error : Not Found from LocateDevicePath
Error : Not Found from LocateDevicePath
Error : Not Found from LocateDevicePath
Error : Load Error while (re)opening our installation volum

The firmware refused to boot from the selected volume. Note that external hard drives are not well-supported by Apple's firmware for legacy OS booting.
*Hit any key to continue*

----

Any clue? I'm stick with my SSD, I have a grey screen of death and my guts say that I need to update that firmware x)
PS: I'm on an iMac and no, I don't have a superdrive :]

Same problem

Hi, first of all thank you for your post.
All the procedure works well and I have done 2 memory stick with this method.

I don't have the UNetbootin menu so I cannot choose SeaFlash, then I have the same problem above:

Error : Not Found from LocateDevicePath
Error : Not Found from LocateDevicePath
Error : Not Found from LocateDevicePath
Error : Not Found from LocateDevicePath
Error : Not Found from LocateDevicePath
Error : Not Found from LocateDevicePath
Error : Load Error while (re)opening our installation volum

The firmware refused to boot from the selected volume. Note that external hard drives are not well-supported by Apple's firmware for legacy OS booting.

I have a 2009 imac 27 i5, with the Crucial M4 SSD installed in the optical drive bay.

Do you have any solution?

Thank you
*Hit any key to continue*

Thank you

Andrea

same nightmare! Help please

same nightmare!

Error : Not Found from LocateDevicePath
Error : Not Found from LocateDevicePath
Error : Not Found from LocateDevicePath
Error : Not Found from LocateDevicePath
Error : Not Found from LocateDevicePath
Error : Not Found from LocateDevicePath
Error : Load Error while (re)opening our installation volum

The firmware refused to boot from the selected volume. Note that external hard drives are not well-supported by Apple's firmware for legacy OS booting.
*Hit any key to continue*

Thank you Crucial!!!

M4

Hello, did you find how to do it ?
I've got the same issue and stuck...

Thanks !

Jdo

Thank you SO much.

I tried the similar process from the crucial forums and it didn't work but this did. Thank you for figuring it out and letting us all know!

Both this and booting from CD

Both this and booting from CD resulted in a black screen at startup.

SOLVED

Hi there, I solved the problem partitioning the other hard drive (not the SSD) and copying using dd the syslinux partition on the usb stick to the partition I create on the other internal HD.

This procedure is good if you have removed the optical drive and installed a SSD in the optibay.

Let's GO!

First do all the above step to create a bootable USB stick with rEFIt and mount it

then using disk utility partition the "other" hard drive with the less dimension as possible. Please note that OSx will create a huge partition (in my case 70Gb) google to search a procedure to do this if you don't know how to do it. Give the partition the name you want for example FIRMWARE

Then in terminal:

diskutil list

find the IDENTIFIER of both the new partition in the internal hard drive and the partition SYSLINUX in the USB stick for example in my case the partition was disk0s4 and the usb stick SYSLINUX partition was disk2s2

so in the terminal

diskutil unmount /Volumes/SYSLINUX
diskutil unmount /Volumes/FIRMWARE
sudo dd if=/dev/disk2s2 of=/dev/disk0s4 bs=1m

Reboot your Mac and hold the alt key when it starts. Choose rEFit from the list of startup disks.
In the rEFit menu choose Boot Legacy OS from SYSLINUX note that you will have 2 of this options one with a ORANGE hard drive symbol (is the partition on the USB stick) and another with the GRAY hard drive symbol, choose the second one (the grey hard drive)
In the UNetbootin menu choose SeaFlash. You now boot into the firmware upgrade utility. Follow the firmware upgrade instructions/manual from now on.

90% there

I followed your precious instructions but the moment I select from the rEFIt menu the BootLegacy from the HardDrive partition I only get an infinite prompt command and nothing happens :(
If I choose the BootLegacy from the Usb then I just get a black screen and nothing happens.

I have the same problem. I

I have the same problem. I just get a black screen :(

Thank you so much for sharing

Thank you so much for sharing this manual! All the other manuals where not very helpful but I made it work in one go with yours. Saved my week!

Works with Mac Mini

Thank you so much.
It first didn't find the bootable usb drive but after replugging the usb drive while in boot disk selection menu it works.

My System:
Mac Mini Mid 2011
OS: Mavericks

crucial m500 firmware update

Hi all

trying to update firmware for M500 sad..

but when i did the following:
dd if=/dev/rdisk2 of=/dev/rdiskX bs=1m

i got the message: "dd permissions denied"

what did i do wrong? Look forward to your solutions....

Don

crucial m500 firmware update

You need to start with sudo

sudo dd if=/dev/rdisk2 of=/dev/rdiskX bs=1m

you should get a password prompt. Hope that helps.