yashsingh1/xdaforums huggingface dataset:
[Google Pixel 6a] ferap:
Hi!! hope life is treating you well.

I tried to install android 15 beta1 but was not possible. Message on the console :

Firmware ID: bluejay_beta-ota-ap31.240322.023

Currently installed firmware: AP1A.240405.002

OTA date: 240322

Current firmware date: 240405

❌ 2024-04-23 15:29:46 ERROR: You can only sidload OTA that is equal or higher than the currently installed version.

ℹ️ 2024-04-23 15:29:46 INFO: Flashing was aborted.

This could be user initiated or a problem encountered during flashing.

What can I do ?
[Google Pixel 6a] badabing2003:
As the error is telling you, you cannot sideload OTA that is an older release date than what is currently on your system

Normatlly, if you want to downgrade, your only option is to use factory image, with a wipe.

That will work for sure.

Obviously to flash a factory image you need to have the bootloader unlocked, which in your case is not an issue.

There is an experimental feature in PixelFlasher to allow a downgrade without a wipe, not as it is experimental, it's not guaranteed to work, not only that, you're going from stable to beta, which adds another complexity to that experimental feature.

If you're ok with you could give the feature a run.

Enable advanced options in settings, this should enable the menu option Dev Tools | AVB Prepare downgrade patch

Load the Target Image (OTA or Firmware), in your case the Beta

Process

Select the stock boot from the boot list (not the patched one)

Run Dev Tools | AVB - Prepare Downgrade Patch

