Guide to Flashing the Panasonic Codefree Custom Firmware (UB424 / UB824 / UB9004) - Update 1.82

Started by: Assassin — Started: 12 Feb 2024 — Replies: 607 — Views: 106,641 — Latest activity: 21 Jul 2026 — Tags: multiregion regionfree regionfreedom
Assassin IDDQD Moderator

Guide to Flashing the Panasonic Codefree Custom Firmware
UB420/424, UB820/824, UB9000/9004

As of: 21 Apr 2026 / Firmware 1.82 + Dark Theme V1.39 + Connect/USB fix

After a successful flash, any region code can be selected, external .SRT subtitles can be played from USB, PUO/UOP is partially disabled, the UB424 and UB824 gain the 350/500 nits function from the UB9004, and more.

Disclaimer: The original firmware is copied from the device, modified, and written back to the device. Any warranty claims are void in the process. The whole process has been extensively verified by the creators and users, but it involves many steps that must be carried out with the utmost care and without any time pressure. There is still the possibility of bricking the player if steps are skipped or carried out incorrectly.

Credits & Source: Credit for the firmware goes primarily to prodarek and Drecksoft on AVForums.

Windows users: All work is performed inside a virtual machine. To that end, Oracle VirtualBox is used to run a completely pre-configured Lubuntu Linux installation.

Linux users: No virtual machine is needed here; you can jump in directly at the download of the patch. Depending on your Linux distribution, installation of additional libraries is required — see the file 2_instructions.txt in the patch, point 1.

macOS users: VirtualBox is guaranteed to work up to and including macOS 12 Monterey. Since VirtualBox 7.1, Apple processors are supported; from 7.2 onward, macOS 13 Ventura is required.

The following instructions refer to use with Windows.

I. Preparation

1. The Panasonic player must be updated to the official firmware 1.82. This can be done via the built-in update function or manually via a FAT32 USB stick. If an older custom firmware is already installed, it will be overwritten automatically. After a successful update, automatic firmware updates should be turned off.

2. Note down the player's IP address under Setup > Player Settings > Network > Network Settings > IP Address / DNS Settings.

3. The player's Quick Start and Viera Link must be turned off. Setup > Player Settings > System > Quick Start / Viera Link > Off.

4. Discs or USB devices must be removed from the player.

5. A USB stick with at least 8 GB of capacity is required (4 GB might work). A fast USB 3 stick is recommended here.

6. Download and install VirtualBox.

(If not already present in Windows, the Visual C++ Redistributable may need to be downloaded and installed beforehand.)

7. Download and extract (WinRAR or 7-Zip) the Lubuntu Linux image (password: lulu): 3.11 GB file on MEGA

II. Creating and Flashing the Firmware

1. Start VirtualBox, use "Add" to open the extracted Lubuntu image (the file "lubuntu.vbox") and then start it.

2. If an error message prevents the VM from starting, virtualization is not enabled in your PC's UEFI/BIOS. This is called e.g. Intel Virtualization Technology, Intel VT, or AMD-V, depending on your motherboard manufacturer it can be found in a different location in the configuration.

3. Once the VM has started and the desktop has loaded, the patch package must also be downloaded inside the VM, due to permission inheritance. Lubuntu start menu > Internet > Firefox web browser: Patch-Program169-182.7z (or insert the link found there). [Mirror in the attachment of this post: Patch-Program169-182.zip]

4. Plug the USB stick into the PC. It must then be mounted at the top via the VM's top menu: Devices > USB > click the USB stick name (a checkmark appears next to it). A window "Open in File Manager" will open; confirm it.

5. In this window, navigate to lu > Downloads at the top, and right-click "Extract Here" on the "Patch-Program169-182.7z" you just downloaded. In the newly created folder of the same name, start the program "Patcher", confirm with "Execute" and accept the Software User Agreement.

6. In the Patcher, top right, select the USB stick under "Select USB Device", click "Create USB" and confirm the security warning. In the next authentication window, enter the password "lulu". Formatting the USB stick takes about 2–5 minutes (the progress stays at 0.00%) and ends with the message "Successfully wrote [ 3690.00 Mb ] to [ /dev/sdb ]."

7. Go back to the File Manager and click the eject icon next to the USB stick. Then unmount it via the VM's top menu by clicking it again under Devices > USB > USB stick name. You can now unplug the USB stick.

8. Now plug the prepared USB stick into the powered-off Panasonic player. Then turn the player on and wait until it has booted (the display shows Home).

9. In the Patcher program (if it was closed, simply reopen it), enter the player's IP address in the top left and click "Connect".

Warning: If problems occur here and the connection fails, the USB stick must be recreated with an alternative file. Please follow point VIII at the very bottom of this guide for details.

10. Now click the new "Exec Script" button at the top. The player's firmware is now written to the USB stick. Wait until "### ALL DONE ###" is reported.

11. Now turn the player off. Once the device has shut down safely, you can unplug the USB stick.

12. Plug the USB stick back into the PC, mount it again via the Lubuntu top menu and open the File Manager. In the upper partition "3.8 GB Volume" there are various folders and files such as "script.sh" and four "fma*.img" files (* = 4, 5, 6, 7).

This is also the ideal moment to back up the original firmware dump. Without the original files, no further patches/features can be applied to the currently installed firmware (see V. Dark Mode or VI. Feature Updates of the Patch). We therefore copy the four files fma4.img, fma5.img, fma6.img and fma7.img into a separate folder in Lubuntu. In an emergency, the original files of other people/players can be used.

Now we copy the path of our USB stick: At the top we see a grey-highlighted alphanumeric combination XXXX-XXXX — right-click on it and select "Copy Path".

13. We start QTerminal under Lubuntu start menu > System Tools > QTerminal. The following commands are always entered without quotation marks. Ideally, pasting the copied commands is done with CTRL+SHIFT+V (not with right-click).

14. In the new terminal window, type "cd", then a space, then paste the copied USB stick path with CTRL+SHIFT+V. The line now reads "cd /media/lu/XXXX-XXXX". Confirm with Enter.

15. Type "dir" and press Enter. If the files from before, such as "script.sh", appear, we are in the right place.

16. Not applicable / placeholder for optional additional patches.

(Currently only relevant for users who want to display Asian characters in subtitles — read the folder/instructions in the .7z file.)

17. Now enter:

sudo bash 2_patch.sh

Confirm with Enter. Enter the system password "lulu" (it will not be displayed) and confirm with Enter again. Creation takes a short moment and ends with "### ALL DONE ###".

18. As the final command, enter:

cp -f 3_write.sh script.sh

Confirm with Enter. The firmware is now fully prepared and QTerminal can simply be closed.

[Image: IMG_4803.webp]

19. In the File Manager, click Eject for the USB stick again and unmount via the top menu before unplugging the stick.

--- Interruption possible / Point of no return ---

20. Now plug the USB stick into the powered-off Panasonic player and turn the player on.

21. Go back to the Patcher program, enter the IP address again, click "Connect" and then "Exec Script".

The Patcher now writes the new firmware to the player. The messages "Start writing /dev/fma4", "Start writing /dev/fma5", "Start writing /dev/fma7" follow.

Attention: After 20 minutes without input, the Panasonic goes into standby. If this happens, the player is irreversibly bricked. Depending on the speed of the USB stick, flashing the firmware takes about 15 minutes, but it could take longer, i.e. more than 20 minutes. For this reason, after about 10 minutes we press the "Left" or "Right" button on the remote control 1–2 times as a precaution (not OK, Stop, Return, etc.).

The successful write operation ends with "### ALL DONE ###".

[Image: IMG_4804.webp]

22. Now turn the player off, ideally via the power button on the device itself. It may take a moment until all displays on the screen have gone out. We now unplug the power cable, remove the stick, and can meanwhile exit Lubuntu and the VM.

Now plug the power cable back in, wait briefly until the message on the display has disappeared, and start the player. We are greeted by the new home screen — and we are done!

[Image: IMG_4805.webp]

III. Codefree Settings / Key Combinations

In the Panasonic-Patcher folder you will find the file PanasonicCodefree.pdf with all key combinations.

First, we absolutely must enable the Advanced Features with:

OPT OPT OPT 9 1

The player now restarts. Now forced subtitles can be turned off, forced trailers can be skipped, etc. A complete "PUO off" for directly skipping forced messages is still work in progress.

The Codefree (region) setting is done with:

OPT OPT OPT  DVD_REGION  BD_REGION

i.e. DVD Region 1 and BD Region A would be:

OPT OPT OPT 1 1

IV. Playing External Subtitles

