Flash Utility for PLDS/LiteOn Based Optical Drives (v7.2.0)



Flash Utility for LiteOn Based Optical Drives
Formerly known as Flash Reader
The Official Thread

What is it
Flash Utility is a tool to allow the reading and writing of the firmware Flash, in Windows, for almost all LiteOn based drives.

Well as you have probably seen, this tool is now called the Flash Utility. The reason for this is because this tool can now write the Flash as well as read it. When I first started this tool I wasn’t sure that I would be able to do the writing side of it, as it’s quite an involved process. LiteOn wisely didn’t limit themselves to one manufacturer’s flash part in a model, like some of the other drive manufactures, so the flasher has to download a special flash writer to the drive that supports the Flash part installed, hence the reason for the Flash ID. But I’m not one to let a challenge beat me too easily, in fact it tends to make me more determined, so here it is. It should support a lot of what LtnFW supported plus all of the new flash parts, that I know of, as well. Enjoy! :slight_smile:

Reading of Flash
Writing of Flash
Supports firmware BIN files and unscrambled Flasher EXE files
Supports up to 8MB reading
Supports up to 2MB writing
Auto learning of Flash ID and size for reading
Multi-threaded operation for write progress display

How to do a Flash read
Select the drive from the drop down list that you want to read the firmware from. Wait a few seconds while the drive checks the Flash type used in the drive. 50+ Flash IDs have already been incorporated into the Flash Reader utility, which will cover most of the 1MB and 2MB parts currently being used, but to protect the future usability of the program I have incorporated a learning feature for new and older Flash parts and allowed up to 8MB reads. If the flash is known then you will be returned to the first screen shown above with the correct Flash size set. If it is not known then the following dialog will be displayed.

This indicates that the Flash ID was unknown and that the true size of the flash has had to be calculated. Please check that the size that has been selected for your drive is correct. If it is incorrect, adjust the size and save the new size by clicking on the blue Flash ID as shown below.

Once you are happy that the drive and size are correct, just click the “Read Flash” button, enter a file name or accept the default and then wait for the read to finish. This can take up to two minutes for a 2MB flash.

If you get an error during the read, this is usually an indication that the flash size was set too large. The progress bar is a good indicator of how large the Flash actually is. If it has only progressed to half way then the Flash size is set to twice what it should actually be. Try setting the flash size to half of what it is currently set to and save it using the method explained above. In saying all of that, if my calculate Flash size routine works as I think it should, then this should never be required. :wink:

Now if only it was as easy to flash the drive… well it wasn’t easy but I’ve done it. phew - wipes sweat from brow

How to do a Flash write
The Flash Utility can also write the flash in most LiteOn based drives. This is an advanced feature and should be used with caution. No checking of whether the firmware matches the hardware is carried out, so if you select the wrong firmware for your drive then the drive could end up being dead. Of course the drive can be restored by using MTKFlash or XSF if your drive uses a serial flash.

If the “Write Flash” button and “Update boot code” check box is enabled then you can flash the currently selected drive. The “Flash Size” list is ignored for writing and instead the size of the binary file is used. The Flash utility does check that the bin file provided is one of the allowable sizes e.g. 128KB,256KB…2MB, so if you select a flasher file by mistake, you will get an error.

You can also specify an unscrambled Flasher EXE file, which you will finds on my site here: Code Guys. The Flash Utility will extract the firmware from the flasher file and write it to the drive. This may save you having to locate a binary file for your drive.

Click the “Write Flash” button to start the write process. A message box is displayed warning you of the dangers of using this function. Please make sure you have the right drive selected at this point.

Click the “Yes” button to continue and then select the require BIN file or Flasher EXE file to flash the drive with. To select a Flasher EXE file use the “Files of Type” dropdown list on the Open dialog to select “Executable files”.

A last chance warning will now be displayed showing the selected drive, the selected file and the state of the update boot code option.

Click the “Yes” button if you are sure everything is a it should be and the Flash write will begin. This process cannot be aborted at this point. The progress bar will move during the entire burn but in some rare cases may reach 100% before the write process is complete. I’ve handled the very slow flash chip used in the 1653S series (MX29LV008B), which takes 3x as long to write than most Flash parts, since I was unfortunate enough to get one in my drive. :wink: Also during the write Flash process, at the exact point that the flash is being erased/written “Writing…” will appear flashing on the display. Until this stops flashing the write is still being carried out, so don’t interrupt the process in any way.

When the Flash write is complete the drive list will be updated with the new version running in the drive, so you will know that all is well.

Another little feature I’ve added is a quick method to get to my site to check for updates. Just click on the CodeGuys graphic on the bottom of the application and your default browser will direct you to my site. :wink:

Special thanks goes to CDFreaks and RPC1 (The Firmware Page) and the authors of Dvdzone and PLScsi, xvi, Pat LaVarre and r-man. Without them, this utility would not have been possible.

Version: v7.2.0 (20 September 2015 - Final release)

  • Supports unlocked flasher method for greater flashing compatibility with newer models.
  • Supports accessing newer drives (many post-2011 MediaTek drives) on some computers
  • For details on potential changes, drives supported, and Windows versions supported, start at post 400 or so. (7.2.0 officially announced in post 444)

Version: v6.0.1 (18 February 2011)

  • Supports more drives, including all of the B series drives
  • Fixed - Pioneer drives could cause the app to hang at start up

