yashsingh1/xdaforums huggingface dataset:
[Google Pixel 6] flobo09:
Just a suggestion but shouldn't PixelFlasher flash to both slots by default?

I have been using it for a few months & while it had always worked with no issue before, something ****ed up there & it bricked my Pixel 6 trying to flash/upgrade to Android 13 & triggering anti rollback on the other slot that was still A12.

It's fine as i have multiple phones, did a warranty exchange & google replaced my Pixel 6 within a few days with a brand new one.

I flashed A13 on both slots right away to be safe and it's all working perfectly again but it feels to me this issue could all be avoided if it always flashed to the inactive slot as well by default.

It looks "safer" to me, am i missing something obvious there?
[Google Pixel 6] bgumble:
Feature request:

As long as we do not have a TWRP Recovery I would love to see a backup option.

Thx
[Google Pixel 6] badabing2003:
PixelFlasher default state is what flash_all script from Google does.

You are right in that Google messed up with Android 13 release on Pixel 6 series because of ARB,

But they also messed up flashing to both slots, the fastboot --slot=all is broken on these devices.

If you select flashing to both slots in PixelFlasher, it actually flashes to each slot one at a time to get around this bug.

The whole point of this is that PF tries to be as close to factory flashing as possible, it also provides the choice to do beyond what factory flashing offers, but I prefer leaving those to be user choices.

In addition to that, PixelFlasher checks your current version and warns you with a message if it detects that your device is Android 12 or less and you are upgrading to 13 or higher.

And lastly, my preference is not flash to both slots, but rather to flash to inactive slot.

I say this for two reasons.

1- the issue with the bootloader needing to be flashed to both slots is a rare event, this is not needed on every patch of every month, this was only needed because supposedly a very serious vulnerability was found in the bootloader that needed to be blocked from rolling back to.

2- Flashing to inactive slot means that if anything goes wrong you can go back to your last state, this is similar to A/B flashing that is done by OTA.

I flash with this option selected when I flash my phone, but even this is not the default, with enough of arm twisting I might get convinced to make this the default ;)

Flash to both slots would be much riskier default in case anything goes wrong, and things ultimately can go wrong, we're doing things out of the norm, heck even the norm that Google is doing is often going wrong.
[Google Pixel 6] flobo09:
Thank you for the very clear explanation.

I guess i was using an older pixel flasher version without the warning (or i missed it).

Good that it's there though, i do understand & agree with you and will flash to inactive slot in the future.

I have to admit i was caught fully unaware by that one. I'm so used to Nexus / Pixel being open // always easy to recover from almost anything than i never expected Google to set up such a easy "brick trap" to fall into.

Indeed, it still makes no sense to me why they did it like this.

Still, live & learn & no harm done since they exchanged the phone right away. In the future, i'll know to be extra careful if there is ever something like this again.

And thanks for the great work :)
[Google Pixel 6] badabing2003:
I think they got caught off guard too, they didn't do enough testing and reacted with adding a warning on the firmware download page.
[Google Pixel 6] vekenti:
I upgraded my pixel 6 to A13 via stock OTA updater. I want to root, and make sure both slots have A13 so I don't get the bootloader brick. From what you said flashing A13 to the inactive slot be enough to save me from the brick, correct?
[Google Pixel 6] manjaroid:
This explains a lot. I better understand why OTA updates had been rotating between _a and _b, and why PixelFlasher has been repeating with _a in my case and that I'd be wise to select the inactive slot next time.

If you're willing to consider making the OTA way the default for PixelFlasher I think an optional selector is enough, but maybe the option could be a sticky setting for us forgetful folk.
[Google Pixel 6] badabing2003:
If your current slot is already at A13 and as you want, then just flash to inactive slot and you should be set.
[Google Pixel 6] badabing2003:
It is an optional selector already.

View attachment 5740291

PixelFlasher remembers your last settings, and each time you start the program, it loads the last settings, so once you set it and don't touch it, it will always be set.

It's not right to force people to always uncheck it if they don't want this feature (example people who flash ROM or custom flashing ...)

So the point of contention which I need arm twisting is about: for a brand new installation of PixelFlasher, should this be selected or not selected.

It's debatable, because we don't know what the user wants to do on their first use.
[Google Pixel 6] manjaroid:
Well that seals the deal. I'm short on familiarity but quite content with how it's working out. And FWIW, I'd say you're right the first time and leave it like it is.
[Google Pixel 6] badabing2003:
New Release:

Oct 27, 2022 v4.3.1.0 release

Bug Fix: Magisk modules not listed on MacOS / Linux
[Google Pixel 6] linuxdep:
Many Thanks first, i'am new on Pixel 6, i have update A13 and after that update A & B bootloader slot (i hope so). Am I correct, if there is a monthly update, do I download it to the PC, take the PF and write the image on it while preserving the data? Did it get Magisk and all the settings? Or do I have to create and flash the boot image every time? Before disable updates on phone?
[Google Pixel 6] badabing2003:
If you look at the main thread, it has a typical usage.

To do monthly updates. (all within PF)

Make sure you always use the latest platform tools

Download the firmware applicable to your device

Process firmware

Patch Firmware

If you have Magisk Modules that you suspect might cause issues, disable them, Systemless Hosts and Safetynet Fix don't need to be disabled, they are safe.

Flash (Recommended Flash options: Keep data, Flash to Inactive Slot)

After everything is working again, re-enable disabled modules.

You're done
[Google Pixel 6] awesomeo3000:
Not sure what changed before. But new developments since then...

Got a new Pixel 7! Downloaded the latest PixelFlasher version for macOS 12.2. Having similar issue.

Trying to load 13.0.0 (TD1A.221105.001, Nov 2022). Patched with magisk in Flasher. Selected keep data. Flash to phone. Watching the running log, it says everything is successful. And then PixelFlasher freezes. On the phone, it finishes in fastboot mode. When I start the phone, the old version of OS is still on the phone.

Support.zip is attached.
[Google Pixel 6] badabing2003:
I checked the logs, and you're not doing anything wrong, and PF is not doing anything wrong either.

The reason you are still on the older firmware is because only bootloader is being flashed and then nothing.

You can see in the logs.

fastboot flash bootloader bootloader-panther-cloudripper-1.0-9074510.img
fastboot reboot-bootloader
sleep 5
fastboot flash radio radio-panther-g5300g-220908-221006-b-9144834.img

The first 2 or three lines are executed.

Finished. Total time: 0.473s
Rebooting into bootloader OKAY [ 0.000s]
Finished. Total time: 0.000s

but somehow after that nothing, the radio flashing is never started.

Typically you would get something like this

< waiting for REDACTED >
Sending 'radio_b' (82772 KB) OKAY [ 2.187s]

This is an interesting puzzle,

Typically fastboot command should wait for the device to show up.

I don't see the waiting part,

1- I wonder if this is an issue with fastboot on MacOS.

But if it were then others would have ran into the same issue.

See here @schmeggy929 had no issues doing this on a Mac

2- I wonder if 5 second wait is not enough.

3- Lastly I wonder if the script is corrupted or has bad characters in it (although highly unlikely, I would like to eliminate that as possibility)

For #3, if you could please zip this file and pass it to me,

/Users/REDACTED/Library/Application Support/PixelFlasher/factory_images/panther-td1a.221105.003/flash-phone.sh

Replace REDACTED with your username.

I can take a look if by any chance it is corrupt.

For #1, #2

Instead of selecting keep data, please select dry run

All this would do is echo the commands, but not flash anything, it will do all the fastboot reboots, which eventually will boot back to system.

If this also gets stuck in fastboot mode, then we know it's 1 or 2

At this point if it is still stuck, please open a terminal and issue fastboot devices

See if the devices is listed.

In the unlikely scenario of it not being detected after the

fastboot reboot-bootloader

You have to run it like this

/Users/REDACTED/Downloads/platform-tools_3/fastboot devices

Replace REDACTED with your username.

Based on the results we'll take the next steps.

Of course it never hurts to try using a different USB cable / port.
[Google Pixel 6] badabing2003:
@awesomeo3000

I wonder if sleep 5 is actually working, or if it is causing an exit of the script

Can you open a terminal and just type sleep 5

if the prompt comes back in 5 seconds, then and the terminal does not show any errors and stays open, then it is working correctly.

Another thing to know

You see in the console this part.

#!/bin/sh
# This is a generated file by PixelFlasher v4.3.1.0