If your desired BD/UHD disc doesn't have suitable subtitles, they can now be supplied in the form of an .srt file with UTF-8 text. To do this, the subtitle file — which must be named exactly "sub.srt" — is placed on a FAT-formatted USB stick. The file must be in a folder called "sub": sub\sub.srt.

V. Adding Dark Mode Afterwards

To add Dark Mode to an already flashed player, the following steps are needed:

1. If you don't have one yet, create a new USB stick with the Patcher (cf. II.6.). It may be necessary to unmount the stick, unplug it, plug it back in and mount it again.

2. Download the Dark Mode Patch: the file in the attachment of this post: patcher_overlay_V1.39.zip

3. Extract the patch and copy its contents to the USB stick, overwriting the reported files. A configuration can be made via 0_setup.ini.

4. Copy our backed-up 4 fma*.img files of the original firmware into the folder on the stick.

5. In QTerminal, mount the path to the stick again and run the familiar sudo command again:

cd /media/lu/XXXX-XXXX
sudo bash 2_patch.sh

6. Now put the finished stick back into the player, connect with the Patcher and run the script. The process has now been split into two steps. In Stage 1, fma 4 5 6 are written, which takes only a few seconds.

7. Now bring the stick back into Lubuntu the usual way and open 0_setup.ini on the stick. Change STAGE=1 to STAGE=2 here and save. Then put it back into the player and connect. Now fma 7 is written.

VI. Feature Updates of the Patch

Not yet available at the moment: If a feature update or a new optional patch within firmware 1.82 is to be applied, reading out the firmware (steps 7–11) must be skipped. We then download the potential new patcher package, create a fresh USB stick again, and copy our backed-up 4 fma*.img files of the original firmware into the folder on the stick, before we continue with step 12 and QTerminal. The modified firmware must not be patched a second time (brick danger!), which is why the backup is so important.

VII. Resetting the Used USB Stick

If the USB stick is to be used conventionally again, it must first be freed from the two partitions and formatted anew. In Windows it is initially not visible, but can be found under Computer Management > Storage > Disk Management. With right-click > Delete Volume, the 100 MB partition and the 3.50 GB partition are removed. What remains is an unallocated block, which can be formatted again and assigned a drive letter via right-click > New Simple Volume.

VIII. Problems Mounting / Recognizing the USB Stick in the VM or the Player

A few users had problems being unable to read out the firmware with the sticks they created. The Patcher reported "Failed to connect to the ip xxx.xxx.xxx.xxx - Could not connect to the player". Others reported that the created USB sticks were no longer recognized in the VM, despite correct unmounting and mounting. The solution for this is an alternative file:

1. Download the file drive.img.gz

2. In Lubuntu, place this file in the "Patch-Program169-182/res/" folder of the extracted Patcher and overwrite the existing file.

3. Create a new stick with the Patcher. This also works noticeably faster now, and the partition is about 1 GB instead of 3.5 GB.

Postscript:

If no connection can be established even with this new file, various users had success with the following options:

  • Try other USB 3 sticks
  • Try a USB 2.0 stick
  • Perform the creation of the USB stick on Windows 10 instead of Windows 11
Attachments
Last edited: 21 Apr 2026
jenzi

Oh, that's very kind of you! 👍
I've been following the development process for a while and hope that the process will be simplified even further.

leeloo [aka Aggro-Tante] Delusion of False Facts

Oh, awesome! 🤵🤵🤵
@Assassin for User of the Year! 🎉🎉🎉

Assassin IDDQD Moderator

Okay, I've described one or two passages more precisely and in parallel created another firmware in my VM. It should now also be possible to follow for someone who has never sat in front of a Linux interface or command line before.

DaMikstar Keep-Case-Fanboy

VirtualBox doesn't run on Apple Silicon CPUs. The current version should, however, also run on macOS Sonoma on Intel machines. Oracle doesn't make any restrictions there.

WernerBiskup 90+6

Are there any experiences on how the DVD region-free switch via remote control could influence this?

Assassin IDDQD Moderator
WernerBiskup wrote:
Are there any experiences on how the DVD region-free switch via remote control could influence this?

It remains unaffected, I have it set myself. It already remained set during official firmware updates.

VNV Nation Knipp instead of Caviar

I believe (and hope) it worked on my 9004. Going to test it properly tomorrow…

[Attachment: 2024-02-13.webp]

Seripmac £8.10

A real gentleman!

Assassin IDDQD Moderator
VNV Nation wrote:
I believe (and hope) it worked on my 9004. Going to test it properly tomorrow… [attachment 205637]