Version: v5.0.0

  • Changes to the SCSI driver
  • Flash timing changes, for faster systems
  • Fixed bug when flashing LiteOn to Plextor and then back to LiteOn, without closing FU or selecting another drive.
  • Better compatibility with firmware encrypted drives
  • More drives supported

Version: v4.0.0 (17 March 2010)
More PLDS drives supported

Version: v3.0.3 (23 January 2009)
Now works with drives in boot mode (after a bad flash)
More drives supported

Version: v3.0.2 (19 August 2008)
New flash engine with more drives supported
Displays Flash type
“Update boot code” is now disabled by default (only enable when crossflashing)

Version: v2.2.4 (27 February 2008)
Displays the A4 version type (A or S)
Warns if the wrong A4 version is going to be flashed
“Update boot code” is now enabled by default

Version: v2.2.3 (16 January 2008)
Improved support for new models

Version: v2.2.2 (11 November 2007)
Improved support for new models

Version: v2.2.1 (26 October 2007)
Improved support for new models

Version: v2.2.0 (10 September 2007)
Supports 32 new flash chips (supports 20A3 series)

Version: v2.1.0 (10 August 2007)
The default file filter, when selecting a file to flash, is now (Binary/Flasher) *.bin and *.exe

Version: v2.0.1 (7 March 2007)
Fixed a bug that could cause a strange drive ID to be displayed after a flash

Version: v2.0.0 (13 September 2006)
Writing of Flash
Supports firmware BIN files and unscrambled Flasher EXE files

Download (6.0.1): Flash Utility
Mirror (6.0.1): Flash Utility
Download (7.2.0): Flash Utility 7.2.0

We would like to thank the people in the community whose work, either directly or indirectly, have helped us do what we do: TheKeyMaker, xvi, The Dangerous Brothers, >NIL:, ala42, 2601, dhc014, etna, Dale, digi, seeker010 and r-man.


Read the YV6P (FBD) firmware from my external LiteOn SHW-1635S drive over a [B]USB 2.0[/B] connection and a Prolific PL-3507 chipset enclosure. :iagree:

Also read the MV9N (HT 5.03) firmware from my external Sony DW-G120A @ LiteOn SHM-165P6S drive over a [B]FireWire[/B] connection and a Prolific PL-3507 chipset enclosure. :iagree:

Both firmwares were correctly loaded in MCSE. :clap: :slight_smile:

The MV9N firmware read from the cross-flashed DW-G120A@165P6S has Sony firmware and bootcode according to MCSE (see below), I don’t know if that’s normal?


thx C0deKing :bow:

i think MCSE just shows wrong information. the firmware and bootcode are the same, that’s not normal for liteon’s.


DrageMester, it would appear that none of the flashers you have used so far on that drive have overwritten the boot code section. This is an option when the flasher is compiled. All of my flashers write the bootcode section. Both of the versions ala42 displays are taken from the boot code area. See the attachment.

chok0, you’re welcome.



Thanks again.


Look what I got with MCSE:



What is the benefit in overwriting the bootcode, especially if a drive is crossflashed?



Thanks, C0deKing! :slight_smile: This worked with my SHM-165P6S, but not with my SOHR-5239V. Are CD drives supported?


Thanks C0deKing. :bow: :clap: :bow:

Looks like they are… :smiley:


Doesn’t Seem All Lite-On’s Are Supported, Well Not With My Really Old Lite-On CD-RW Burners.


Worked perfectly on my Laptop drive

Awesome work :slight_smile:


How come there are no such great tools for LG drives? :confused: It’s not fair! :sad:
C0deKing, you are really a KING!!! :bigsmile:
I’m probably asking BS, but can you make something similar for LG drives?

I’ve always wanted a Lite-On drive, just because of wonderful tools, like this one


Works great with my new 165P6S!


I have been away from forum allmost 5 months and as always You surprize C0deKing.
Keep going!


Pulsee, I think that LTR-52246S [I]flash size [/I] is bigger then 256kB. :slight_smile: [Firmware alone in binary format is 512kB.]

BTW, compared my backup in above post with “original” bin file size, but they doesn’t seem to match. :rolleyes:
For older Lite-On drives we still have LtnFW, if/when everything else fails. :bigsmile:


Can confirm that.



Thanks Pinto2

I Should Of Mention That I Tried Different Flash Sizes.

Not To Worry, But You Are Right We Still Have Ltnfw For The Older Models. :iagree:


I’ve just released v1.0.1, which fixes an issue that may have stopped the flash ID being read in CD-RW drives (hopefully this will fix the 5239V issue). Can someone please try this. Unfortunately I don’t have any non DVD reader LiteOns, so I will need help for this.

Pulsee, perhaps you can help me by running an IDE Trace test with LtnFW on your older drives. I can supply you with everything you would need to do it. :flower:

pinto2, can you give me some more details on the difference between the read file and the one you already had. I presume the one you already had was read with LtnFW?


Negative, Sir :frowning: Tried various flash sizes, all with the same outcome. DVD drives work fine, as with v1.0.0.


Thanks alexanderino. Perhaps pinto2 will at least see a Flash ID with his CD drive using v1.0.1.

I’ve sent you a PM with a link to a version I would appreciate you trying. :flower:


Hi C0deKing :slight_smile:

1.0.1b didn’t see the Flash ID, but it saved [I]something[/I] at the 512 kB setting. Screenshot attached as always :flower: