yashsingh1/xdaforums huggingface dataset:
[Google Pixel 8] user602:
I'm having problems using the "Flash Pixel Phone" function. I have PF v6.2, the latest Google USB driver, and platform-tools v33.0.3.

I downloaded the latest full OTA (which matches the version already installed on my phone), installed Magisk through PF. patched init_boot.img, and used the "Flash Boot" function in PF to successfully gain root.

After further reading on this thread (and others) that one slot is empty on new phones. I decided I wanted to flash the patched OTA two times as has been suggested by @badabing2003 . However, this always aborts with, "Encountered an error while rebooting to sideload" (but the phone actually enters sideload mode), and "ERROR: Could not get package com.topjohnwu.magisk path." (I did not hide Magisk, and PF initially recognizes that it is present). I even tried downgrading from the latest platform-tools to the recommended v33.0.3, but the result is always the same.

What am I doing wrong?
[Google Pixel 8] badabing2003:
1- You can use either, but OTA is preferable.

2- correct, but to be technically accurate, if you forget to disable, it won't get wiped, it will get wiped next time you want to disable again, it's the transition from enabled to disabled that requires a wipe, not the reverse, but I suppose you want to keep it disabled, so make your you select that in PF (you need to enable advanced options in settings for those options to be available)

3- Yes

The situation is that it is timing out before it detects that your device is in sideload mode, and the timeout is 60 seconds.

Can you tell me if your device is getting into sideload mode before you see the error or after,

1- Device gets into sideload before timeout, (you see the error), in which case please do this, keep your device in sideload mode, restart PF, does PF detect that your device is in sideload mode? if it doesn't then perhaps there is an issue with the USB driver, if PF detects it, you can hit the flash Pixel Phone and it should continue.

2- Device gets into sideload after the timeout, in which case I can increase the timeout.

You can ignore that error.

It happens because with PF 6.0 or newer, PF waits for the device to get into the mode it expects it to get into, and as soon as it the detects the device in the expected state, it proceeds.

(Previously, without this, it used to be simple sleep, which made every mode change wait the entire duration of the sleep)

The issue you're encountering is that when the phone is rebooted to system, the phone gets into adb mode way before you see the home screen, and PF is able to fetch the necessary details about the phone as soon as it gets into adb mode, however I don't know if you have ever noticed, (the USB sound would be an indicator) when the phone reboots to system, its gets into adb mode, and then it briefly disconnects and then reconnects back to adb.

If it happens that PF was getting details about the device during that brief disconnect, it won't be able to, it just happens that during Magisk path check, it happened (getting that detail is one that takes longer time than other details usually)
[Google Pixel 8] user602:
The phone enters sideload mode before the timeout, and PF even detects it, but then errors out anyway:

2023-11-24 08:13:55 Getting device: REDACTED state ...
Currently the device is in adb mode.

2023-11-24 08:13:55 Getting device: REDACTED state ...
Rebooting device: REDACTED to sideload ...
ADB waiting device: REDACTED for sideload ...

2023-11-24 08:14:19 Getting device: REDACTED state ...
Device is now in sideload mode.

2023-11-24 08:14:23 ERROR: during reboot_ssideload

2023-11-24 08:14:23 ERROR: Encountered an error while rebooting to sideload
Aborting ...

Keeping the phone in sideload and relaunching PF. PF detects that the phone is in sideload, but attempting "Flash Pixel Phone" triggers a very stern warning:

2023-11-24 08:17:57 User initiated Flash Pixel Phone.
Checking OTA version against the currently installed firmware.
Firmware ID: shiba-ota-ud1a.231105.004
Currently installed firmware:

2023-11-24 08:17:57 ERROR: Android device model does not match firmware Model shiba

*** Dialog ***
ERROR: Your phone model is:

The selected firmware is for: shiba

Unless you know what you are doing, if you continue flashing
you risk bricking your device, proceed only if you are absolutely
certian that this is what you want, you have been warned.

I assume that PF can't read all relevant details when the phone is in sideload mode but it is safe to proceed anyway, Am I correct? I'm a first time PF user and I'd prefer to not start by making a mistake. 😬
[Google Pixel 8] badabing2003:
Correct, you can proceed.
[Google Pixel 8] user602:
I'm confirming for the benefit of others who may be seeing the same issue that proceeding is safe:

I acknowledged the warning prompt and continued with the installation, which completed successfully. Using "Flash Pixel Phone" again to flash the second slot produced the same errors, but flashing was completed successfully once again by following the same steps. I can now freely switch slots by using the A/B button on the PF toolbar.

I may brick my phone one day, but today is not that day.

Thank you for your quick responses, Badabing. I've been reading a lot of threads, and, with all due respect to PixelFlasher, I think your commitment to responding to all of our questions may be even more impressive than the tool itself. (y)
[Google Pixel 8] c19932:
Hi, regarding question 3, is there any way to use pixel flasher to install a init_boot with magisk delta? or at least extracting the stock init_boot to patch it manually?

3) I am on magisk delta. When I update, how do I retain root with magisk delta? (not regular magisk; I use magisk delta strictly)

Thank you very much!
[Google Pixel 8] badabing2003:
There is nothing different about it, you can have any Magisk that you desire, PF will use it to create patch.

Just follow the OP and you should be fine.
[Google Pixel 8] badabing2003:
New Release:

Nov 26, 2023 v6.2.1.0 release

New feature: Added Bulk apk install capability. Point to a directory where the apk files are and all of those would be installed.

New feature: Extract current device's Pif print.

New feature: Push a file to /data/local/tmp

New feature: Push a file to /sdcard/Download

New feature: Kill Google GMS (for testing different pif.json files without needing a reboot)

Updated pip.prop editing to pif.json (with syntax coloring).

Option to create pif.json if one is missing.

Miscellaneous improvements.
[Google Pixel 8] badabing2003:
New Release:

Nov 29, 2023 v6.3.0.0 release

New feature: Process build.prop, browse for the build.prop and it will extract PIF relevant fields, no fancy checking of dates or anything, if it is in there it will extract the values.

Added Magisk module uninstall / restore functionality.

Added PlayIntegrity API checking, can use one (or more) of the three apps from Playstore (user has to install the app)

Play Integrity API Checker (less reliable than the other two).

Simple Play Integrity Checker

TB Checker.

pif.json editing automatically kills the com.google.android.gms.unstable process, no need to reboot.

Magisk Management UI improvements

Bug fixes and improvements
[Google Pixel 8] raphytaffy:
I am on a new Pixel 8 running the November 5, 2023 security update.

Trying to unlock the bootloader, but it doesn't seem to do anything:

2023-11-29 23:32:15 User Pressed Ok.

2023-11-29 23:32:15 Getting device: 39220DLJH002ZJ state ...
Rebooting device: 39220DLJH002ZJ to bootloader ...
Fastboot waiting device: 39220DLJH002ZJ for bootloader ...
device: 39220DLJH002ZJ is now in bootloader mode.
echo rebooting to system ...

2023-11-29 23:32:27 Getting device: 39220DLJH002ZJ state ...
Rebooting device: 39220DLJH002ZJ to system ...
ADB waiting device: 39220DLJH002ZJ for device ...

2023-11-29 23:32:36 Getting device: 39220DLJH002ZJ state ...
Device is now in adb mode.
Updating connected devices ...

Selected Device on 2023-11-29 23:32:36:
Device Model: shiba
Device Active Slot: b
Device Mode: adb
Has init_boot partition: True
Device Bootloader Version: ripcurrent-14.0-10839436
Device is Rooted: False
ro.boot.vbmeta.device_state: locked
vendor.boot.vbmeta.device_state:
ro.product.first_api_level: 34
ro.boot.warranty_bit:
ro.boot.veritymode: enforcing
ro.boot.verifiedbootstate: green
vendor.boot.verifiedbootstate:
ro.warranty_bit:
ro.secure: 1
ro.zygote: zygote64
ro.vendor.product.cpu.abilist: arm64-v8a
ro.vendor.product.cpu.abilist32:
Magisk Manager Version:

Edit: ended up using good old adb from the CLI.
[Google Pixel 8] badabing2003:
I don't expect there to be issues in that part of the code, but you never know, I might have introduced a regression, I appreciate if you could provide a support file so that I could analyze to see if there is a bug and fix it of course if there is one.
[Google Pixel 8] lorenzin:
I rooted my Pixel 8 manually with adb/fastboot/Magisk before I heard about PixelFlasher, but this looks like a fantastic tool, and I'm excited to switch to it! Your UI is very easy to use, and your instructions are really clear and comprehensive. :)

I started to go through the process, successfully patched my November OTA init_boot, and realized that I have two n00b questions before I push the big button...

1) I currently have the Magisk-patched initial factory init_boot.img flashed to init_boot_a and the stock (unpatched) factory init_boot.img flashed to init_boot_b. In your earlier support thread with t-ryder, you recommend flashing factory to both slots after initial root. Is that a general recommendation, e.g. for best practice usage, should I manually flash my original Magisk-patched init_boot.img to init_boot_b (so I will have the same patched factory init_boot.img flashed to both slots) *before* I use PixelFlasher to flash the patched OTA update?

2) Along the same lines - for a standard monthly OTA update, if I want to make sure I always have root afterwards, I will flash the patched OTA init_boot.img, reboot, verify everything works as expected, and then flash & reboot again to end up with both slots populated the same - correct?

Thank you in advance for your help!
[Google Pixel 8] badabing2003:
I recommend flashing both slots full OTA (not the same as firmware), you can have one rooted and one not, that is up to you.

The advantage of flashing full OTA on both slots is that they are both bootable, and in case something happens to one, the other is still good and allows you to get to the system.

This is not a requirement, just an recommendation

It is very important that at least with brand new device, this is done at least once, as one of the slots is shipped blank.

Yes, make sure you are clicking on Flash Pixel Phone button and not Flash Boot button.
[Google Pixel 8] lorenzin:
Thank you for the quick response! Just updated my phone, both slots. :) I really appreciate that PixelFlasher shows the percentage progress so I don't need to wonder if it's stalled when there's nothing happening on the screen of the phone itself.

This is really a terrific tool - thank you very much for making and sharing it! <3
[Google Pixel 8] raphytaffy:
Would be glad to provide support files, but this is my first time using the tool, so a few questions:

Where are the support files located?

Will there be support files for previous unlock attempts or will I need to initiate a new unlock?

My bootloader is now unlocked, so will trying to unlock again be helpful for debugging? Would "unlocking" again delete my data?
[Google Pixel 8] badabing2003:
No need, I noticed a small oversight in the code and addressed that, I'm confident it would take care of it.

To answer your questions.

1- Support button, lower right, upper left on the toolbar and in the help menu, you should do yourself a favor and read the UP.

2- Yes

3- no need to try again, it would be in the support file.
[Google Pixel 8] badabing2003:
Latest Release Changelog:

Dec 02, 2023 v6.3.1.0 release

When processing build.prop extract values from ro.system.* and ro.product.product.* if ro.product.* values are not found, just like @osm0sis script does.

Bug Fix: On Linux, set permissions to readable before attempting pull.

Dec 02, 2023 v6.3.0.4 release

Support for @osm0sis Play Integrity Fork which uses a different path for the print file: /data/adb/modules/playintegrityfix/custom.pif.json

Dec 02, 2023 v6.3.0.3 release

Make Magisk dialog resizable

Add support for PlayIntegrityFix-resetprop

Dec 01, 2023 v6.3.0.2 release

Add debug message for module troubleshooting.

Handle unpdateJson entry for modules on Linux / Mac

Nov 30, 2023 v6.3.0.1 release

Update pif.json editing to use the one in /data/adb/pif.json, Playintegrityfix changed the location in version 14.0 beta

Bug Fix: #125, handle exception when a module's update link is broken.

Other silly oversight bug fixes.
[Google Pixel 8] me_droid:
Now that the December update has dropped, I want to verify the process to update using PF.

1. Unhide Magisk, disable any problem modules. I'm only using Play Integrity Fix, Systemless Hosts and Call Recorder - SKVALEX. I've read the first two can remain enabled. Should I disable Call Recorder?

2. Download and patch the new full OTA image.

3. Select Flash Pixel Phone to update inactive slot - for me slot a. If all is well then again Flash Pixel Phone to update the now inactive slot b.

I'm having a problem with the logic - how is root retained? Is it because we are in fact re-rooting each time we go through this process?
[Google Pixel 8] badabing2003:
When you have to flash, you have to select the boot from the list, if you select the patched boot, you get rooted, if you select the stock you'd be stock.

PF makes sure that the proper boot is flashed before the phone is rebooted to system.
[Google Pixel 8] me_droid:
Thanks! Just completed the update, no errors. Flashed to both slots. Completely painless except for my usual anxiety. Can't thank you enough for PF!
[Google Pixel 8] Latty:
Is there a reason to update both slots when just going to a new OTA drop?
[Google Pixel 8] badabing2003:
New Release:

Dec 08, 2023 v6.3.2.0 release

Added Dump Screen XML (uiautomator).

With SPIC and Play Integrity Api Checker apps, when they hit quota limits, detect and report.

Added Playintegrity testing using Play Store (Developer options need to be enabled. First run takes longer as PixelFlasher tries to find the coordinates of the elements).

Added a setting to disable Firmware / OTA image hash validation, useful for firmware images that are for Pixel devices (example CalyxOS) but don't follow Google's naming convention.

Detect and report cases where a device rebooted into bootloader mode is not detected by the PC, provide suggestion on how to fix / continue.

Make the Magisk management window resizable and remember and load last size on startup.

Support for older Pif modules PROPS-v2.1 and PROPS-v2.0 as they store pif.json in a different location.

Improve pif.json extraction by detecting and using (if need be) ro.product.vendor.name ro.product.vendor.device ro.product.vendor.manufacturer ro.product.vendor.brand ro.product.vendor.model ro.vendor.build.fingerprint ro.vendor.build.security_patch

add pif print BUILD_ID extraction.

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

Dec 09, 2023 v6.3.3.0 release

When selecting build.prop to generate pif.json, you can now do multi-select, PixelFlasher will process them in a priority order based on the filename. build.prop being the highest priority.

Added Auto Copy to Clipboard which automatically copies the generated pif.json content to clipboard.

Added Auto Push pif.json which automatically pushes the file to the device and kills GMS process (after generated build.props processing).

Added Auto Check Play Integrity which automatically triggers the selected Play Integrity checker after editing or auto-pushing pif.json.
[Google Pixel 8] badabing2003:
New Release:

Dec 21, 2023 v6.4.0.0 release

A new resizable Pif Manager dialog decoupled from Magisk dialog.

Pif Manager new features:

Two pane window, top pane always showing the active loaded pif.json (if one is present, it is automatically loaded), bottom pane showing the output of processing props or Play Integrity testing.

Easy to use paste button to paste the output of the processed props into active pif.

