yashsingh1/xdaforums huggingface dataset:
[Google Pixel 6] 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 6] 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 6] 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 6] kpirnie:
Mate, just wanted to pop in and say thanks for this. Now that I've actually broken down and rooted, I'm ready to let the "fun" begin ;)
[Google Pixel 6] kpirnie:
Yikes... just hit an issue... now bootlooping at the Google Logo...
Tried Flashing to both slots... (which is probably what my problem was....)

Last batch of logs in verbose is:
extracting vendor.img (474 MB) to disk... took 2.614s
archive does not contain 'vendor.sig'
Resizing 'vendor_a' OKAY [ 0.010s]
Sending sparse 'vendor_a' 1/2 (262140 KB) OKAY [ 6.233s]
Writing 'vendor_a' OKAY [ 1.324s]
Sending sparse 'vendor_a' 2/2 (223488 KB) OKAY [ 5.283s]
Writing 'vendor_a' OKAY [ 1.216s]
archive does not contain 'vendor.sig'
Resizing 'vendor_b' FAILED (remote: 'Not enough space to resize partition')
fastboot: error: Command failed
Press any key to exit...
Done!
Flashing elapsed time: 313 seconds

Any ideas what I can do from my end to fix?

EDIT: I think I am all set for now. Figured out how to boot to bootloader with the volume keys, made the active slot, slot a and can now boot
[Google Pixel 6] badabing2003:
New Release:

April 06, 2022 v2.1.0 release

Setup dedicated profile directory.

Put logs in the profile directory and maintain log history.

Plumbing for Linux support (just the flashing part is left to do).

Plumbing for new workflow.

Bugfix to handle name conflict in ROM filename.

Various minor improvements.

Update documentation.
[Google Pixel 6] badabing2003:
New release:

April 10, 2022 v2.2.0 release

Linux support.

Remember last window position.

List Magisk modules, when Magisk is detected.

Added fastboot verbose option.

Added more checks and validations.

Added more details when errors are encountered.

Cleaner message box (better formatting).

Notice to the user in case fastboot drivers are not setup properly.

More plumbing work for the new upcoming workflow.

Add notes on how to build the Linux version.
[Google Pixel 6] badabing2003:
I have ported the program to Linux, I can build it locally on Ubuntu 20.04 and it is working just like in Windows.

I'm still trying to figure out how to build it with Github actions just like I do for the Windows version.

In the meantime, if you need a Linux version I can share the one I build locally (version 2.2).

Technically, it should also be possible to build on MacOS, but I don't have a Mac to build or test it.
[Google Pixel 6] alarmdude9:
You are beyond awesome! Sure I'll take it and if I can figure out how to build it maybe I can figure out how to turn it into a deb package for you to upload.
[Google Pixel 6] badabing2003:
Attached.
[Google Pixel 6] alarmdude9:
Cool. Soon as I get home I'll play with it and see what I can do about making it a deb and sending it back up.
[Google Pixel 6] alarmdude9:
Running the app on ubuntu and no love. Started it then watched inception, so unless the app is super slow either I am screwing something up or there is an issue. No log file was saved so I ran it again and when it stopped where it did before I just copied the console log.

PixelFlasher 2.2.0.0 started on 2022-04-10 21:42:48No previous flashable pac - Pastebin.com

Pastebin.com is the number one paste tool since 2002. Pastebin is a website where you can store text online for a set period of time.

pastebin.com
[Google Pixel 6] badabing2003:
OK thanks,

This part is probably relevant, let me see if I can reproduce this by faking some outcomes.

Making sure boot.img is found on the phone in /storage/emulated/0/Download ...
Magisk Tools not found on the phone
Looking for Magisk app ...

It helps to know if you have magisk installed, and if so, is it hidden?

Either way it should abort gracefully.
[Google Pixel 6] alarmdude9:
Yes I do have it installed and I do believe it is hidden. Is that an issue?
[Google Pixel 6] badabing2003:
Found the issue, making a new build.
[Google Pixel 6] alarmdude9:
yeah even an idiot can help!
[Google Pixel 6] badabing2003:
Just quick question, are you currently rooted?
[Google Pixel 6] alarmdude9:
With magisk yes
[Google Pixel 6] badabing2003:
OK Try this please.

As for being rooted, I'm surprised it did not find Magisk tools.

What do you get when you execute the following adb command?

adb shell "su -c 'ls -l /data/adb/magisk/'"

Oh probably you have not granted root rights to Shell

See Stage1 step 4 here
[Google Pixel 6] alarmdude9:
Permission denied.

Ok I'm stupid could not find out how to give root to it, however, your pop up saying how to do it in magisk appears to work. Doing DRY run now.
[Google Pixel 6] alarmdude9:
Well here is the console output from the dry run. Think it's good to go to do a big boy run?

PixelFlasher 2.2.0.0 started on 2022-04-10 23:43:50No previous flashable pac - Pastebin.com

Pastebin.com is the number one paste tool since 2002. Pastebin is a website where you can store text online for a set period of time.

pastebin.com
[Google Pixel 6] badabing2003:
Please don't say stupid, information is dispersed.

Excellent, thanks for confirmation.

If you deny root access to shell, it should not give you that error anymore, it should guide you to launch Magisk and patch.
[Google Pixel 6] alarmdude9:
That it did. I loaded magisk and patched the file. Think it's ready to run it for real?
[Google Pixel 6] badabing2003:
Yep looks good.
[Google Pixel 6] alarmdude9:
Steps through then gets to rebooting into flash then no love.

PixelFlasher 2.2.0.0 started on 2022-04-11 00:00:03No previous flashable pac - Pastebin.com

Pastebin.com is the number one paste tool since 2002. Pastebin is a website where you can store text online for a set period of time.

pastebin.com
[Google Pixel 6] badabing2003:
ok on it, now I'm the stupid file for naming a linux file .bat

I'll get a fix soon.
[Google Pixel 6] badabing2003:
Is 3rd time a charm?

try this.
[Google Pixel 6] alarmdude9:
Closer this time. Waiting to see if the phone actually boots......

PixelFlasher 2.2.0.0 started on 2022-04-11 00:35:48Previous flashable packag - Pastebin.com

Pastebin.com is the number one paste tool since 2002. Pastebin is a website where you can store text online for a set period of time.

pastebin.com
[Google Pixel 6] badabing2003:
I don't like how it ended.

writing 'system' 1/4...
FAILED (remote: partition (system) not found)
finished. total time: 3.275s
Done!
Flashing elapsed time: 40 seconds

It only wrote 1/4 of system and failed.

I hardly doubt that this is a PixelFlasher issue, you can look at flash-phone.sh file,

That is exactly what it tried to execute.
[Google Pixel 6] alarmdude9:
No clue it's at the g with the cycling line under it still and the computer doesnt see it. Sigh.
[Google Pixel 6] badabing2003:
Check your Android Platform Tools version.

I see it at: SDK Version: 1:8.1.0+r23-5ubuntu2

Make sure you always use the latest.

It is currently at Version 33.0.1-8253317
[Google Pixel 6] alarmdude9:
I may be incorrect but I believe that the linux version has another numbering scheme. Got the phone into fastbook and did a lsusb and this is interesting...\

Bus 003 Device 016: ID 18d1:d001 Google Inc. Nexus 4 (fastboot)
[Google Pixel 6] badabing2003:
Did you install from a package or you got it from here:

The version I posted is from my Ubuntu 20.04

lsusb gives me this

Bus 001 Device 011: ID 18d1:4ee7 Google Inc.

The fact that you see Nexus 4 in there suggests that it is really old.
[Google Pixel 6] alarmdude9:
from google. not sure what happened. Going to try and download the full firmware and see if it will reinstall the phone.
[Google Pixel 6] badabing2003:
I'd also download the SDK from the link in my previous post, something tells me the version you have is really old.
[Google Pixel 6] alarmdude9:
Grabbing them now. Got a feeling it's going to be a bad night. Have to be at work in five hours. Nothing like a deadline to figure out how to unbootloop a phone.
[Google Pixel 6] badabing2003:
Can you put it back into fastboot mode?

if you can, it should be easy to recover.

Grab the latest sdk

Put the phone into bootloader mode

Update the path to the platform tools in PixelFlasher

Refresh

Select your phone, it should show as f.b (fastboot mode)

The package is already prepared, just flash and it should generate a new flash-phone.sh file that will use the new sdk.

I have to hit the bed as it has been a long day.

Good luck, if you can get in bootloader mode, I'm confident that it should work.

Another option you could try if the above fails is turn on the advanced mode and select flash to both slots.
[Google Pixel 6] alarmdude9:
Yeah I can get into fastboot. Still crashing on partition one. Interesting enough the google flash tool wont work either. Sleep well, if I get it to work I'll post it.
[Google Pixel 6] alarmdude9:
Ok not real sure what happened where. It seems to have worked this time after a bunch of jumping through hoops to get back to stock. Only thing I did different on the laptop was I copied the adb files from the bin dir to the working dir. Here is the output of it running to see if you can figure out what went stupid.

PixelFlasher 2.2.0.0 started on 2022-04-11 02:43:16debug: Loading configuratio - Pastebin.com

Pastebin.com is the number one paste tool since 2002. Pastebin is a website where you can store text online for a set period of time.

pastebin.com
[Google Pixel 6] badabing2003:
Here's the major difference.

The second line in here, which points to the latest SDK version, it is always advised that the latest version of SDK is used

Android Platform Tools: /usr/bin
SDK Version: 33.0.1-8253317
Selected Device:
Device ID: 18091FDF60010Q
Device Model: oriole
Device is Rooted: False
Device Build: SP2A.220405.004
Device Active Slot: b
Device Mode: adb

Also the first line is pointing the path, so the copying of adb to the folder has no relevance.

Here's another proof of it.

debug: The script content that will be executed:
debug: --------------------------------------------
#!/bin/sh
# This is a generated file by PixelFlasher v2.2.0.0

/usr/bin/fastboot -s 18091FDF60010Q flash bootloader bootloader-oriole-slider-1.1-8167057.img
/usr/bin/fastboot -s 18091FDF60010Q reboot-bootloader
sleep 5
/usr/bin/fastboot -s 18091FDF60010Q flash radio radio-oriole-g5123b-97927-220225-b-8226700.img
/usr/bin/fastboot -s 18091FDF60010Q reboot-bootloader
sleep 5
/usr/bin/fastboot -s 18091FDF60010Q update image-oriole-sp2a.220405.004.zip

debug: --------------------------------------------

Notice how PixelFalsher uses full path to fastboot, (along with the specific device id) that was by design, and it's impossible to pick up the current directory one or another device.

Really happy to hear that you're up and running.
[Google Pixel 6] badabing2003:
Here's another indication that it was the SDK version that caused the issue.

Flashing device 18091FDF60010Q ...
target reported max download size of 261095424 bytes

The firmware size is bigger than that.
[Google Pixel 6] badabing2003:
New release:

April 11, 2022 v2.2.2 release

Linux Improvements, warn user if selected SDK is old.
[Google Pixel 6] alarmdude9:
It's odd because the only thing I did was copy the bin files to the working directory. I thank you for creating the tool, your work is amazing. Did you still want to do a ppa for ubuntu?
[Google Pixel 6] badabing2003:
What I want is to build it automatically with Github actions, if I'm going to build it myself and then package it as deb then it's actually extra work.

I should be able to build it on Github just like I do the Windows version, this way as I push code updates it builds automatically and makes it available in the releases, no manual work for me (yeah I'm lazy).

I'm just having a difficulty building it on Github, but can build it locally.

I'll eventually figure it out.

I also want to do the same for MacOS, once someone confirms that it is working on MacOS.
[Google Pixel 6] GoNz0:
I did a dry run last night, it factory reset the phone.
[Google Pixel 6] badabing2003:
Please provide the logs, along with flash-phone.bat file.
[Google Pixel 6] GoNz0:
Where are the logs?
[Google Pixel 6] badabing2003:
%APPDATA%\PixelFlasher\Logs

Zip it all up so that I can trace to see what happened.
[Google Pixel 6] GoNz0:
I found the log from when it happened. I did the wipedata after and flashed the image once I realised it'd factory reset.
[Google Pixel 6] badabing2003:
Yep

-w update image-oriole-sp2a.220405.004.zip

Sorry you lost your data, I was pretty certain that it was not due to the App, that part I extensively test knowing the implications, besides many people reported success, and I also update my phone with it.

But I still wanted to see the logs, just in case there was a corner case that I might have missed.

Be careful next time, and update to the latest version.
[Google Pixel 6] GoNz0:
It was a day old from the factory reset I did so no biggy, I'm missing 24 hours of WhatsApp chats, so I think I'll get over it in a year or 2 with the right counseling :eek:

Did it tell you anything on the dry run part of the log where it got wiped?
[Google Pixel 6] badabing2003:
Dry run did not wipe it, it was the next flashing with wipeData that did it.

Let me try to color comment the logs.

View attachment 5586503

Lines 42-44 were the options you selected the first time.

And you confirmed accepting them on line 55.

If you look at the lines 57-71 , this is exactly what dry run is supposed to do.

Basically it is just an echo of the flash statements, whereas the reboots are real (so that fastboot gets tested without actual flashing)

That is why the whole thing took only 9 seconds (line 71).

Next you changed the mode to wipeData (lines 92-94)

but that run was aborted,

you went back at it again.

View attachment 5586505lines 115-117 were the options, which got your confirmation before continuing (line 128)

You pressed ok :(

Next you see the real flashing (see how different it is from the dry run)

View attachment 5586507

it actually takes 3 minutes to do the flashing not 9 seconds, and you can see it on line 300

Line 302 shows the total elapsed time from clicking on the flash button until completion, this also includes the confirmation prompt and waiting for your response.

To summarize, there is nothing wrong with dryRun, that did not wipe your phone, it was the run after with wipeData option selected that did it.

Good to hear that you did not lose much data.

It pays to be extra cautious and double check every prompt, better safe than sorry.
[Google Pixel 6] wheelbarrel:
First off, thank you for the time and effort put into this project!

I downloaded your latest version Pixel Flasher (2.2.2) for Linux, and when I click any of the browse buttons located at the top of the program, it crashes.

It also doesn't load my device when I click reload, even though it shows connected via command line with lsusb

I am running Kali Linux, and platform tools are fully updated.

I will gladly help test anything, if you need?
[Google Pixel 6] GoNz0:
The thing is dry run rebooted the phone, then it rebooted again and had factory reset. Once I realised this and had nothing to lose (having not closed pixelflasher) I went for a wipe data and flashed the image after allowing the developer options as I was still trying to sort the gcam crashing after the factory reset a couple of days earlier.
[Google Pixel 6] badabing2003:
Please stop saying that,

This is what dryRun executes

Please show me how this could possibly wipe your phone.

View attachment 5586931

Not only it adds echo in front of any flashing command (so that it is not executed) it also removes the -w flag from the update line.

It is impossible that dryRun wiped your phone.

You were in bootloader mode before you executed the dry run, perhaps you had just done bootloader unlocking, which would most definitely wipe your phone.

If dryRun causes phone wipes, this thread would be flooded with screams (justifiably so).
[Google Pixel 6] badabing2003:
Would you be able to share the logs?

If you could tar / zip the directory

~/.local/share/PixelFlasher/logs

that would greatly help.
[Google Pixel 6] badabing2003:
OK I'm able to reproduce the issue on Kali,

I installed Kali in wsl2, that is the good news, the bad news is I don't know if it can be fixed.

I cannot build it on Kali because WxPython does not build on Kali, and there is no prepackaged wheel on Kali.

I researched quite a bit and tried quite few approaches, non of them worked, managed to build the WxWidgets, but not WxPython, and I see that many others had similar issues building it on different platforms.

This is the same issue I'm running into building the Linux on Github.

Now a bit of good news.

You can type the paths instead of browsing to it, and it accepts that.

You can also quit the program, edit the file

~/.local/share/PixelFlasher/PixelFlasher.json

and set the paths in the file (it should be obvious what to change)

Next time you load the program, it should have those values pre-populated

I couldn't test the adb because I couldn't get to the USB redirection working, but I expect it to work.

Make sure you install the latest not from a package manager, instead download the zip from Google , unpack it and set the path of platform tools in PixelFlasher to the unpacked directory .

If you can figure out how to build WxPython on Kali, maybe we can even have a fully working Kali version.
[Google Pixel 6] wheelbarrel:
Thanks for the update! I will dive deeper into WxPython and get back to you with my results.

I did try manually entering my paths, but it doesnt allow me to enter anything. I will upload my log file when I am off work today. I will also try editing the PixelFlasher.json as well.
[Google Pixel 6] badabing2003:
Strange, I was able to manually enter, but json file editing should work too.
[Google Pixel 6] wheelbarrel:
Here is the log file directory. I was able to manually input the path in the .json, so that took care of that!

I sent my Pixel back in to get the Pixel Pro now that Google lowered the price, so I will have to wait to do some more testing.

I will let you know when the Pro arrives!
[Google Pixel 6] badabing2003:
Thanks,

The logs are useless, exactly how I saw it on my system. when the crash happens there is no chance for the log to capture anything.

Good for you for going 6 pro

By the way I noticed that the platform tools is being picked up from /usr/bin

PixelFlasher 2.2.2.0 started on 2022-04-14 18:14:35
Android Platform Tools: /usr/bin
SDK Version: None
No device is selected.

When you get your phone, make sure you download the latest and set the path to it.

The line that says SDK version should display the version

Curious how did you install the platform tools? from a package?

I'd like to see why it has no version
[Google Pixel 6] wheelbarrel:
I downloaded the zip directly from google - platform-tools_r33.0.1-linux - like you said. I unpacked it to my PixelFlasher dir, but I forgot to set PixelFlasher to direct there! I will edit the .json and see if that works.

I know Kali is a lot more difficult to use, but I quite enjoy the challenge, so I am determined to make this work lol
[Google Pixel 6] badabing2003:
(y)

I like the attitude.

By the way I'm getting closer to making this work as well.

I managed to build it with Github actions.

Build Linux Executable · badabing2005/PixelFlasher@773c08e

Pixel™ phone flashing GUI utility with features. Contribute to badabing2005/PixelFlasher development by creating an account on GitHub.

github.com

Oh boy it took a long time to build the WxPython wheel.

I also ran into similar to your Kali issues on debian, and managed to get it working on debian.

But still not working on Kali.

If you launch the program from terminal, the console will display the errors encountered.

This is the error I'm running into on Kali, see if yours is the same.

(PixelFlasher:29258): GVFS-RemoteVolumeMonitor-WARNING **: 12:40:14.434: remote volume monitor with dbus name org.gtk.vfs.UDisks2VolumeMonitor is not supported
**
Gtk:ERROR:../../../../gtk/gtkiconhelper.c:494:ensure_surface_for_gicon: assertion failed (error == NULL): Failed to load /usr/share/icons/Flat-Remix-Blue-Dark/actions/16/image-missing.svg: Unable to load image-loading module: /usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-svg.so: /lib/x86_64-linux-gnu/librsvg-2.so.2: undefined symbol: pango_attr_overline_new (gdk-pixbuf-error-quark, 5)
Bail out! Gtk:ERROR:../../../../gtk/gtkiconhelper.c:494:ensure_surface_for_gicon: assertion failed (error == NULL): Failed to load /usr/share/icons/Flat-Remix-Blue-Dark/actions/16/image-missing.svg: Unable to load image-loading module: /usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-svg.so: /lib/x86_64-linux-gnu/librsvg-2.so.2: undefined symbol: pango_attr_overline_new (gdk-pixbuf-error-quark, 5)
Aborted