Select the Option 1 (you're rooted), this should create a downgrade boot.img

You need to flash this before attempting to downgrade, and you can do it in PixelFlasher, by using Custom Flash, selecting flash boot, and choosing the file your just created.

After that you just have to flash the downgrade.

Good luck and report back.
[Google Pixel 6a] ferap:
Thanks mate!! I will try it and report it back

(Yes it is true that the date of the image that I wont to flash is older than the firmware installed, but its andorid 15 vs 14, so should be a difference even the date is older.)
[Google Pixel 6a] ferap:
I followed your instructions. An error appears after Run Dev Tools | AVB - Prepare Downgrade Patch.

❌ 2024-04-23 19:39:38 ERROR: Encountered an error while preparing a downgrade patch

Traceback (most recent call last):

File "modules.py", line 1263, in setup_for_downgrade

TypeError: 'NoneType' object is not subscriptable

Can you help me please.
[Google Pixel 6a] badabing2003:
I don't think it will work,

I'm saying it because of this:

Your current state:

Prop: com.android.build.boot.os_version -> '14'
Prop: com.android.build.boot.fingerprint -> 'google/bluejay/bluejay:14/AP1A.240405.002/11480754:user/release-keys'
Prop: com.android.build.boot.security_patch -> '2024-04-05'

The target state:

Prop: com.android.build.boot.os_version -> '14'
Prop: com.android.build.boot.fingerprint -> 'google/bluejay_beta/bluejay:VanillaIceCream/AP31.240322.023/11719384:user/release-keys'
Prop: com.android.build.boot.security_patch -> '2024-04-05'

Notice how both props com.android.build.boot.security_patch are 2024-04-05 the same

This is what PixelFlasher patches.

And even though the fingerprint of the target says 240322 the SPL is 2024-04-05

So even if you proceed, it will just change 2024-04-05 to 2024-04-05 effectively no change.

The second checkbox option in the dialog, will actually change the fingerprint.

This is definitely even more experimental as I have no evidence that it would work.

But it could be tried.

As for the error you ran into, I tried several things and used your exact version current and target and could not reproduce the error.

I'd be curious to know if it would proceed without any errors if you choose option 2 and when it prompts you to provide a boot.img select the file boot.img I'm attaching (this is the stock boot from 2024-04-05), make sure you unzip it first.

Other than that, by any chance there is a space character or none ascii character in this path?

C:\Users\REDACTED\AppData\Roaming\PixelFlasher\tmp\current_boot.img

Where REDACTED would be your user

Does that file exist?

It should according to this

Dumping partition to file: /data/local/tmp/current_boot.img ...
Return Code: 0
Pulling remote file: /data/local/tmp/current_boot.img from the device to: C:\Users\REDACTED\AppData\Roaming\PixelFlasher\tmp\current_boot.img ...
Return Code: 0
[Google Pixel 6a] ferap:
I did it with the same result (attached the support file)

No space character or ascii, the path is C:\Users\SSD\AppData\Roaming\PixelFlasher\tmp\current_boot.img

And the file exist (23-Apr-24 20:36)
[Google Pixel 6a] ferap:
At the end I put the device on recovery and could flash it with the android 15 beta1 using Pixelflasher.
[Google Pixel 6a] badabing2003:
Thanks

This is weird, the file exists yet you got the error that file is now found.

I' appreciate if someone else can test it out, does not involve flashing the phone, everything is in PixelFlasher.

I'd like to rule out a possible bug, and if there is one, obviously I want to identify and fix it.

What is needed to test this.

download the following firmware.

select and process and then select the stock boot from the list

See this post for next steps, except that you will use option 2 instead of option 1, and when prompted to provide a boot.img file, please provide unzipped copy of boot.img from this post.

Let me know if you're able to generate a downgrade patch.

Ok I'll make an improvement to prompt if you still want to continue, and let it continue.

I'll also take SPL date into the check.

I'll have that in the next release.
[Google Pixel 6a] badabing2003:
Update Release:

Apr 19, 2024 v6.9.3.0 change log:

Update AVBTool to use RSA library instead of depending on an external openssl.

English typo corrections.

When flashing OTA, give the option to continue, even if it is a downgrade.

Github action: Fix MacOS build deployment issue.
[Google Pixel 6a] badabing2003:
Update Release:

May 08, 2024 v6.9.4.0 change log:

Added encryption to support.zip for extra privacy / security.

Regression bug fix: When a Magisk module was disabled in Magisk, it was not reflected in PixelFlasher.

Added Refresh button to refresh Magisk module list at will.

When Apply Custom ROM checkbox is checked, make sure that a ROM file is also selected, otherwise ignore the selection.

After rebooting to bootloader, if the device is not detected, sleep 5 seconds and try again.

Update Readme to include a link to proper USB driver setup on Linux systems.
[Google Pixel 6a] badabing2003:
Update Release:

May 17, 2024 v6.9.5.0 change log:

Added Pixel 8a (akita) support.

Updated Pixel device end of life dates based on Google's published data.

Added an option to refresh Google Images download links, useful on release days when you want an immediate refresh.

Memory improvements when building Google Images list.

Added additional troubleshooting debug messages when a device is not detected.

Minor bug fixes and improvements.
[Google Pixel 6a] badabing2003:
Update Release:

June 04, 2024 v6.9.6.0 change log:

#204 Fix Pyinstaller issue, thanks to PR from @cjshearer.

PIF Import favorites can now import recursively including subdirectories.

Added Device | Check otacerts menu option to quickly check if the ROM is signed.

Sync banned kernel list with @osm0sis published list.

Improved exception handling

Improved debug messages for troubleshooting

Fix timing issue for a corner case cleanup before unzipping is completed.

AVBTool improvements.
[Google Pixel 6a] xakuvo:
EDIT:

Resolved by updating platform-tools binaries.

Issues with flashing:

Pixel 6a w/ unlocked bootloader running bluejay-ap1a.240505.004

Verizon carrier...

Flashing to a Magisk patched version of bluejay-ota-ap1a.240505.004

Full OTA

Patch fails during sideload

Phone returns into recovery

Support file generated and attached.

Please let me know if and what additional information is required to identify/resolve this.

Thank you!
[Google Pixel 6a] badabing2003:
Get the latest Android Platform tools.

I have no idea what this is, but its definitely a problem.

ℹ️ 2024-06-16 09:36:37 Selected Platform Tools Path:
C:\adb
SDK Version: 4986621
Adb SHA256: e39e25bbed119156cd975bf85e446e8a5d592fd928fedd667e0e548845e20734
Fastboot SHA256: 4211c74982d778cca950bbc73f364e02ea414633caac33b870c9832d62b0fed9
[Google Pixel 6a] badabing2003:
Update Release:

June 24, 2024 v6.9.8.0 change log:

Improve Check keybox.xml to report if the certificate is software signed, also report about all included certificates.

Added settings option Keep temporary support files in case one needs to inspect the support files.

Add Github action to build on MacOS 12, MacOS 11 runner has been deprecated.

Update Pixel beta links from A14 to A15.

Minor bug fixes and improvements.
[Google Pixel 6a] badabing2003:
New Release:

July 4, 2024 v7.0.0.0 change log:

When sideloading OTA, automatically cancel a previous OTA (in progress or completed but not rebooted), which assures a better success rate. (Only applies to rooted devices that are in adb mode).

Added My Tools Menu, you can now add custom tools to PixelFlasher to easily launch your favorite tools / apps (example odin3).

Added Process Image in PIF Manager, PixelFlasher can now process a device image and extract PIF print from it with a single click. (Currently supported image types are, Pixel firmware, Pixel OTA, images with payload.bin, Samsung firmware).

When reading device details, report the sys.oem_unlock_supported prop value.

Miscellaneous minor improvements.
[Google Pixel 6a] badabing2003:
Latest Release:

July 11, 2024 v7.1.0.0 change log:

Add license headers to source files.

Improved logging.

By request, PIF Manager now supports processing img files to extract PIF prints. (This is in addition to supporting zip files of factory / OTA images).

Check keybox.xml tool now provides more extensive report about the keybox.
[Google Pixel 6a] badabing2003:
Update Release:

July 14, 2024 v7.1.1.1 change log:

Bugfix: #222 Customize My Tools menu is duplicatede when no tools are added.

July 14, 2024 v7.1.1.0 change log:

Windows versions of PixelFlasher are now signed (self-signed).

Hopefully this would cut down on false positive virus / trojan alerts, but it should also get rid of Unrecognized app warnings.

PixelFlasher.crt is the certificate, and ca_badabing2005.crt is the root CA.

Bugfix: #221 handle a corner case exception.
[Google Pixel 6a] Ingolfxda:
Oh, I don't see my message from today, about 10:30 AM here anymore.

Has it perhaps been moved or deleted?

Or have I done something wrong? ;-)
[Google Pixel 6a] Ingolfxda:
But maybe I just clicked the wrong button here. ;-)