Real time json validation (input is handled as json5 to allow json5 formatting / commenting, however the saving to device is done in regular json to keep it backward compatible.

Pushing to device is disabled if the contents are not a valid json.

If you make changes to local active pif, an indicator will reflect that changes need to be pushed.

Reload pif.json which reloads from device and discards what is in active pif window.

Few other features and improvements in in the works.

#129 Resizable and scrollable settings dialog for smaller display resolution devices.

Improved Magisk manager.

Pif install modules allows you to select @osm0sis or @chiteroman module.

New forward looking feature to dump selected device's entire props as json.

Completely reworked device property handling, to make it future proof and extensible.

Improved device detection between reboots of various modes.

Dark splash screen, thanks to @T-Ryder for the artwork.

#131 Disable Magisk denylist for Magisk delta, which is not compatible with official Magisk.

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

Dec 23, 2023 v6.4.1.0 release

Added Get xiaomi.eu pif, use it only if you don't manage to find working print, strongly recommended not to rely on it.

Support for caching of xiaomi.eu pif to avoid unnecessary downloads and processing.

All done in Python, hence no dependency on apktool or Java.

Support for @osm0sis native props.

Minor UI improvements.
[Google Pixel 8] badabing2003:
Update Release:

Dec 23, 2023 v6.4.2.0

New feature: Label and save your working pifs into your favorites and load them quickly from a combo box.

Added Get TheFreeman193 Random Pif, credit to @TheFreeman193 for the print supplies and the original logic of randomization based on device architecture.

Other minor improvements.
[Google Pixel 8] t-ryder:
@badabing2003

I find less and less time tinkering in stuff and my mental health issues make me forget a lot of tech stuff details lately. My mind is a mess. Even I knew things back then being a cook and ROM builder by now I often don't remember how things work.

On my Pixel 8 I have developer options enabled, OEM unlock, bootloader open. Until yesterday I had Magisk for root, systemless hosts and play integrity fix. Adaway was installed and doing a good job. For surfing I use kiwi browser with uBlock and other privacy, security and adblocking plugins.

I started using banking apps again, PayPal, and I have trade republic and kraken on my device doing financial & crypto stuff. That's why I removed Magisk/root and adaway, got me an adguard lifetime subscription for 50 bucks (that I could split to gift my brother with his iPhone).

Scenario; I don't use custom kernels anymore and no root. But verity and verification is still disabled from that time.

I hate the regular in-system OTA of Pixels - it's slow and I don't wanna wait for rollouts. My plan would be: keep developer options, ADB and OEM unlock. Keep using stock ROM, no custom kernels, no root. Enable verity and verification. Keep updating the device by flashing full OTA in Pixel flasher two times so both slots have it

Questions are now:

I need OEM unlock and ADB plus unlocked bootloader so Pixel flasher works for installing full OTA files I guess?

Bootloader locking would not factory reset the device (I don't want to reset since without root there is no full data apps backup using swift backup). But I need unlocked bootloader anyway for the full OTA?

Does re-enabling verity and verification while flashing full OTA file factory reset the device too? Or could I just enable that stuff again and does that even count regarding security measures if I keep the bootloader unlocked and ADB enabled?

I hope my thoughts make even any sense. It's totally bananas times for me lol.
[Google Pixel 8] badabing2003:
Yes it does.

Unfortunately bootloader locking or unlocking will wipe your device.

No you do not need unlocked bootloader to do full OTA, as long as you are doing stock, if you want to flash patched boot / init_boot, that is when you need to have unlocked bootloader, basically any flashing that you do in fastboot requires unlocked bootloader.

From the sound of it, you want to be stock, which means that with a locked bootloader you have less trouble with banking apps (if they check for strong integrity), unfortunately that means you would need to wipe.

Of course you can keep your bootloader unlocked, you won't pass Strong Integrity, for now as long as you're not rooted and are passing Device Integrity and Basic Integrity, most banking apps would work.

No, that does not require a wipe, however if you decide at one point to disable again, you would need to wipe.

Disabling verity / verification requires unlocked bootloader.

Honestly I don't know, but if you have no plans of using custom ROM / Kernel, then you don't need to keep them disabled, and you'd be stock with just unlocked bootloader as the only flag if some app wants to check.

Yes they make sense, and I hope you get well soon, and take it easy.

If it comes to a day when you need to lock your bootloader, talk to me first so that I make sure everything is done right before you lock.
[Google Pixel 8] t-ryder:
Thanks for the reply. So having ADB enabled, but locked bootloader I can sideload full OTA files in Pixel flasher?
[Google Pixel 8] badabing2003:
Yep (if you choose the stock boot in the list)
[Google Pixel 8] t-ryder:
Confused what to communicate in thread and what in PM. I had to get my Thinkpad X240 (small device) running Ubuntu Budgie 22.04 (I just love Budgie). Fedora Budgie was nice and clean, but I guess Ubuntu has some advantages. My Windows 11 PC is out of order because of the water damage in my flat reported earlier. So this is a screenshot of my X240 running Pixel Flasher.

I guess coding the GUI is really a PITA (and Budgie making this worse).
[Google Pixel 8] badabing2003:
You can ignore the first screenshot, they don't seem to be an issue, I see those a lot.

What is your screen resolution?

I'd say hide the toolbar, you get a lot of screen space, all those are still accessible under Device menu.
[Google Pixel 8] t-ryder:
It's 1366x768 and I just ditched Ubuntu Budgie. When I tried to set the path for platform tools in latest Pixel flasher the laptop froze and crashed completely. I guess Budgie is not ready for daily use in some cases. Maybe I'll use mint or xubuntu or even also Windows 11 on my laptop.
[Google Pixel 8] badabing2003:
New Release:

Dec 26, 2023 v6.5.0.0

Retry downloading with disabled SSL certificate verification if SSL error is encountered during TheFreeman193 pifs download. Print an alert to warn the user.

Added testing with YASNAC

Display a warning toast during Play Integrity test, when the Active Pif window content is not in sync with the device's pif.json.

Added Paste Down button to transfer the contents of Active Pif to Output Console (useful for reprocessing a pif.json.

Added Reprocess button to reprocess and produce pif.json compatible with the installed module version. Useful when different versions of modules require / depend on different fields / props. (Note: this is compatible with @osm0sis modules, @chiteroman modules change often and it's hard to keep up, I've done my best to keep compatibility with some of those versions).

Fill in missing build fields from fingerprint or vice versa.

Added an option to add missing fields with values from running phone (not the donor print)

Added an option to point to a directory full of json files and import them to favorites.

Added an option to disable UIAutomator (useful for devices that have a buggy UIAutomator). coords.json file can be manually created to run the automated tests. See #137

Did some code refactoring.