"/Users/REDACTED/Downloads/platform-tools_3/fastboot" -s REDACTED flash bootloader bootloader-panther-cloudripper-1.0-9074510.img
"/Users/REDACTED/Downloads/platform-tools_3/fastboot" -s REDACTED reboot-bootloader
sleep 5
"/Users/REDACTED/Downloads/platform-tools_3/fastboot" -s REDACTED flash radio radio-panther-g5300g-220908-220908-b-9040061.img
"/Users/REDACTED/Downloads/platform-tools_3/fastboot" -s REDACTED reboot-bootloader
sleep 5
"/Users/REDACTED/Downloads/platform-tools_3/fastboot" -s REDACTED --skip-reboot update image-panther-td1a.221105.001.zip
echo rebooting to bootloader ...
"/Users/REDACTED/Downloads/platform-tools_3/fastboot" -s REDACTED reboot bootloader
echo Sleeping 5-10 seconds ...
sleep 5
sleep 5
echo flashing pf_boot ...
"/Users/REDACTED/Downloads/platform-tools_3/fastboot" -s REDACTED flash init_boot pf_boot.img
echo rebooting to system ...
"/Users/REDACTED/Downloads/platform-tools_3/fastboot" -s REDACTED reboot

Replace REDACTED with your username.

If you want you can execute each line one at a time in a terminal.

That's basically the flash-all file generated by PF to flash and keep root.

Lines starting with # are comments, no need to execute them.

You first have to switch to the directory where the files are:

cd "/Users/REDACTED/Library/Application Support/PixelFlasher/factory_images/panther-td1a.221105.003"

Replace REDACTED with your username.
[Google Pixel 6] awesomeo3000:
Dry run works and booted back into the system.

Yep, sleep 5 executes correctly with no errors and stays open.

Changed this to .001 instead of .003

Just get the > symbol on the terminal. No errors.

Do I replace the second REDACTED here with my username too? If so, it says <waiting for [username]>. If I delete the second REDACTED completely, it says fastboot: usage: no command
[Google Pixel 6] badabing2003:
Just to be certain,

Does the prompt return in 5 seconds or immediately?

Right, 003 is for Verizon.

Yes, my bad didn't tell you that, the second one is your device ID

PF redacts your username and device id for privacy reasons.

When the phone stays in fastboot mode, and you issue that command, you should see your device ID listed.

Thanks for the tests.

Attached file is perfect, there is nothing wrong with it.

I still don't get why it would end right after reboot.

If sleep 5 command takes 5 seconds before the prompt is back, you can try this.

Reboot to fastboot

In Terminal cd to the directory where flash-phone.sh script is

and issue the following command

sh ./flash-phone.sh

This should do the full flashing.

If it still does not,

issue one command at a time the lines from flash-phone.sh script

Note if the last time you ran PF, it was dry-run, then the script is a dry run script.

You need to choose Keep Data

Click on Flash phone

and when it displays the script, you can cancel, at that point the script would already be generated.
[Google Pixel 6] manjaroid:
Patch and flash worked great on Windows for A13 November build. The only issue was peculiar UI screen write behavior after switching to Advanced mode. Misplaced or overlapping objects similar to when CSS goes missing in a web page. It all straightened out after closing and restarting. Maybe it was something about temp files. Happy camping over all!
[Google Pixel 6] badabing2003:
Never heard of that but it's definitely possible, advanced mode adds ui elements and resizes the form.

What platform are you on?

Next time it happens, try going back to bardic mode and then back to advanced mode, see if it clears up.
[Google Pixel 6] awesomeo3000:
Prompt returns in 5 seconds.

I did this, and got the following:

panther-td1a.221105.001 REDACTED$ sh ./flash-phone.sh

Sending 'bootloader_a' (12260 KB) OKAY [ 0.063s]

Writing 'bootloader_a' (bootloader) Flashing pack version cloudripper-1.0-9074510

(bootloader) flashing platform gs201

(bootloader) Validating partition ufs

(bootloader) Validating partition ufs

(bootloader) Validating partition ufs

(bootloader) Validating partition partition:0

(bootloader) Validating partition partition:1

(bootloader) Validating partition partition:2

(bootloader) Validating partition partition:3

(bootloader) Validating partition bl1_a

(bootloader) Validating partition pbl_a

(bootloader) Validating partition bl2_a

(bootloader) Validating partition abl_a

(bootloader) Validating partition bl31_a

(bootloader) Validating partition tzsw_a

(bootloader) Validating partition gsa_a

(bootloader) Validating partition ldfw_a

(bootloader) Flashing partition ufs

(bootloader) Flashing partition ufs

(bootloader) Flashing partition ufs

(bootloader) Flashing partition partition:0

(bootloader) Flashing partition partition:1

(bootloader) Flashing partition partition:2

(bootloader) Flashing partition partition:3

(bootloader) Flashing partition bl1_a

(bootloader) Flashing partition pbl_a

(bootloader) Flashing partition bl2_a

(bootloader) Flashing partition abl_a

(bootloader) Flashing partition bl31_a

(bootloader) Flashing partition tzsw_a

(bootloader) Flashing partition gsa_a

(bootloader) Flashing partition ldfw_a

(bootloader) Loading sideload ufsfwupdate

OKAY [ 0.430s]

Finished. Total time: 0.495s

Rebooting into bootloader OKAY [ 0.000s]

Finished. Total time: 0.000s

The terminal did not return to command prompt though. And when I rebooted the phone, it had the old image on it so nothing got flashed.

So then I thought I'd be smart and just flash the magisk patched boot img that pixelflasher creates. So I did

fastboot flash boot "/Users/REDACTED/Library/Application Support/PixelFlasher/boot_images4/8753990ce4374d5a4509e0bae48f54e2553be216/magisk_patched_0aa47cdd.img"

That bricked my phone and the bootloader kept giving an error and rebooting into the fastboot mode. So then I did

fastboot flash boot "/Users/REDACTED/Library/Application Support/PixelFlasher/boot_images4/0aa47cdd85f49bdd07133b4e0172eab06dfbe8c4/init_boot.img"

. Same result.

Then I started panicking. But I went back to the original factory image I downloaded and got the boot.img from there and flashed that.

fastboot flash boot /Users/REDACTED/Downloads/panther-td1a.221105.001/image-panther-td1a.221105.001/boot.img

Phone booted just fine back but....the image is somehow still the TD1A.220804.009.A2 not the TD1A.221105.001 boot.img that I flashed!! Feels like I'm doing something very wrong?!
[Google Pixel 6] badabing2003:
@awesomeo3000

Don't fret, we'll figure this out.

Running the script manually you got exactly the same effect, it stopped after flashing bootloader, never got to flashing Radio and beyond.

This does not hurt.

However flashing a patched init_boot for the new firmeware to your boot partition was bad.

First of let's get some things cleared up.

The firmware you are using is panther, which is Pixel 7,

This is the Pixel 6 questions thread, I want to make sure your device is Pixel 7.

I don't mind answering the questions in here, but Pixel 7 related q/a is better suited in Pixel thread (you can find the links in the main thread) this way people with Pixel 7 can also chime in or benefit from the answers.

Pixel 7 / 7P is different mainly because we patch init_boot and not boot.

On Pixel 7 / 7P, you should not touch boot partition, nor create a patch from boot.img

You should only patch the init_boot.img and appropriately flash to init_boot partition.

I see that you recovered from it by flashing boot.img from November release.

It's good that it worked, but it would have been best to flash the October boot because you are still on October release right?

No worries, now that it is working, you can keep it at that.

Coming back to your issue.

Knowing that it does not proceed to Flashing Radio when you ran the script.

Did the script end or was it hanging?

The answer to that helps.

If it ended

Rerun it

and then when it ends again, run

fastboot devices

see if it detects your device in fastboot mode.

If it does not, that is the issue.

If it does.

Just run one command at a time from this script

#!/bin/sh
# This is a generated file by PixelFlasher v4.3.1.0

"/Users/REDACTED/Downloads/platform-tools_3/fastboot" -s REDACTED flash bootloader bootloader-panther-cloudripper-1.0-9074510.img
"/Users/REDACTED/Downloads/platform-tools_3/fastboot" -s REDACTED reboot-bootloader
sleep 5
"/Users/REDACTED/Downloads/platform-tools_3/fastboot" -s REDACTED flash radio radio-panther-g5300g-220908-220908-b-9040061.img
"/Users/REDACTED/Downloads/platform-tools_3/fastboot" -s REDACTED reboot-bootloader
sleep 5
"/Users/REDACTED/Downloads/platform-tools_3/fastboot" -s REDACTED --skip-reboot update image-panther-td1a.221105.001.zip
echo rebooting to bootloader ...
"/Users/REDACTED/Downloads/platform-tools_3/fastboot" -s REDACTED reboot bootloader
echo Sleeping 5-10 seconds ...
sleep 5
sleep 5
echo flashing pf_boot ...
"/Users/REDACTED/Downloads/platform-tools_3/fastboot" -s REDACTED flash init_boot pf_boot.img
echo rebooting to system ...
"/Users/REDACTED/Downloads/platform-tools_3/fastboot" -s REDACTED reboot