I'll just rewrite it.

Hello,

I'm getting desperate here.

My Pixel 6a, with open bootloader and developer options, is stuck in a boot loop after a failed update in June.

Please see how to proceed in:

📳🔥 PixelFlasher, a GUI tool for flashing / updating / rooting / managing Pixel phones.

DESCRIPTION As the name suggests this is an application to flash (update) Pixel™ phones (possibly all Google™ made phones/tablets, YMMV.) PixelFlasher at its core is a UI layer (with bells and whistles) on top of adb / fastboot commands, hence...

xdaforums.com

Thanks for your help
[Google Pixel 6a] badabing2003:
Latest Release:

July 27, 2024 v7.2.0.0 change log:

In Magisk Manager, added the option to install Tricky Store module. (You now have 3 PIF related modules to choose from, Playintegrity Fix, Playintegrity fork, Tricky Store).

Updates to PIF Manager:

Option to convert from Json to prop (Env) format and vice versa (Tricky Store uses prop format) .

Compatible with Tricky Store (latest CI), you can now edit / update / test using Trick Store module.

Note: Tricky Store module does not yet support automatic updates, hence PixelFlasher is currently setup to point to the latest release in Github, this still uses Json file to spoof prints, use the latest CI.

If you have multiple PIF modules, for example if you use Trick Store and PiFork together, you can select which module's print you want to edit / update by selecting from the combo box. (Only enabled PIF modules are listed).

When loading prints from favorites, or console output, or using Smart Paste, PixelFlasher automatically converts the print to the format (json / prop) that the module requires.

Added option to push keybox.xml file to Tricky Store's predefine path.

Added a button to generate FrameworkPatcher compatible code for use in Android.java, just select the print, generate code and paste it in the proper section of Android.java to use your custom print with FrameworkPatcher.

Note: the generated code by default is commented out, as you can select multiple prints, just uncomment the ones you want to apply.

