Home Blog Upload About Search
Liggy's and Dee's modified NEC and Optiarc firmwares

How to use the commandline version of Binflash

 
English German   Print

Download Binflash

First of all you need to download a version of Binflash that matches your Operating System. At the moment there are commandline versions for Windows, DOS, Linux and Mac available. You should ensure that you are always using the latest version, in case some important bugs have been fixed.

Uncompress files

The file you downloaded is compressed, so you need to uncompress it before usage. While Mac and Linux versions are compressed with tar and gz, DOS and Windows versions are zipped.

Scan for devices

After decompression you should have a file that is executed by entering necflash or ./necflash in some cases on Mac and Linux. In order for Binflash to work properly, you might need to have administrative/root rights on your PC. In order to continue using Binflash, you first need to find out which drives are supported by Binflash and how to access them. This is done with the following command

necflash -scan

This should lead to a result similar to the following:

Binflash - NEC version - (C) by Herrie and Liggy
Visit http://binflash.cdfreaks.com - http://www.herrie.org

List of supported devices:
Device   : 1.0.0
Vendor   : _NEC
Model    : DVD_RW ND-3540A
Firmware : 1.02

Device   : 2.0.1
Vendor   : _NEC
Model    : DVD_RW ND-2510A
Firmware : 2.18

The important part here is the information listed in the device line. This data will be called Device ID. You will very likely get a different result here and these are the values that you should use. The information here is just an example. If you get something like "A:" then that is what you need to use on your specific hardware.

Dump old firmware

Before updating the firmware of your drive, you should make a backup of your current firmware if you want to get back in case of problems with the new version.

necflash -dump OldFirmware.bin {Device ID}

where {Device ID} needs to be replaced with the value that you got during the previous step. After accepting the disclaimer and waiting for a few seconds your current firmware is extracted now. If you want to get a more detailled output, you can add a -v option to the commandline. This will lead to an output similar to the following:

Dumping firmware
Reading FLASH at 0x006000 in bank 0
Reading FLASH at 0x007000 in bank 0
Reading FLASH at 0x008000 in bank 0
.
.
.
Reading FLASH at 0x0fd000 in bank 0
Reading FLASH at 0x0fe000 in bank 0
Reading FLASH at 0x0ff000 in bank 0

Flash new firmware

Now that you dumped your current firmware, it is time to flash your drive with a new firmware. Flashing your drive works similar to dumping an old firmware. You just need to use the "-flash" switch instead of using "-dump".

necflash -flash NewFirmware.bin {Device ID}

where {Device ID} needs to be replaced with the value that you got from the device scan step and NewFirmware.bin has to be replaced with the firmware file that you want to flash. In most cases Binflash also accepts firmware executables that combine the flashing software and the new firmware. If everything goes well, the new firmware will be flashed within a few seconds. If you want to get a more detailled output, you can add a -v switch to the commandline again resulting in an output like this:

Identified drive: 7
Detected drive from Firmware: 7

Sending firmware to drive at 0x006000
Sending firmware to drive at 0x00e000
Sending firmware to drive at 0x016000
Sending firmware to drive at 0x01e000
.
.
.
Sending firmware to drive at 0x0ee000
Sending firmware to drive at 0x0f6000
Sending firmware to drive at 0x0fe000
Sending checksum to drive
Erasing flash block 2
Erasing flash block 3
.
.
Erasing flash block 17
Erasing flash block 18
Writing flash block 2
Writing flash block 3
.
.
Writing flash block 17
Writing flash block 18

Troubleshooting

If one of the command fails and you cannot see the reason for this, you should first check if you are already using the latest Binflash version. The current version is shown, when you call Binflash with the parameter "-version".

If you already have the latest version, you can try adding "-v" to the options when starting Binflash. This will produce some additional output that might be needed for locating the problem.

Several reasons are currently known that might prevent you from accessing the firmware of your drive. First of all several external USB or Firewire enclosures do not pass the necessary commands to the drive. The only way to get around this is to take your drive out of the enclosure and directly attach it to an IDE port. Unfortunately the only way to find out whether your enclosure is supported or not is by acutally trying to flash.

Dumping or flashing may also fail due to insufficient rights. On Windows you may need to be logged on as a user with administrative rights, Linux and Mac users might need root privileges. Consider using su or sudo here.

On Windows, flashing may fail due to a chipset specific IDE driver. There were several reports from people who installed nVidia nForce drivers and were unable to flash their drives. Neither Binflash nor the official flashing software from NEC will work. In this case try to remove these drivers and install the Microsoft drivers that came with your Windows installation.

Some Dual Athlon boards will not work with the Windows versions of Binflash either. The reason for this is unclear and the only solution here is to use DOS or Linux for flashing.

Flashing Optiarc burners may abort with an "Error submitting checksum" message, if the drive is set to UDMA4 mode. In this case please switch the drive to PIO mode.

This webspace was kindly provided by MyCE.com