First REDACTED is your name, the second is the device id
[Google Pixel 6] 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 6] awesomeo3000:
😬😵‍💫🥴

It is pixel 7. Should I move it over to the other thread? I can make a post there once we figure it out.

Correct (even though I flashed the November boot.img)

It is hanging.

****KKK. I think it's really ****ed now because I didn't reflash the original boot.img back yesterday. Today, after the script hung, I executed the script line by line as you suggested. It worked ok and after I flashed the last init_boot, I got a message saying "your device is corrupt. It can't be trusted and may not work properly." I hit continue, but then it hangs on startup. So I went back into fastboot and tried to enter recovery, but it still says "your device is corrupt." Please tell me it's not bricked.

Attached is the terminal log from today.
[Google Pixel 6] awesomeo3000:
Maybe I still have a chance because even though adb devices does not return any devices, I can fastboot reboot the device from terminal. So I can probably flash some image, but I don't want to try anything randomly right now so waiting to see if anybody has ideas. Now I wish I could cross-post this with the pixel 7 thread.
[Google Pixel 6] awesomeo3000:
Good news. I used Android Flash Tool to flash TD1A.221105.001 (9104446). Lost all my configurations, but phone is working again. Though I still get the "your device is corrupt" message, but now it works when you press continue and I can boot into the phone. So now I repeated all the manual command executions. And now it worked fine, and I have root.

God I wish I wasn't so stupid yesterday and flashed the boot.img. Is there a way to get rid of the "your device is corrupt" message?!#@!
[Google Pixel 6] badabing2003:
@awesomeo3000

Something is not right on your Mac.

Looking at the terminal output you sent, I see lots of wrong things there.

But don't fret, this can be solved / fixed, you don't want to go through this every month.

Reach out to me privately pass me your username and device id, so that I give you precise commands to execute.

Probably best when we're both are online at the same time.

Tell me about your availability / timezone.

Once I do, I would need execution of one command and one command only (no multiple tries of different variations), based on the output of that, I will give you the next command.

Troubleshooting 101 :)

I have to ask you, you said you had to wipe your device or at least it ended up wiped.

Is wiping still an available option to you? or you rather not?

There are different ways to approach this, and if wiping is an option, we'll take the easy route of clean start.
[Google Pixel 6] Jaitsu:
I have a bit of an odd issue, and have for some time now: When I use the "Flash to both slots" option, afterward, only one slot ends up being bootable, usually the same slot the device was on prior to the update. The whole process appears to work, I see the logs for the flash process for both slot A and B, and it boots - but then if I use the "Set Active Slot" option (or manually change it with the fastboot command) to flip to the other slot, it ends up in a semi-bootloop: it tries to boot, gets to the "Google" screen, then reboots back to the bootloader, with "Enter reason: reboot bootloader" as if it was commanded to do so. Eventually, it automatically switches back to the other slot and boots normally.

I'm not getting any errors whatsoever through the process, from PixelFlasher or the phone, it just fails to boot on the other slot. I tried live-booting with the Magisk-patched boot image, but it does the same thing: PixelFlasher shows a success in flashing and booting the image, but it just goes to the Google screen and right back to the bootloader.

I then tried simply flashing the active slot again, including the same patched boot image (and same image overall that should have been flashed to the slot by "Flash both slots"), and now it works. Any ideas/would the PixelFlasher logs help at all? I'd offer logs from the device as well but I didn't think to grab them before (successfully) trying just flashing the current slot again.
[Google Pixel 6] badabing2003:
Interesting,

This should not happen, if flashing to both slots was successful without errors.

You confused me with this part.

If the active slot is the only working slot, and you flashed again the active slot, what do you mean by now it works?

Active slot was working in the first place, and now it works means what? the inactive slot is bootable as well?

Please provide the sanitized logs from help menu and I will look at it, see if anything stands out.