I can see two error messages in the last section. I asked the creator, prodarek, for you — he says it's harmless and can be ignored. Another user has now also reported these lines, and it's harmless.

Last edited: 13 Feb 2024
VNV Nation Knipp instead of Caviar

@Assassin: Hi & thanks for already having asked about the supposed error. Your guide is really great… especially for me as an absolute VM- and Linux-noob. 😎

Last edited: 13 Feb 2024
Assassin IDDQD Moderator

Glad to hear it. Did anything else stand out to you anywhere or was anything unclear, then I'll improve the description. (I just remembered that at either #10 read-out or #21 write, an additional blue info window with OK/Continue must be confirmed once — but otherwise it wouldn't continue anyway, I think.)

roother

@Assassin: Many thanks for your effort and the great guide.

I myself am an absolute noob in this area, but thanks to your detailed explanation I feel I can manage this procedure.

One more question: if I mess up the flashing due to massive stupidity on my part, is there then the possibility of a normal factory reset, or is my software gone?

VNV Nation Knipp instead of Caviar
Assassin wrote:
…Did anything else stand out to you anywhere or was anything unclear, then I'll improve the description. (I just remembered that at either #10 read-out or #21 write, an additional blue info window with OK/Continue must be confirmed once — but otherwise it wouldn't continue anyway, I think.)

Regarding 14.): It should be mentioned at the very beginning that a space must also be entered after "dir". It is stated at the end of the description, but I actually overlooked it, and of course no corresponding folder could be found.

Regarding the blue info window: I'm afraid I no longer remember exactly when it appeared. For me it was self-explanatory at that point, as the top bar of the window said something along the lines of "click OK to continue". It could of course gladly be included in the guide.

I haven't gotten to thorough testing yet (including a Region A disc). For now I'm just glad that the player boots and shuts down normally without complaining. I need a few cups of coffee first! 😀

leeloo [aka Aggro-Tante] Delusion of False Facts
VNV Nation wrote:
Going to test it properly tomorrow…
VNV Nation wrote:
(…) haven't gotten to it yet. (…) I need a few cups of coffee first! 😀

That sounds like you didn't exactly keep the very first step in mind…

the ones that must be carried out with the utmost care and without any time pressure.

😤

Last edited: 13 Feb 2024
WernerBiskup 90+6

Is there an overview of what additional improvements have been added? I only briefly looked at AVForums and didn't find a direct overview there either. For me, Blu-ray region-free would be rather uninteresting, but there are a few other new features tied to it. I had already read somewhere about the 9000-series menu, plus the nits options from the 9000-series for the 820/824 too. I also saw something somewhere about a kernel patch. Sorry if I'm asking about this now and it's already listed somewhere here.

Assassin IDDQD Moderator
VNV Nation wrote:
Assassin wrote:
…Did anything else stand out to you anywhere or was anything unclear…
Regarding 14.): It should be mentioned at the very beginning that a space must also be entered after "dir".… Regarding the blue info window: I'm afraid I no longer remember exactly when it appeared.… I need a few cups of coffee first!

The thing about the space with "dir" is new to me; I never had to do that.

Nice that the player is running and that you dared to try it!

WernerBiskup wrote:
Is there an overview of what additional improvements have been added?…

The kernel thing is basically a bug fix. In terms of features, Closed Caption display for RC1 DVDs has been added, as well as the High-End menu from the 9004 for the 824. Additionally, for example, the colored background of notifications in the top right has been changed so it's not so glaring. I already mentioned the subtitle thing and the spelled-out languages (German instead of DEU).

One thing upfront: enabling Dolby Vision + external subs on the 424 probably won't work, or not in the foreseeable future.


Here is the changelog:

2024-02-11
Only the default patches for 1.76 have been tested by me.
- New set of patches for 1.76. Old ones are included in folder patch-1760-v1. The new patches MUST be applied to a stock firmware, not an already patched one. Hope you saved the original fma?.img files or kept the USB stick
- The kernel for 1.76 now has both functions fixed which were causing 100% CPU on one core each. Thanks to msx42 for the second patch. He actually re-implemented the function in a proper way
- Include color patches for 1.76 by prodarek as default
- Enabled Closed Caption display for 1.76
- Include a kernel patch for the Japanese firmware 1.69 (first patch only)
- Additional apl_lang.dat script for Japanese version by Drakster
- Improved the patch script again. A few suggestions came from JonnyBoyo
- Improved the dump script. Also saves the current settings (fake_eeprom) now
- Improved the write script. Besides other changes it will verify after write
- Improved apl_lang.dat for 1.76 again with additional strings for the extended menus of the Japanese UB9000
- Changed the main player menu to the "High End" version on 1.76. Looks nicer. This is part of the init patch and cannot be selected separately
- Enabled a few options usually only enabled in UB900x models or where I thought they could be interesting: ENABLE_HIGH_END_PLAYER (only changes the menu look), ENABLE_CLOSED_CAPTION, ENABLE_AAC_MCH, ENABLE_DTCP2, ENABLE_DVDCPRM, ENABLE_RUICLIENT
- Include subtitle, color patches and kernel patch port (fixes both functions like the one for 1.76) by prodarek for 1.69. The old patch set is still available in the directory patch-1690-v1

2023-12-20
- Support for multiple firmware versions
- Disabled version check (thanks to prodarek)
- Include patches for (international) firmware versions 1.69, 1.70 and 1.76
- Include the Dumper
- Include scripts for apl_lang.dat conversion / editing by Drakster
- apl_lang.dat patches for 1.70 and 1.76 thanks to kuosu
- Improved apl_lang.dat for 1.70+ thanks to kuosu. Menu entries for external subtitles should now work in all languages (texts will always be in English)
- Improved apl_lang.dat for 1.76 even more. See 4_alternative_patches.txt
- Improved scripts
- Include patch for better external subtitles by prodarek
- Include patch to disable authentication on external http control by geekerth and prodarek
- Patch the high CPU usage in one of two functions (so only a 50% patch)
- Changed SOCAT options
- Reduced the image filesize so 4GB sticks can be used (untested)

2023-08-30
- Initial release
- Supports firmware 1.69 only (international version)
- Applies all RegionFreedom changes (without MAC and model check) and disables the annoying "HIGH CLARITY SOUND ON(V.ON)" message on the front display

And here is a possible "To-Do" list:

Things that could be improved:

- Real PUO off. Currently only fast forward is enabled in most cases, not skip (for BD). Sometimes you can bypass the restriction by pressing Stop and then Top Menu twice (!)
- Enable BD-XL playback. I'm not sure, if that is possible. It could be a hardware restriction of the drive but it would be a great enhancement. Maybe it is just a driver setting or a software-lock.
- Enable BD structure playback from DVD. Currently the player only accepts AVCHD on DVD (V1 files) and won't play BD on DVD (V2 files). There is no technical reason for that.
- Enable playback of pure TrueHD streams (without AC3 core) on BD (yes, that is not standard compliant but there's no reason why it shouldn't work at least with bitstream output).
- Implement a "fast-start" option. My old Pioneer DVD player just played the longest title on the disc. With series DVDs it seem to be even more intelligent. If several titles had a similar length, it played the first. Such an option would be nice but much more than just a patch. As an alternative, start directly with the main menu. That might be easier to implement.
- Disable auto-preload of Netflix (& others ?).

Less important for me but nice:
- Enable MGVC playback for Non-Japanese models.
- Remove the restrictions for USB / network playback. It won't even play DD+ with 640kbit - not even with bitstream out. That sucks.
- Disable the Netflix button on the remote. This one sucks badly on the 424/824 remote. But the workaround is to get a 9004 remote clone ;)

cyborg_2029 Too cool for Social Media

How should I understand point 21 (in red): The PC must not go into standby — is the player connected to the PC via the network?

Assassin IDDQD Moderator
cyborg_2029 wrote:
How should I understand point 21 (in red): The PC must not go into standby — is the player connected to the PC via the network?

Yes, that's also why you have to enter the IP address for the read-out and writing. The Patcher sends the commands to the player, respectively to the USB stick inside it.

Punk HEARTATTACK & VINE

I've just given my player — on which an aging Region Freedom FW was still installed, which unfortunately had been applied at a time when Panasonic had not yet released a Dolby Vision patch — an update too. @Assassin and the others: Many thanks for the work you have put in to liberate the FW! It was easy and everything works great — including Dolby Vision!

English translation of the German forum thread "Guide zum Flashen der Panasonic Codefree Custom Firmware (UB424 / UB824 / UB9004) - Update 1.82" from movieside.de (Wayback Machine capture of 29 Jul 2026). The changelog and To-Do list in the original were already in English and are reproduced as-is.