Added option to backup / restore /data/adb directory, please be aware that this only backs up / restores /data/adb/*, any modules that installs files outside this path will not be backed up, as it's impossible to know what all modules do.

New features in My Tools Manger:

Different methods to launch application.

Option to enable / disable launching detached process.

Option to insert separator.

Note: Start with the defaults and experiment if default behavior is unacceptable.

Miscellaneous fixes and improvements.
[Google Pixel 6a] badabing2003:
Update Release:

July 28, 2024 v7.2.0.1 change log:

Set a default PIF format to json to allow displaying the print when Processing Image in PIF Manager.

When PIF Manager is used with an unrooted device or one without granting su permissions to shell, display a message to inform the user about the reduced PIF Manager functionality.
[Google Pixel 6a] badabing2003:
Thanks for reporting it,

Yeah that does not effect patching or flashing, it's just about get list of Magisk modules and managing them.

If you could provide a support.zip file I can take a look.

This way whatever is causing it, could be addressed in the next version.

Thanks
[Google Pixel 6a] mike.s:
PM sent.
[Google Pixel 6a] badabing2003:
PixelFlasher 4.0.0 pre-release:

Sep 25, 2022 v4.0.0 pre-release

New Feature: On supported devices, where device is not yet rooted (or adb shell su not allowed), an option to control the Magisk Manager GUI (drive UI) to programmatically control the app through UIAutomator and create a patched boot.img

See Patching flow chart for details.

New Feature: Detect if Magisk Manager is at a higher version than installed Magisk, warn the user of a potential rare corner case and offer a choice of patching method.

New Feature: Temporary Root, when flashing if you choose this option, the phone will be flashed with unpatched boot.img, but Live boot to patched boot.img to provide a temporary root.

New Feature: Warn the user to flash both bootloader slots if their device is a Tensor device (Pixel 6, Pixel 6a, Pixel 6 Pro), if current version of OS is lower than Android 13.

New Feature: Flash to inactive slot. Unlike OTA flashing factory image flashing is always done on the current active slot, with this option selected, PixelFlasher will write to inactive slot. This allows one to revert to current working state in case anything goes wrong. This feature combined with Temporary Flash provides best method to test a new firmware without risking losing current working setup.

Note: You should avoid this option if you are on a Tensor device and are upgrading from Android 12 to Android 13 (see the previous feature).

New Feature: Detect and operate on devices that are in Sideload or Recovery mode.

New spinner to indicate PixelFlasher activity.

Renamed Reload button to Scan, to better reflect the button's function. After a scan print the count of devices found.

PixelFlasher previously used MD5 to uniquely identify boot images (patched or otherwise), with version 4.0.0 PixelFlasher now uses SHA1 instead of MD5.

This has no bearing on the functionality, it just better aligns with Magisk way of identifying and tagging boot images.

PixelFlasher now extracts the embedded SHA1 of a Magisk Patched images (only available in newer devices) and assures that it matches the source boot.img's SHA1.

This is just an extra validation.

Code cleanup / refactoring, adding more validations and exception handling.

Print debug details when encountering non compliant Magisk modules.

Firmware link now takes you to the device's download page instead of just the general download page.

To better reflect the file details, transferred and stored boot.img files are now suffixed by their shortened SHA1, while magisk_patched.img files are now suffixed by shortened SHA1 of their source boot.img.

Allow sideload even if bootloader is locked.
[Google Pixel 6a] badabing2003:
New Release:

Oct 03, 2022 v4.1.0 release

Patching is now fully automatic with or without root.

PixelFlasher uses installed Magisk Manager binaries to create a patch (root binaries are only used if Magisk Manager is not available / accessible)

UIAutomator no longer necessary, neither asking the user to manually patch and click ok when done.

Added an option to set a hidden Magisk package name so that PixelFlasher can find the Magisk and use it, the user still has a choice to use root binaries.

Speed improvements for device property reading.

Speed improvements for Magisk modules reading.
[Google Pixel 6a] badabing2003:
NOTICE:

I'm marking version 4.1.0 release as pre-release because I just found out that unzip is not normally available on the phone, which this new patching mechanism uses.

On my test phones they were available.

Unless you have unzip on your phone, you should avoid using this version.

Sorry about this oversight.
[Google Pixel 6a] badabing2003:
Update Release:

Oct 03, 2022 v4.1.1. release

Bug Fix: Bundle busybox with PixelFlasher to be used for unzipping Magisk.

Bug Fix #25, use the Magisk Manager version number instead of Rooted Magisk version number.

Cosmetic changes and a bit more logging.
[Google Pixel 6a] badabing2003:
Update Release:

Oct 04, 2022 v4.1.2 release

include busybox binaries for different Android architectures (arm64-v8a, armeabi-v7a, x86_64, x86)

don't use hidden Magisk for patching, as it is a stub only.
[Google Pixel 6a] badabing2003:
Update Release:

Oct 05, 2022 v4.1.3 release

Bug Fix: Extract Magisk Manager version properly.
[Google Pixel 6a] badabing2003:
Update Release:

Oct 05, 2022 v4.1.4 release

Rooted Magisk patching will now automatically back up stock-boot.img (more to come).

Bug Fix #27, handle version exception.
[Google Pixel 6a] badabing2003:
Pre-Release:

Oct 13, 2022 v4.2.0 pre-release

Support for Pixel 7, 7p (init_boot extraction and patching / flashing).

Added Pixel 7 / 7p partitions flashing options to custom flash.

Improved patching process using boot_patch, add more patch file validations.

Check for Magisk backup and trigger Magisk to backup if missing.

Add more logging messages for troubleshooting.

Code optimization / improvements.

Bug Fix #28 Error when opening download link without a device selected.

Added set_version script to easily set the product version.

Print path of the selected boot to console, for easy copy / paste.
[Google Pixel 6a] badabing2003:
New Release:

Oct 15, 2022 v4.3.0 release

New: You can now download and install alpha and delta Magisk versions in addition to the official stable, beta, canary and debug versions.

Bug fix: Generating support.zip file was modifying the main db file unnecessarily.

Bug fix: When patching with Magisk Manager the version of Magisk Manager was not being displayed in the boot images table.

Bug fix: MacOS downloaded Magisk had space in the file path, which was causing failed installation.
[Google Pixel 6a] badabing2003:
Oct 16, 2022 v4.3.0.1 release

Bug fix: #30 Error during firmware processing file extraction phase.

PixelFlasher-Linux is now labeled PixelFlasher-Ubuntu (It is built on Ubuntu which is not compatible with all Linux flavors. Even though PixelFlasher-Kali is more compatible, it is still not a one size fits all solution.)
[Google Pixel 6a] badabing2003:
New Release:

Oct 27, 2022 v4.3.1.0 release

Bug Fix: Magisk modules not listed on MacOS / Linux
[Google Pixel 6a] badabing2003:
New Release:

Nov 09, 2022 v4.4.0 release

New feature: Font and Font size should be configurable by the user #33

New feature: Added WiFi-ADB connect / disconnect button. Left click to connect, Right click to disconnect.

Handy to access a device remotely.

Note: This only works in adb mode, so no fastboot or flashing features work for remote devices, but for patching / installing apks, managing Magisk modules it works well (basically anything that is done in adb).

I personally use this to test patching on remote devices, and also use it to access / install apps to my watch.

Ground work for future features: Get installed Package list, and list which are disabled, enable / disable / uninstall apps. (Will be available in future release).

Move Flash Option Flash to inactive slot to Basic mode from Advanced mode..

Minor UI Improvements

If Magisk does not create a backup attempt to trigger Magisk to create one.

Update readme to include Pixel 7 / 7P specific info.
[Google Pixel 6a] gilnfld:
Hey there @badabing2003 ,

Thanks for the great flasher -- I have used this on a couple of older phones but wanted to quickly ask a flashing question for my new phone.

I have a brand new still in box Pixel 6a. I want to right away - - before doing anything else on the device -- deal with the bootloader flashing to bothe slots issue for A13. It comes with A12 on the slots and I wandered if you can walk me through the process of doing this through your app.

I am quite familiar with flashing/fastboot commands etc I just wanted to know the order in your app. I have the latest platform-tools and the latest november factory image for the 6a. As mentioned I want to do this as soon as I take the device the box. So I assume step one is boot into bootloader with combination key, do a 'fastboot flashing unlock' then fire up your app and here is where I am not entirely certain about the order; I know technically i am only needing to flash the A13 bootloader on the inactive partition install but can i just do a full install of the entire zip package with the 'flash to both slots' ?

Tnx,

gs
[Google Pixel 6a] badabing2003:
Yes you can do a full install of the entire zip package with Flash to both slots be done with it.
[Google Pixel 6a] badabing2003:
New Release:

Dec 04, 2022 v4.5.0 release

New look (Artwork / Icons), compliments of @t-ryder (thank you), based on Material design icons.

New Feature: Package Manager, Install / Uninstall / Freeze (disable) / Unfreeze (enable) packages even system ones (root not required). Handy with Wifi ADB.

Use latest Python updated packages.

Ubuntu 22.04 support.

Miscellaneous improvements.
[Google Pixel 6a] badabing2003:
New Release:

Dec 05, 2022 v4.6.0 release

Added single click button to easily flash just the boot/init_boot (stock or patched) to the phone.

#39 Display Flash Option changes in the console, and allow flashing to inactive slot in basic mode.

#39 Do the Magisk backup only when rooted.

Decouple OTA sideload from needing factory image.

Other minor improvements.
[Google Pixel 6a] badabing2003:
New Release:

Dec 06, 2022 v4.6.1 release

#40 Handle locale related exceptions which were causing PixelFlasher to not launch on some Windows 11 systems.

Add the ability to download and install a special Magisk version that has modules loading intentionally disabled. Required to get out of bootloops and manage to disable modules.

Credit to gecowa6967 at XDA.