This method works ONLY for qualcomm devices (ANY non-UFS!!) which are in QDL/EDL/9008 mode!
This method does *not* work for UFS devices (so not for the G5 or later). Details:
9008 bricks are not fixable on UFS NAND devices by booting from an SD card. The boot path is stored in QFPROM (on the CPU) and it is something like /dev/block/sdb or /dev/block/sde. On eMMC devices, the boot path is /dev/block/mmcblk0. If you have a 9008 brick, the SD card is seen as /dev/block/mmcblk0 so the phone will boot from it on an eMMC device since that IS the boot path. There is no way to make the SD card appear as /dev/block/sdX. And there is no way to change the boot path once you have a 9008 brick without a firehose. If you have a signed firehose, then you can fix your phone without needing an SD card As for cross flashing. I checked the RSA signature for the H930, H932, H933, and US998 and they are all different. If you flash any of the signed firmware (xbl, abl, hyp, modem, etc) from one of those devices, then you have a 9008 brick and no way to fix it yourself.I didn't bother checking the Verizon or Sprint models since they are even more locked down than the H932 is, but it appears from reading this thread that they have the same key as the US998 (I am not going to waste my time checking).-- Brian
If your device is not detected like that when connected the external sdcard method will NOT work for you.
You could force the sdcard mode by following post #2
Hint --> If you have no sdcard and own a H815 device (only then) you can make use of these validated QFIL process here
- 1) Ok first of all what you need is Linux. I highly recommend FWUL ( https://bit.do/FWULatXDA ) but any Linux is sufficient if you can handle it.
- 2) LG models only: you need the latest SALT version ( https://bit.do/SALTatXDA ) which is already included since FWUL v2.5 (one of the reasons why I recommend FWUL).
If you decide to use FWUL and start SALT it should prompt you when an updated SALT version is available. To be sure: just click the Update button in SALT once started.
- 3) you need an external sdcard which is (to be sure) bigger then your internal storage (the sdcard must have the same size of your internal storage! so in theory a 32GB card should work fine but some cards are sold as 32GB but the real size is less , i.e. 29 GB). Thats the most critical part here as the GPT will be invalid if it does not fit with the sdcard. you can't edit the GPT though as then internal checksum may fail and so it will not work to boot from the sdcard. so ensure you have a bigger sized sdcard to workaround any issues related to this.
- 4) Another important requirement for that external sdcard is: speed! If you want to ensure that you do not struggle ensure it is at least a class 10 card with UHS. It MIGHT work without UHS and it MIGHT work even on slower cards down to class 4 but when the storage is too slow the device rejects to boot from it as it ran into timeouts and so marking the sdcard as "not good enough" to boot from it.
Of course you can first try a lower speed sdcard but if you encounter issues here then it is likely related to the speed of the sdcard.
- 5) you need a 100% matching firmware (e.g a KDZ on LG's) for your device model - and very important: with a matching ARB of your current installed firmware!
If your current installed firmware has a higher ARB then the one you flash on the sdcard it will NOT work!
Find out what ARB means here https://bit.do/antirollg4
- 1. Boot FWUL (or ur personal Linux)
- 2. Start SALT - ensure that it is v3.5 or higher
- 3. Extract the firmware file (e.g KDZ) but usually not all partitions are needed - just the bootloader stack
(depends on your device - the following is for any LG G4 model):
- Primary GPT
If you have not all or any of these (first check the note about UFS above) then you must identify your bootloader stack first.
A good start for this is here: https://lineageos.org/engineering/Qualcomm-Firmware but you may have to just try and error here.
For a quick & dirty try: flash every partition which is smaller then 150 MB (i.e. leave out system, cache, userdata and such).
- 4. Clean dmesg by opening a terminal and type:
sudo dmesg -c >> /dev/null
- 5. Connect your external sdcard to FWUL
- 6. Type this in the terminal:
We do not need the pXX here. So if you see mmcblk0p1 we need only mmcblk0. If you see a sdc1 or sdd1 we just need sdc or sdd without the number.
- 7. The device name is needed now! Ensure it has the correct size by typing this in the terminal:
sudo fdisk -l /dev/mmcblk0
This is important because the next step will erase your sdcard completely!
All your data get lost!
So if you choose the wrong one you may overwrite your PC storage in worst case! So double check this before proceeding.
You can do so by disconnecting the sdcard and if the command in this step gives a message about the device cannot be found - connect device again and re-do the above command. if it shows then again your device all is fine
- 8. Now flash the GPT (partition table) to your device in a terminal:
Change into the folder where you extracted the backup. If you leaved the default on SALT it's /tmp/extracteddz:
cd /tmp/extracteddz sudo -s dd if=PrimaryGPT.gpt of=/dev/mmcblk0 (replace mmcblk0 if you your device is named different in step 6) sync
- 9. Disconnect the sdcard and connect it again
- 10. Now flash the rest in a terminal:
First check if the GPT has been flashed fine:
ls -la /dev/disk/by-partlabel/sbl1
Move to the folder where you extracted the backup. If you leaved the default on SALT it's /tmp/extracteddz:
dd if=sbl1.bin of=/dev/disk/by-partlabel/sbl1 dd if=aboot.bin of=/dev/disk/by-partlabel/aboot dd if=hyp.bin of=/dev/disk/by-partlabel/hyp dd if=pmic.bin of=/dev/disk/by-partlabel/pmic dd if=rpm.bin of=/dev/disk/by-partlabel/rpm dd if=tz.bin of=/dev/disk/by-partlabel/tz dd if=laf.bin of=/dev/disk/by-partlabel/laf dd if=sdi.bin of=/dev/disk/by-partlabel/sdi sync Do not forget that last ("sync") command!! Otherwise it will very likely not work!
Flashing instructions for an UsU'd device
Besides the KDZ extract you also need to grab the UsU unlock zip of your device model first then do this:
dd if=sbl1.bin of=/dev/disk/by-partlabel/sbl1 dd if=hyp.bin of=/dev/disk/by-partlabel/hyp dd if=pmic.bin of=/dev/disk/by-partlabel/pmic dd if=rpm.bin of=/dev/disk/by-partlabel/rpm dd if=tz.bin of=/dev/disk/by-partlabel/tz dd if=sdi.bin of=/dev/disk/by-partlabel/sdi dd if=laf_UsU.img of=/dev/disk/by-partlabel/laf dd if=aboot_UsU.img of=/dev/disk/by-partlabel/aboot dd if=rawres_UsU.img of=/dev/disk/by-partlabel/raw_resources sync Do not forget that last ("sync") command!! Otherwise it will very likely not work!
- 11. Now everything is prepared. Take out your sdcard. Take out the battery and disconnect cable. Plugin the external sdcard. Put battery back.
Start the device in fastboot mode and use fastboot flash partition imagename.img
If there is no fastboot possible open the download mode.
For example on the LG G4:
Press volume up (only this) and keep it pressed.
Then connect USB cable while still keep the pressure on volume up for 20 seconds.
The download mode should come up.
Congrats you can now use e.g. LGup (or for Samsung, ODIN etc) for unbricking by flashing a regular firmware on it (beware of the ARB again).
Support / IRC Channel
IRC means Internet Relay Chat and you will get best support there only.
Personally I'm online there from Mondays to Fridays only but there are maybe others (maybe YOU too) who can help as well.
Choose how to get in:
- FWUL v3.1 or later: just click the IRC hexchat icon on the desktop
- PC (HexChat and Pidgin are only 2 of them! This list is not complete!)
- Android (Yaaic, AndChat, HoloIRC, AndroIRC are only a few of them! This list is not complete!)
- Web (KiwiIRC-Web,Freenode-Webchat])
- When you have to choose a channel it is: #carbonfusion-user
- When you be asked for a server network choose: freenode
- It wouldn't hurt to read this as well when you are new to IRC: beginners guide (for a quick one read just: "Etiquette")
Simplified said: be polite, don't ask to ask, be patient(!), respect the timezones, help others.