Big thanks to TeddyRaspin for putting this together. The "dosflash" method described in this thread is now obsolete and is NOT recommended. Please use "official patched" flashers with "clean images" for downgrade.
Patched ASUS flasher (and actual firmware packs) - viewtopic.php?f=16&t=18933
Patched LG flasher (and obsolete firmware) - https://forum.cdrinfo.pl/f29/crossflash ... s58-96313/
Patched MK firmware packs - viewtopic.php?f=19&t=19113
---- ORIGINAL POST -----
here is my own guide to successfully dump and downgrade firmware on any "UHD Friendly" devices, such as Asus BC-12D2HT / BW-16D1HT or LG BH16NS40/NS55 (WH16NS40/NS55) (SVC Code NS50) and similar drives having MediaTek chipset inside them.
- Asus or LG UHD Friendly drive
- An USB stick DOS bootable (which can be made by Rufus tool)
- A motherboard having SATA controller set as IDE (not AHCI !!!)
- DOSFLASH modified version (attached below)
- WinHEX (Hed Editor for advanced users)
Steps for dumping firmware : (Windows Method)
- Download the Windows 7 Live (Portable Edition) ISO from here.
- Use Rufus and select the ISO image previously downloaded and prepare the USB stick.
- Unzip on USB stick root the DOSFLASH_Windows7.zip attached file below.
- Enable CMS in BIOS option in order to boot from the USB stick (NOT UEFI !!!!) and configure SATA controller as IDE !!
- Wait few seconds to allow Windows 7 properly loaded and as soon as the Windows 7 desktop appears, go to "My Computer", open the USB device letter, and run DOSFLASH32_BH16NS40.exe.
- Now, you should see the BH16NSxx (or ASUS) device listed. If not you have not properly set the SATA controller or it is not compatible with DOSFLASH.
- If everything looks fine, select first "Read Flash", in order to dump the current firmware.
- After the reading/dumping process, you will need to take the clean 1.02 (or any other UHD Friendly firmware) and prepare it with data imported from the original dump. To do this, you can send me your dump, or doing yourself via HEX Editing process (see below).
- Once you have prepared the UHD friendly firmware, reboot Windows 7 Live PE from USB and run DOSFLASH_BH16NS40.exe again. This time, select first "Erase Flash", and then "Write Flash".
- Select the firmware you prepared before, and wait for the task to be completed.
- Now, you can restore SATA Configuration settings, disabling CSM (needed for a full UEFI boot), and enjoy your UHD friendly device.
Steps for dumping firmware : (DOS Method)
- Prepare an USB FreeDOS bootable stick, using Rufus (which can be downloaded here).
- Unzip on USB root the DOSFLASH.zip attached file.
- Enter into motherboard BIOS settings and set SATA Controller as IDE (or Legacy). If you can handle only AHCI, DOSFLASH will not properly work, or it could not work at all.
Be sure to connect your ASUS/LG drive alone, as SATA Primary Master (USE SATA1 or SATA2 controller ports).
- Disable CSM (Compatibility Support Mode) and boot from the USB stick.
- At the command Prompt, type "DOSFLASH" and press Enter. If it does not detect anything, retype again. It could be needed to type DOSFLASH 3-4 times before ASUS/LG device be properly detected. It should show the Manufacter ID of your device, namely "MediaTek MT1959".
- Press the relative number of the detected device (1 in my case) and press "R" (without quotes) to dump eeprom firmware.
- Save firmware with the name you like and keep it safe.
- At this point you can zip it and send this file to me and I will create a 100% working firmware in order to turn back the UHD capabilities as well as to fix the "Drive Signature DV value" or "Bus Encryption" error shown in AnyDVD HD !!!!
Steps for dumping firmware : (Devilsclaw's Method only for old firmwares)
- Download the Devilsclaw's flasher from here
- Unzip the relative version (32 or 64 bit) into C:\TEMP (for example) and open an Elevated Command Prompt (that is with admin privileges).
- Go to C:\TEMP directory (or any other dir in which you've previously unzipped flasher) and type : "flasher -D" (without quotes) to display the Device ID of your drive(s).
- Now type "flasher -d [driveid] -l firmware.bin 6 00000000 00200000" (without quotes) and press enter. A file called firmware.bin will be created. Keep it safe and send it to me if you want to upgrade to a newer version.
Steps for importing data from backup firmwares : (Hex Editing)
- Install WinHEX (or any other similar Hex Editor).
- Open the dumped DOSFLASH firmware and the new one you want to flash on your device. (*)
- On the backup firmware (the dumped one) select hex range starting from 0x1E8000 offset to 0x1E84FF and copy it in the same range of the new firmware. (**)
- Do the same as point 3. but starting now from 0x1E9000 to the end of the file. (***)
- Save the new firmware (for example as TEST.BIN).
- You are now ready for flashing (or crossflashing) the new firmware (or a downgrade version).
** - This point is the most important of all, as it contains the Drive Signature (DV Value) needed for the bus encryption and it is specific for each drive !!!!
*** - This point is useful for importing the correct laser calibration data but I've found that ASUS/LG devices have almost the same behaviour even with different calibration data.
Steps for importing data from backup firmwares : (Automatic Method)
- Unzip the EEPROM Data Mover attached below.
- Open it, select first the dumped original firmware.
- Select now a clean firmware to insert data (clean firmwares can be found here).
- Type now a firmware name (i.e. TEST.BIN) which will be the one you will eventually need to flash on your drive.
Steps for flashing firmware : (DOSFLASH modified method)
- Follow the same steps written for the dumping method, until you arrive at the DOSFLASH command prompt.
- Be sure to have copied the new prepared (TEST.BIN) firmware onto root of your USB stick.
- Press the relative number of your detected device under DOSFLASH (1 in my case).
- Type "E" (without quotes) to fully erase your drive eeprom and wait for the end of the task.
- Now type again DOSFLASH, press the relative number and the "W" letter (without quotes) for writing firmware.
- Type the firmware name (TEST.BIN in this example) and wait 1 min or less to the end of the process. (It has to write 32 rom banks starting from 0 to 31).
- Eventually you will see the blue light of your device blinking. This is the proof your drive has been initialized again and ready to work.
- Reconnect your devices as before, do the same with bios settings for UEFI support and boot your Windows OS.
- Now you're ready to see if your work has been properly done and your device working again with UHD discs !!!
If you forget to make a valid dump of your drive before flashing or try to flash a dump taken on the net, there is a high risk (> 90%) your device will be useless
and you will have to throw it in the WC.
To be updated if needed.