DVD reader/writer firmware flashing from linux (64)

I needed to complete my audio stack with a dvd/blu-ray reader/writer.
The hardware:
– 6 years old LG GGW-H20L
– Sun 411 cd/tape enclosure 😉 no screw, a really well designed and old enclosure for 5.25″
– Ugreen adaptor USB 3.0 to SATA
– 12v psu (plugged directly in the ugreen adaptor, a linear psu for me).

The LG is a great device but hopelessly needing a firmware refresh, region free.

Update: go to the page bottom to get the FW zip file YL07 pre-patched

First step, get the firmware (LG website or other) and patch it

-- Go to http://ala42.cdfreaks.com/MCSE/ and get the latest version of MediaCodeSpeedEdit
# wget -nd http://ala42.cdfreaks.com/MCSE/MediaCodeSpeedEdit.zip
# unzip MediaCodeSpeedEdit.zip
# cd MediaCodeSpeedEdit

-- .exe => wine32
# dpkg --add-architecture i386 && apt-get update && apt-get install wine32
# wine MediaCodeSpeedEdit.exe

-- Load the firmware (.exe|.bin latest official firmware) 
-- Check "RPC2 Auto Reset"
-- Save ... and your done with the firmware!

Second step, get “flasher” running..

# cd /usr/src/
# git clone https://github.com/devilsclaw/flasher.git
# cd flasher

# cmake .
# make
-- binary is in ... /usr/src/build/bin/flasher/flasher    (strange)

Third and last step, flash !

-- backup previous (drive could be something in /dev/ - use dmesg if you're not sure)
# mkdir bk; cd bk
# /usr/src/build/bin/flasher/flasher -d /dev/sr0 -m main.bin
# /usr/src/build/bin/flasher/flasher -d /dev/sr0 -c core.bin

-- Backups ok? we will proceed -- Split the .exe if needed (your filename patched - here i use mine) # cd <where_the_firmware_is> # /usr/src/build/bin/flasher/flasher -r GWH20L_YL07_speedpatched.exe -- CORE_GGWH20L_YL07_speedpatched.exe.bin generated -- MAIN_GGWH20L_YL07_speedpatched.exe.bin generated - this is the one

-- HERE WE GO ! # /usr/src/build/bin/flasher/flasher -d /dev/sr0 -f MAIN_GGWH20L_YL07_speedpatched.exe.bin -- WAIT
-- Now, you will need to unpower completely the drive. In my case, unplug usb and external 12v power. -- Plug it back and it happened! Magic # dmesg -t | grep GGW-H20L --- before scsi 6:0:0:0: CD-ROM HL-DT-ST BD-RE GGW-H20L YL05 PQ: 0 ANSI: 0 --- after scsi 9:0:0:0: CD-ROM HL-DT-ST BD-RE GGW-H20L YL07 PQ: 0 ANSI: 0

Bye!

5 thoughts on “DVD reader/writer firmware flashing from linux (64)

  • I did as you wrote but flasher segfaults in ubuntu 17.10
    How can I compile it right?

    # apt-get install gcc-multilib libc6-dev-i386

    # cd /usr/src/
    # git clone https://github.com/devilsclaw/flasher.git
    # cd flasher

    — COOL! CMAKE. i love it.
    # echo ‘add_definitions(-m32)’ >> CMakeLists.txt
    # echo ‘set( CMAKE_EXE_LINKER_FLAGS “${CMAKE_EXE_LINKER_FLAGS} -m32” )’ >> CMakeLists.txt
    # echo ‘set( CMAKE_SHARED_LINKER_FLAGS “${CMAKE_SHARED_LINKER_FLAGS} -m32” )’ >> CMakeLists.txt
    # echo ‘set( CMAKE_MODULE_LINKER_FLAGS “${CMAKE_MODULE_LINKER_FLAGS} -m32” )’ >> CMakeLists.txt

    # cmake .
    # make

    ./build/bin/flasher/flasher -d /dev/sr0 -m main.bin
    Devilsclaw’s LG Renesas Drive Utility
    cmd_drive: Opening Drive: /dev/sr0.
    Segmentation fault (core dumped)

  • Hi Guillaume,
    With such a first name, I guess you’re french, so I will continue in French. If I guessed it wrong, just let me know !
    Je viens d’installer UBUNTU sur le PC que je viens d’assembler et j’y ai aussi monté un lecteur LG GGW-H20L (avec Firmware YL05).
    L’objectif est d’essayer d’y lire les 2-3 HD-DVD que j’ai encore dans ma vidéothèque perso …
    Mais impossible de les lire … Après plusieurs recherches (DumpHd ne fonctionnant pas non plus) j’ai cru comprendre qu’il fallait que j’installe une version patchée du firmware.
    Mais vu l’age du lecteur, les liens que l’on trouve sur certains forum sont “morts”.
    Est-ce que vous auriez une version patchée du YL05 à me passer ? Et si en plus vous pouviez m’expliquer comment l’installer simplement avec UBUNTU, ce serait vraiment super !

    En vous remerciant par avance,
    Yves

  • Bonjour Yves,

    Rapidement les commandes à taper sur ubuntu:


    --- Passer en root
    $ sudo bash

    --- compilation de flasher

    # apt-get install cmake gcc git wget unzip
    #
    # cd /usr/src
    #
    # git clone https://github.com/devilsclaw/flasher.git
    #
    # cd flasher
    #
    # cmake .
    #
    # make

    ...
    [100%] Linking C executable /usr/src/build/bin/flasher/flasher
    [100%] Built target flasher

    #
    # wget -n "https://guillaumeplay""ground.net/wp-content/uploads/2020/05/GGWH20L_YL07_speedpatched-1.zip"
    #
    # unzip GGWH20L_YL07_speedpatched-1.zip
    #
    # /usr/src/build/bin/flasher/flasher -d /dev/sr0 -f MAIN_GGWH20L_YL07_speedpatched.exe.bin
    #

    Ca suppose que votre lecteur est sur le device ‘sr0’.
    Il suffit ensuite de redemarrer le lecteur (reboot) et le firmware devrait etre passé en YL07 sans limite de zone.

    Tapez ca pour vérifier:

    dmesg -t | grep GGW-H20L
    

Leave a Reply

Your email address will not be published. Required fields are marked *