FREE Oppo and Clones Jailbreak A Huge thanks to: moremodey1 and to annonymous for the RU firmware! ________________________________________________________________________________________ Oppo-203/205 Owners Only ________________________________________________________________________________________ For owners of an Oppo-203/205, its now recommended to backup the NAND before and after you do the Russian Jailbreak or a firmware update. This can help with issues from downgrading to older firmwares and then upgrading to newer firmwares. If you read this far, due to an issue on this forum, I'm no longer hosting the files and giving free support. I do not own the content in this forum or have any control over it. Notes: Firmwares, 20X-54-1127 does not have AutoScript feature. Firmwares, 20X-56, 20X-60, 20X-65-0131 have AutoScript feature enabled. Here's the AutoScript to do a NAND backup:FILE FROM HOST DELETED 1. Download the file. 2. Extract the archive to an USB and plug the flash drive into your player. 3. Wait atleast 30 minutes for it to copy the NAND to the flash drive and you can remove flash drive. 4. Check that 23 files have been written to the USB Approx 514.6MB). 5. Store these files somwhere safe. Here's what an Oppo-203/205 NAND backup files are after I had the CN Jailbreak: boot_1.bin fast_init_logo.bin fast_init_param.bin fe_bin_1.bin fe_bin_2.bin fe_parameters.bin fe_power_curve.bin fe_test_data.bin initrd_1.bin kernel_1.bin kernel_2.bin key_block_1.bin key_block_2.bin log_raw.bin mac_addr_1.bin mac_addr_2.bin part_info_1.bin part_info_2.bin rootfs_enc_it_1.bin rootfs_normal_1.bin set_raw.bin ubi0.bin upg_status.bin Upon recent descoveries, moremode01, highly recommends doing the NAND backup. He states the reason why. Downgrading or going back to an Original stock firmware on an Oppo-203/205, can be difficult and cause issues. The Blu-ray/UHD Blu-ray keys to playback physical retail discs can be lost. Seems these keys are installed into the NAND partition that some firmwares dont have included with them. moremodey01 says: If you check this nand / firmware layout You will notice that some nand partitions are not coming from the firmware but preflashed somehow (MAC, KEY and FE_xxx (fe = bluray player)). The firmware UDP20X-45-0605 version has a different nand layout , so if you flash it with Mtktools those unique partition become random garbage and apparently prevent UHD disc reading. You can check your MAC and im pretty sure it wont be 00:22:xxxxx but something random. You have to downgrade to V60 (nand write blocked on v65 ) and restore those unique partition with dd from your nand backup then upgrade to v65 again and you ll be back on track. I do recommend purchasing the Silicon Labs DSD TECH USB to TTL/Uart Serial Converter CP2102. This can come in handy of something goes wrong with a firmware update and you will need to use the MTKTool. Mine works on my Windows 10 64-Bit but had to use their latest drivers: [URL unfurl="true"]https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers[/URL] ________________________________________________________________________________________ Jailbreak with the Russian 65 Firmware via USB Method or Automatic USB Method ________________________________________________________________________________________ Liwil was kind enough to create an Automatic method that uses the remote control commands in an AutoScript. Huge thanks to Liwil! cle2000 modified the AutoScript code and tested it on our Oppo-203 EU and USA units. So, if you do the Auto Russian Jailbreak on the Oppo-203, it runs automatically. No interaction needed. The Un Jailbreak will restore your Russian Jailbroken Oppo-203 back to its Original Stock firmware automatically. No interaction needed. Auto_jb_ujb_bdpprog V1.1. (By Liwil) Please do read the readme file included with the zip file. I've included the Original 65 Stock bdpprog files, the Original 65 Firmware update files, and the Russian Jailbreak file in each zip. Here's the USA version: FILE FROM HOST DELETED Here's the EU version: FILE FROM HOST DELETED Once you unzip this package, make sure to put the correct files on a USB Flash drive, for the method that you want to do below: For the USA Un Jailbreak, the USB Flash Drive should contain: AutoScript (Folder with two script files) bdpprog_us UDP20X.bin For the USA Jailbreak, the USB Flash drive should contain: AutoScript (Folder with two script files) MAIN20XCN_RU.bin UDP20X.bin For the EU Jailbreak, the USB Flash drive should contain: AutoScript (Folder with two script files) MAIN20XCN_RU.bin UDP20XEU.bin For the EU Un Jailbreak, the USB Flash drive should contain: AutoScript (Folder with two script files) bdpprog_eu UDP20XEU.bin Then have your Oppo-203 OFF. Make sure there are no other USB mass storage devices plugged into any other USB ports and then plug this USB Flash drive into one of its USB ports and then Power ON your Oppo-203. You should soon see the automation process start and when its completed, the BD-ROM drive trey opens. ________________________________________________________________________________________ Here's the original manual USB Method ___________________________________________________ Here's how it works. For those who have an Oppo UDP-203 USA model and thanks goes to Thomas Szucs for this, you can switch out the MAIN20X.bin and use moremodey1 MAIN20X_RU.bin to do one simple firmware update process. If you have a Euro Model UDP-205 for example, you would obtain the EU Official Oppo 65-0131 firmware, and rename some of the expected files, like MAIN20X_RU.bin to MAIN20XEU.bin and change the p.sh autoscript to take that file name and it will copy it into the Oppo Nand for the firmware update process. With this AutoScript trick of using the Russian Jailbreak firmware to do the firmware update, you no longer need to use the Mtktool and TTL-USB device. Nor open up your Oppo-203/205. I've have done the file switching and renaming already in the below folder. Make sure to choose the correct package for your Region/model Oppo-203/205. Each package uses the Russian Jailbroken firmware 65-0131. Oppo-203 Models Folder USA, EU, China, Australian, Japan, and Taiwan: FILE FROM HOST DELETED moremodey1 has made the firmware Never needing to be Activated. It IS already fully activated and Jailbroken. IMPORTANT: The player will not work properly at all unless a FULL FACTORY RESET is done after the update. Please make sure you do carry out this procedure after updating firmware on your OPPO player. (You can backup your settings to a blank USB stick before you do a factory reset to retain your customised settings and then use the restore option after you have performed a factory reset - backup/restore option is on the setup -> device menu on the player). Instructions: 1. Un-zip the archive package you downloaded for your region specific Oppo-203/205 unit onto a FAT32 formatted USB stick. Inside the archive should be one folder, AutoScript with two files in that folder, and in the root of the USB stick will be the MAIN20X.bin and UDP20X.bin files like the USA one below: AutoScript AutoScript.TSS p.sh MAIN20X.bin UDP20X.bin 2. ensure Oppo is on the LATEST genuine Oppo fw xxxxx-65-0131 3. power on Oppo, then plug in USB stick (if USB stick is recognized correctly) the disc tray will open, this indicates the start of a 50 secs time window the autoscript has given itself to copy the RU JB fw into the Oppo Nand. 4. while the tray is open, within the 50s time window, go to menu > settings > device > update fw > via USB and initiate the fw update procedure 5. Oppo will check existing fw and find that it is the same version - it will ask if you want to re-install this fw - do NOT press that button yet - wait until the 50s time window expires and the disc tray closes automatically (this ensures enough time has passed for the RU JB fw to be copied into the Nand), then click the "Yes, re-install" button. 6. The unit will update the fw and reboot 7. after reboot, language should still be in EN (or whatever your language was), check that the fw is the Russian JB fw - it will have RU in fw name. 8. factory reset the unit - this will put the default OSD language to Russian. 9. since the OSD is now Russian, when unit has rebooted, press the SETTINGS button on the remote, click on 1st main settings section, then 4th sub section, then change language to EN, reboot device. 10. OSD should be EN now, and you can now configure all other settings including the three other language options on the same sub menu. Thanks Thomas S for let me know what this trick was doing. ________________________________________________________________________________________ How to fix BD-ROM Disc Error from a bad NAND ____________________________________________________________ You'll need your original NAND backup files, the AutoScript to restore NAND, Original 45 Firmware, Original 60 Firmware, and Original 65 Firmware. Use the Firmware downgrade instructions in this page 1 post 1 below to downgrade to the Original 45 Firmware on the Oppo-203 with the MTKtool. Once on the Original 45 Firmware, go into the normal Oppos Settings Menu, and its Firmware Update option to update the firmware via USB, to the Original 60 Firmware only. Place your original backed up 7 NAND files into the restore_nand folder. Below are the files you should place in the restore_nand folder: fe_power_curve.bin fe_parameters.bin key_block_2.bin key_block_1.bin mac_addr_2.bin mac_addr_1.bin fe_test_data.bin Download this NAND Key FE Restore folder with the AutoScript to restore the 7 NAND files here: FILE FROM HOST DELETED 4. Put the AutoScript folder with its AutoScript.TSS file and the restore_nand folder onto a USB Flash drive thats formatted to Fat32. Make sure to put those above bin files inside the restore_nand folder as well. 5. Power off the Oppo and plug that Flash drive into one of its USB ports and then power your Oppo back on. Wait about 30 minutes to be sure its done. The BD-ROM drive trey will open. Then remove the flash drive, close the BD-ROM trey and power OFF the Oppo. 6. Power on your Oppo and test some Blu-ray discs. You should now be able to play retail Blu-ray and 4K UHD Blu-ray Discs now. 7. Then you can do the final update to the Original 65 Firmware. 8. After updating to the Original 65 Firmware and tested working Blu-ray discs, backup your NAND again. Then you can run the Russian Jailbreak via USB Method. (Thanks to Matt B for testing this) ________________________________________________________________________________________ How to go back to the Original Stock Firmware _________________________________________________________________________ After a weeks using MTKtool on my MacOS 11.4 via Bootcamp on Windows 10 64-bit, I understood how the process is done with MTKtool. The following instructions are for a USA Region Oppo-203. It maybe possible to change regions once on Original 45 Firmware. You just may have to use the other regions original 45 firmware to do it. Have the Oppo-203 (USA region) OFF but connected via the Uart TTL to USB to your Windows compatible PC USB port. Launch MTKtool application. 1. Select the downgrade.bin file in MTKtool, and hit the Upgrade button and then quickly power ON the Oppo. Wait about a 30 seconds for the red progress bar for downgrade to go 100% and then the purple progress bar to go 100%, then its complete. Its now in downgrade mode. Then you can turn OFF the Oppo via the remote. 2. You'll need to have a FAT32 formatted USB 2.0 Flash drive with the Original 45 firmware bin files unpacked and all files renamed with CN in there so the MTKtool will find them. This flash drive can be plugged into the front USB port of the Oppo. I would think you could use other Oppo-203 Regions (Austrailia, Taiwan..) firmwares with this method. I've already renamed the Original USA 45 firmware files here: FILE FROM HOST DELETED 3. In the MTKtool, select the Log/Note button. Now, in the empty bar, put the mouse cursor there and hold down your Enter key and turn ON the Oppo via the remote. The log window will show: #my8581_base # #my8581_base # #my8581_base # #my8581_base # several times and stop because you held down the Enter key which will interrupt the boot loader sequence of the Oppo-203. Then, ONLY type 'upg' in that empty bar (NOT 'usb upg be all') and hit the Send button. This will install the USA 45 firmware, but once its complete it will not go to the Home menu, it will stay at "HELLO" on the VFD display. 4. Power OFF the Oppo via the remote, and in MTKtool, back at its first startup page UI, browse to the upgrade.bin file and select that and hit the UPGRADE button and quickly Power ON the Oppo via the remote. You'll get the same red and purple progress bars until 100% complete. Its now in Upgrade mode. Power OFF the Oppo via the remote, when fully OFF, then turn it back ON and now the Oppo will boot up normally to its home screen where you can go into the Settings and see your on the Official UDP20X-45-065 firmware!! 5. Time to do the firmware upgrades, one step firmware at a time is what I did. I was at Original 45, then updated to Original 60, then updated to Original 65 firmware. Just use the normal USB firmware update menu from within Settings menu to update to the Original 60 firmware. Then once that is done, you can go back into the Settings menu and do the update to the Original 65 firmware. _________________________________________________________________________________ How to backup the Original Firmware bdpprog file via AutoScript _________________________________________________________________________________ User cle2000 suggested on backing up his Original EU (Oppo-203) firmware bdpprog. "He wanted to revert back from the Original EU firmware from his RU Jailbreak firmware, so he made a custom AutoScript module to use the Original EU bdpprog (instead of the RU JB one) and then was able to use the standard USB Firmware Upgrade process in the Oppo Settings menu to re-install his Original EU Firmware. So, I created one myself and tested it on my Oppo-203 (USA) that has the RU JB on it and I was able to backup the bdpprog file. Even though its the Russian Jailbroken bdpprog file. So, this should work on those who have not Jailbroken their Oppo-203/205 units and could not Telnet in to manually copy that bdpprog file. I know, I tried to Telnet into my 2nd new Oppo-203 and I just could not Telnet to manually get the original bdpprog file before Jailbreaking it. Download here: FILE FROM HOST DELETED Once it has copied the file over to a USB Flash drive, the Oppo's BD-ROM drive will Open. Just close it and look at that USB attached Flash drive for a file called: bdpprog Ive tested my USA Original 65 bdpprog by switching it out with cle2000 AutoScript Overlay and it worked! I then used the JB_Overlay AutoScript to switch back to RU JB bdpprog. Here's the USA Original 65 bdpprog file:FILE FROM HOST DELETED _________________________________________________________________________________ Advanced Jailbreak Add-on Section: ________________________________________________________________________________________ The jb_overlay V1 is an optional advanced install that offers more functionality for the Russian Jailbreak firmware. Moremodey01 jb_overlay Version 1: Hi i was thinking a bit how to add a few more features to the firmware and had in mind 2 main issues. * While there is still like 80M of space in the firmware that could be used , re-flashing with Mtktool is not really friendly , especially because several Oppo 203/205 users have installed the Jailbreak with the USB method from the Update firmware option in the Settings menu . *Adding feature in another way should not soft brick the firmware. Finally I came with the solution of creating a small framework that is installed as an overlay of the jailbreak firmware on the writable ubi partition. The first version can be found here : FILE FROM HOST DELETED The installation is done with Autoscript : Remove any other autoscript on the flash drive Copy the Autoscript folder power off the unit Plug the flash drive * Power ON and do not touch until the Disc Open/BD-ROM Drive or a logo is displayed (or at least 2 minutes has passed :) ) Once done the overlay is installed in the folder /mnt/ubi_boot/jb_overlay and on next reboot it will take control of execution. Configuration : there is a minimal configuration that can be done by editing the file /mnt/ubi_boot/jb_overlay/config.ini, check below: There are also minimal logs for each boot in /tmp/jb_overlay.log Features : Once installed, here are the new feature for this first version : * Antibrick : On boot the init script will wait 3 seconds to detect if the eject key has been pressed on the remote , if yes it will permanently disable the overlay. To reactivate, one need to connect through telnet with Autoscript and type this command : touch /mnt/ubi_boot/.nobrick * root password : it is possible to configure the root password (default : oppo) by editing the line ROOT_PWD= in the config.ini *telnet : it is possible to launch telnet without Autoscript by having USE_TELNET=1 (default) in the config.ini * ssh : i added a ssh and sftp server that is started automatically if the line USE_SSH=1 (default) is in the config.ini. It is then possible to connect with ssh or upload/download file with scp , filezilla ... * os commands : when connected over ssh most os commands are being called from the overlay (busybox), so lsof , mount , df , ... works now properly for eventual scripting * rclone : i have received pms that some people are scamming end users by selling them the firmware with rclone integrated on telegram. rclone is free and i have added it as requested. I did not compiled it myself but used the armv7 version from their website. Please note that default path is not writable for storing configuration so one should always use it with a flag like --config /mnt/usb_boot/jb_overlay/etc/rclone.config. a good start is to do rclone --config /mnt/usb_boot/jb_overlay/etc/rclone.config config * autostart: it is now possible to start commands without Autoscript by adding them to /mnt/ubi_boot/jb_overlay/autostart.sh. however there are 2 limitations : the network is apparently configured by the player app and not by the os the nfs/ smb mounts will be visible in the gui only if done on a usb mounted device in /mnt/sda1 (tried loop with vfat image without success :( ), if you know how to refresh please tell me. For those reasons there are 2 parameters AUTOSTART_WAIT_NETWORK and AUTOSTART_WAIT_USB in the config.ini that if set to 1 (default) will wait for those before launching the autostart script. * Finally the overlay will try to boot the file /mnt/ubi_boot/jb_overlay/bdp/bdpprog if present , if not it will launch the original firmware version. Would be nice if somebody can adapt the switch RU Autoscripts and such for this. ________________________________________________________________________________________ ________________________________________________________________________________________ Additional Information Section: ________________________________________________________________________________________ By Thomas S. Orginal firmware Jailbreak firmware Original firmware functions YES YES BDMV (2D & 3D) NO YES AVCHD Network play NO YES BD-ISO NO YES DVD ISO NO YES DVD-Audio ISO NO YES SACD-R NO YES Region free playback BD & DVD NO YES Cinavia removed NO YES SACD ISO NO YES Notes about the Russian Jailbroken Firmware: 1. Includes AutoScript 2. Never needs Activation 3. All home screen wallpapers are original Oppo UDP-203. 4. Includes Jailbreak features: BDMV and BD ISO playback locally and from network shares. 5. SACD ISO Playback 6. DVD-Audio Playback 7. Dolby Vision 8. Cinavia Removed 9. Region Free 10. SACD-R Playback For changing Blu-ray region you need to switch Disc Menu Language only to: BD-zone "A" - Setup-Playback Setup-Language-Disc Menu Language-English BD-zone "B" - Setup-Playback Setup-Language-Disc Menu Language-French BD-zone "C" - Setup-Playback Setup-Language-Disc Menu Language-Other-8285 (Russian) ________________________________________________________________________________________ As is, use at your own risk. I take no responsibility for bricking your device. Again thank you moremodey1 for all the work you put into this. ________________________________________________________________________________________ AutoScripts for NFS Networked sharing documentation: _______________________________________________________________________________________ 1. Download the AutoScripts NFS / SMB Template: FILE FROM HOST DELETED The Protocol is either UDP or tcp. Since this setup is dependent on the type of Networked file sharing setup you have. Either a NAS, or a bunch of external HDDs. NFS or SMBv1 will be what is compatible. Then there's the possibility if your setup that requires user credentials to let the Oppo connect or not. You also have to know if you need NFS software on Windows or MacOS to install and run to get network sharing setup. I use the free NFS Manager on MacOS. Here's my old AutoScript code [code] #MTKAT 0.xx script CLI(CLI_exec echo root::0:0:root,,,:/root:/bin/sh >/etc/passwd) CLI(CLI_exec /usr/sbin/inetd &) SLEEPMS(1000) CLI(CLI_exec /usr/sbin/telnetd &) # CLI(CLI_app.vfdmg.b scroll_msg start) CLI(CLI_exec mount -o nolock,proto=udp 192.168.0.5:/Volumes/5 mnt/sda1/Movies5) CLI(CLI_exec mount -o nolock,proto=udp 192.168.0.5:/Volumes/4 mnt/sda1/Movies4) CLI(CLI_exec mount -o nolock,proto=udp 192.168.0.5:/Volumes/3 mnt/sda1/Movies3) # CLI(CLI_app.vfdmg.b clear_msg) CLI(CLI_exec mount > /mnt/sda1/mount.txt) [/code] 2. On an external USB Flash drive that's connected to a USB port on the Oppo-203/205 / M9702, folders for the shares must be created: AutoScript (Folder) Movies3 (Folder) Movies4 (Folder) Movies5 (Folder) Inside the AutoScript folder is: AutoScript AutoScript.TSS Its a simple text file that can be edited in Windows notepad.exe or on MacOS Textedit. Sometimes it will run the script better when there are 2 duplicates. 1 has its file extension removed and the other is TSS. Don't ask me why. 3. Your Networked shares must be working with a valid IP address under the Home screen->Network. Press Search function in GUI, and either your using NFS or SMB and it should pull up an IP address to your working Networked Shares. Thats the IP address that goes into the AutoScript code. 4. Telnet, you should also know how to Telnet into your Oppo 203/205 /M9702 to manually test the code to mount or see what's mounted. You will need PuTTY (www.putty.org) for windows or install homebrew on MacOS to Telnet via terminal. The whole point of this AutoScript feature is to create automounts of networked shared Blu-ray ISO's or mkv's into your Favorites. ________________________________________________________________________________________ Hidden Codes/Secret Modes ________________________________________________________________________________________ Hidden code you can play with in setup menu (take care with last one): 0770 -> Factory reset mode (may reset player settings on exit) 0880 -> Audio test mode ( may reset player settings on exit) 0660 -> Wifi test mode ( may reset player on exit) 7896 -> dump some logs in /mnt/sda1/UDP20x_log.txt 5177 -> Open Bluray firmware menu _____________________________________________________________________________________ Miscellaneous ______________________________________________________________________________________ A user who owns an Oppo-203(EU) model has an internal multi-region switch mod-chip and used my USA to Russian JB and was successful. The iOS App: Oppo MediaControl is a discontinued App, and it will self Terminate on iOS 15.x. Would be nice if it was updated, just incase another user had accidentally turned off thier IR Sensor in the Front. You can telnet in and use CLI commands for the remote: Example: echo -e "drv.ir.rx.sq 0x4f000\nquit" | cliprog #Enter [ATTACH=full]1650442[/ATTACH] And if anyone needs to check their Oppo-203 NAND/Ubi_boot: Telnet in and the CLI syntax is: ubinfo /dev/ubi0 -a [ATTACH=full]1650443[/ATTACH] Myself and 1 other user, Cle2000 are the same. moremodey01 says this might be normal. ________________________________________________________________________________________ M9702 & Clones Free JB OPPO65-0131_Noactivation-needed RU_CN_V1.0 Section I don't know if this is even relevant anymore, thats why its on the bottom. ________________________________________________________________________________________ Could be outdated method? One could probably just run the normal USB Method from the Settings menu then goto firmware update and use the China to Russian JB package. Or the AutoScript to switch the bdpprog from China to Jailbroken Russian? Outdated method? Important info: When using the MTKtool, make sure you use a USB 2.0 (cheap) Flash Drive with your M9702 or Clones. If you use a USB 3.0 Flash drive, it may fail to read the MAIN20XCN.bin/MAIN20XRU.bin and fail to read the USB drive which results in a FW Fail! Also, make sure its Basic, MBR, FAT32 formated. This is a FREE jailbreak firmware that does'nt require any activation for Oppo 203 Clones like the M9702 (any version). download here: FILE FROM HOST DELETED To install the CN version : ############### * Rename the file UPG/MAIN20XCN_CN.bin to UPG/MAIN20XCN.bin * follow the mtktool procedure in the doc file "HOW TO INSTALL FIRMWARE.docx" To install the RU version : ############### * Rename the file UPG/MAIN20XCN_RU.bin to UPG/MAIN20XCN.bin * follow the mtktool procedure in the doc file "HOW TO INSTALL FIRMWARE.docx" The RU seems to be identical to the CN version but allow to change wallpapers. It is also possible to switch from RU to CN or CN to RU without reflashing by using the provided AutoScript modules AutoScript Modules : ############ A bunch of AutoScript modules are provided in the AutoScript_Modules folder To use them copy all the files from a specific module in the [flash drive]/AutoScript folder (With capital S) For the scripts that install something, It is not mandatory but recommended to power off , plug the flash drive , power on, wait until the disc icon is triggered then power off and remove the flash drive . Backup_nand * Allows to backup the nand on the flash drive Deploy_busybox * Deploy some devs tools, not needed for most peeps Install_custom_wallpaper * Install custom wallpapers for RU firmware, * First edit the wallpaper in the pic folder with same size (1080p).. Remove_Second_Firmware * Remove a second player installed Restore_original_wallpaper * Remove any custom wallpaper for RU firmware Switch_CN_Firmware * Switch RU player to CN Switch_RU_Firmware * Switch CN player to RU Telnet_and_nfs_smb * Main script that most people use * Enable Telnet and mount nfs/smb partitions on boot