[TOOL][LOCKED/UNLOCKED] SALT - The LG(up) revolution (begins)

Search This thread

hamed_forum

Senior Member
Mar 12, 2013
334
15
Use LGup on Windows as flashing is experimental in SALT .

Sent from my OnePlus 6T using XDA Labs
i have problm by lgup
when i try install kdz in 9% have error code =0x2000
my phone modle h818p e20 (show in salt) but when connect lgup it recognize h818 10c and say put dll
the 10c dell vesion 0.0.2.13 and cant find new dll
what must do?phone in bootloop and can go download mode
 

steadfasterX

Recognized Developer
Nov 13, 2013
6,259
15,492
127.0.0.1
OnePlus 7T Pro
i have problm by lgup
when i try install kdz in 9% have error code =0x2000
my phone modle h818p e20 (show in salt) but when connect lgup it recognize h818 10c and say put dll
the 10c dell vesion 0.0.2.13 and cant find new dll
what must do?phone in bootloop and can go download mode
SALT will extract the dll's so simply dl a the kdz and extract with SALT a single partition (doesn't matter which, choose a small one). you will find the dll in the folder "extractedkdz" then

so something like that:

screenshot_001.png
screenshot_008.png
screenshot_002.png
screenshot_003.png
screenshot_004.png
screenshot_005.png

-
 
  • Like
Reactions: mrrocketdog

JohnFawkes

Senior Member
Jul 9, 2015
781
1,343
john-fawkes.com
@steadfasterX just wanted to report this when extracting a v35 kdz. didnt have this issue with v40. some v30 kdzs also have this warning too and i believe its due to the OP.img. the OP partition seems to never get extracted correctly using -x flag.

[+] Extracting all partitions from v2 file!

[+] Extracting V35010i_00.dz to /home/johnfawkes/github_stuff/good/kdz2zip_johnfawkes/kdz2zip_update/kdz/extractedkdz/V35010i_00.dz
[+] Extracting LGUP_c.dll to /home/johnfawkes/github_stuff/good/kdz2zip_johnfawkes/kdz2zip_update/kdz/extractedkdz/LGUP_c.dll
[+] Extracting LGUP_c.dylib to /home/johnfawkes/github_stuff/good/kdz2zip_johnfawkes/kdz2zip_update/kdz/extractedkdz/LGUP_c.dylib
[+] Extracting extra data to /home/johnfawkes/github_stuff/good/kdz2zip_johnfawkes/kdz2zip_update/kdz/extractedkdz/kdz_extras.bin
[ ] Warning: Found 2 out of order chunks (please report)
[!] Warning: Chunk is part of "OP_S", but starts in front of slice?!
[!] Warning: Chunk is part of "OP_S", but starts in front of slice?!
[!] Warning: Chunk is part of "OP_S", but starts in front of slice?!
[!] Warning: Chunk is part of "OP_S", but starts in front of slice?!
[!] Warning: Chunk is part of "xbl_a", but starts in front of slice?!
[!] Warning: Chunk is part of "xbl_config_a", but starts in front of slice?!
[!] Warning: Chunk is part of "BackupGPT", but starts in front of slice?!
[!] Warning: Chunk is part of "xbl_b", but starts in front of slice?!
[!] Warning: Chunk is part of "xbl_config_b", but starts in front of slice?!
[!] Warning: Chunk is part of "BackupGPT", but starts in front of slice?!
[!] Warning: Chunk is part of "BackupGPT", but starts in front of slice?!
[!] Warning: Chunk is part of "aop_a", but starts in front of slice?!
[!] Warning: Chunk is part of "tz_a", but starts in front of slice?!
[!] Warning: Chunk is part of "hyp_a", but starts in front of slice?!
[!] Warning: Chunk is part of "modem_a", but starts in front of slice?!
[!] Warning: Chunk is part of "abl_a", but starts in front of slice?!
[!] Warning: Chunk is part of "dsp_a", but starts in front of slice?!
[!] Warning: Chunk is part of "keymaster_a", but starts in front of slice?!
[!] Warning: Chunk is part of "akmu_a", but starts in front of slice?!
[!] Warning: Chunk is part of "boot_a", but starts in front of slice?!
[!] Warning: Chunk is part of "cmnlib_a", but starts in front of slice?!
[!] Warning: Chunk is part of "cmnlib64_a", but starts in front of slice?!
[!] Warning: Chunk is part of "devcfg_a", but starts in front of slice?!
[!] Warning: Chunk is part of "qupfw_a", but starts in front of slice?!
[!] Warning: Chunk is part of "laf_a", but starts in front of slice?!
[!] Warning: Chunk is part of "vbmeta_a", but starts in front of slice?!
[!] Warning: Chunk is part of "dtbo_a", but starts in front of slice?!
[!] Warning: Chunk is part of "storsec_a", but starts in front of slice?!
[!] Warning: Chunk is part of "raw_resources_a", but starts in front of slice?!
[!] Warning: Chunk is part of "sid_a", but starts in front of slice?!
[!] Warning: Chunk is part of "aop_b", but starts in front of slice?!
[!] Warning: Chunk is part of "tz_b", but starts in front of slice?!
[!] Warning: Chunk is part of "hyp_b", but starts in front of slice?!
[!] Warning: Chunk is part of "modem_b", but starts in front of slice?!
[!] Warning: Chunk is part of "abl_b", but starts in front of slice?!
[!] Warning: Chunk is part of "dsp_b", but starts in front of slice?!
[!] Warning: Chunk is part of "keymaster_b", but starts in front of slice?!
[!] Warning: Chunk is part of "akmu_b", but starts in front of slice?!
[!] Warning: Chunk is part of "boot_b", but starts in front of slice?!
[!] Warning: Chunk is part of "cmnlib_b", but starts in front of slice?!
[!] Warning: Chunk is part of "cmnlib64_b", but starts in front of slice?!
[!] Warning: Chunk is part of "devcfg_b", but starts in front of slice?!
[!] Warning: Chunk is part of "qupfw_b", but starts in front of slice?!
[!] Warning: Chunk is part of "laf_b", but starts in front of slice?!
[!] Warning: Chunk is part of "vbmeta_b", but starts in front of slice?!
[!] Warning: Chunk is part of "dtbo_b", but starts in front of slice?!
[!] Warning: Chunk is part of "storsec_b", but starts in front of slice?!
[!] Warning: Chunk is part of "raw_resources_b", but starts in front of slice?!
[!] Warning: Chunk is part of "sid_b", but starts in front of slice?!
[!] Warning: Chunk is part of "sec", but starts in front of slice?!
[!] Warning: Chunk is part of "apdp", but starts in front of slice?!
[!] Warning: Chunk is part of "msadp", but starts in front of slice?!
[!] Warning: Chunk is part of "logfs", but starts in front of slice?!
[!] Warning: Chunk is part of "BackupGPT", but starts in front of slice?!
[!] Warning: Chunk is part of "BackupGPT", but starts in front of slice?!
[!] Warning: Chunk is part of "BackupGPT", but starts in front of slice?!
[+] Extracting all slices/partitions
 
  • Like
Reactions: steadfasterX

steadfasterX

Recognized Developer
Nov 13, 2013
6,259
15,492
127.0.0.1
OnePlus 7T Pro
@steadfasterX just wanted to report this when extracting a v35 kdz. didnt have this issue with v40. some v30 kdzs also have this warning too and i believe its due to the OP.img. the OP partition seems to never get extracted correctly using -x flag.

[+] Extracting all partitions from v2 file!

[+] Extracting V35010i_00.dz to /home/johnfawkes/github_stuff/good/kdz2zip_johnfawkes/kdz2zip_update/kdz/extractedkdz/V35010i_00.dz
[+] Extracting LGUP_c.dll to /home/johnfawkes/github_stuff/good/kdz2zip_johnfawkes/kdz2zip_update/kdz/extractedkdz/LGUP_c.dll
[+] Extracting LGUP_c.dylib to /home/johnfawkes/github_stuff/good/kdz2zip_johnfawkes/kdz2zip_update/kdz/extractedkdz/LGUP_c.dylib
[+] Extracting extra data to /home/johnfawkes/github_stuff/good/kdz2zip_johnfawkes/kdz2zip_update/kdz/extractedkdz/kdz_extras.bin
[ ] Warning: Found 2 out of order chunks (please report)
[!] Warning: Chunk is part of "OP_S", but starts in front of slice?!
[!] Warning: Chunk is part of "OP_S", but starts in front of slice?!
[!] Warning: Chunk is part of "OP_S", but starts in front of slice?!
[!] Warning: Chunk is part of "OP_S", but starts in front of slice?!
[!] Warning: Chunk is part of "xbl_a", but starts in front of slice?!
[!] Warning: Chunk is part of "xbl_config_a", but starts in front of slice?!
[!] Warning: Chunk is part of "BackupGPT", but starts in front of slice?!
[!] Warning: Chunk is part of "xbl_b", but starts in front of slice?!
[!] Warning: Chunk is part of "xbl_config_b", but starts in front of slice?!
[!] Warning: Chunk is part of "BackupGPT", but starts in front of slice?!
[!] Warning: Chunk is part of "BackupGPT", but starts in front of slice?!
[!] Warning: Chunk is part of "aop_a", but starts in front of slice?!
[!] Warning: Chunk is part of "tz_a", but starts in front of slice?!
[!] Warning: Chunk is part of "hyp_a", but starts in front of slice?!
[!] Warning: Chunk is part of "modem_a", but starts in front of slice?!
[!] Warning: Chunk is part of "abl_a", but starts in front of slice?!
[!] Warning: Chunk is part of "dsp_a", but starts in front of slice?!
[!] Warning: Chunk is part of "keymaster_a", but starts in front of slice?!
[!] Warning: Chunk is part of "akmu_a", but starts in front of slice?!
[!] Warning: Chunk is part of "boot_a", but starts in front of slice?!
[!] Warning: Chunk is part of "cmnlib_a", but starts in front of slice?!
[!] Warning: Chunk is part of "cmnlib64_a", but starts in front of slice?!
[!] Warning: Chunk is part of "devcfg_a", but starts in front of slice?!
[!] Warning: Chunk is part of "qupfw_a", but starts in front of slice?!
[!] Warning: Chunk is part of "laf_a", but starts in front of slice?!
[!] Warning: Chunk is part of "vbmeta_a", but starts in front of slice?!
[!] Warning: Chunk is part of "dtbo_a", but starts in front of slice?!
[!] Warning: Chunk is part of "storsec_a", but starts in front of slice?!
[!] Warning: Chunk is part of "raw_resources_a", but starts in front of slice?!
[!] Warning: Chunk is part of "sid_a", but starts in front of slice?!
[!] Warning: Chunk is part of "aop_b", but starts in front of slice?!
[!] Warning: Chunk is part of "tz_b", but starts in front of slice?!
[!] Warning: Chunk is part of "hyp_b", but starts in front of slice?!
[!] Warning: Chunk is part of "modem_b", but starts in front of slice?!
[!] Warning: Chunk is part of "abl_b", but starts in front of slice?!
[!] Warning: Chunk is part of "dsp_b", but starts in front of slice?!
[!] Warning: Chunk is part of "keymaster_b", but starts in front of slice?!
[!] Warning: Chunk is part of "akmu_b", but starts in front of slice?!
[!] Warning: Chunk is part of "boot_b", but starts in front of slice?!
[!] Warning: Chunk is part of "cmnlib_b", but starts in front of slice?!
[!] Warning: Chunk is part of "cmnlib64_b", but starts in front of slice?!
[!] Warning: Chunk is part of "devcfg_b", but starts in front of slice?!
[!] Warning: Chunk is part of "qupfw_b", but starts in front of slice?!
[!] Warning: Chunk is part of "laf_b", but starts in front of slice?!
[!] Warning: Chunk is part of "vbmeta_b", but starts in front of slice?!
[!] Warning: Chunk is part of "dtbo_b", but starts in front of slice?!
[!] Warning: Chunk is part of "storsec_b", but starts in front of slice?!
[!] Warning: Chunk is part of "raw_resources_b", but starts in front of slice?!
[!] Warning: Chunk is part of "sid_b", but starts in front of slice?!
[!] Warning: Chunk is part of "sec", but starts in front of slice?!
[!] Warning: Chunk is part of "apdp", but starts in front of slice?!
[!] Warning: Chunk is part of "msadp", but starts in front of slice?!
[!] Warning: Chunk is part of "logfs", but starts in front of slice?!
[!] Warning: Chunk is part of "BackupGPT", but starts in front of slice?!
[!] Warning: Chunk is part of "BackupGPT", but starts in front of slice?!
[!] Warning: Chunk is part of "BackupGPT", but starts in front of slice?!
[+] Extracting all slices/partitions

Pls share the SALT debug log after trying to extract with SALT . Read the faq for a how-to and follow it briefly.

And share a link to the kdz file pls.

..and SALT uses more intelligence then the included backend tools alone . If you try to just use the kdzmanager.sh or the kdztools from a terminal you may fail like shown above.


Sent from my OnePlus 6T using XDA Labs
 
Last edited:

pchacker47

Member
Oct 12, 2016
41
3
flashing with SALT is experimental and requires a compatible device.
I can tell you if your device is compatible when you share the debug log (read the FAQ for how)

.-

here is the log : https://bpaste.net/show/9bbb64378bc2

i want to know that can we unofficial unlock the bootloader of v10 ? i can provide you with the files that you needed for v10.
and my 2nd question is that i flashed my v10 with 21w firmware now it has many problem like can't set security lock etc, my device is bootloader locked , can you suggest me how can i fix this issue ?
 
  • Like
Reactions: steadfasterX

steadfasterX

Recognized Developer
Nov 13, 2013
6,259
15,492
127.0.0.1
OnePlus 7T Pro
here is the log : https://bpaste.net/show/9bbb64378bc2

i want to know that can we unofficial unlock the bootloader of v10 ? i can provide you with the files that you needed for v10.
and my 2nd question is that i flashed my v10 with 21w firmware now it has many problem like can't set security lock etc, my device is bootloader locked , can you suggest me how can i fix this issue ?

SALT cannot flash when running that firmware version yet, sorry (before your upgrade to 21w likely yes).
If a factory reset does not help on your issue better ask in the v10 forum..

.-
 
  • Like
Reactions: N4cr2k

zaillwonder

New member
May 14, 2019
1
0
Can not open SALT

Thanks for the tool as I was trying to restore images after a factory reset. But unfortunately I was stuck at the beginning of this process. My phone is Verizon G4 with VS9862BA without root.

I can get the phone to download mode, and when I double-click SALT icon the phone screen changed a little bit showing the VS9862BA software info, but there is no SALT window or console showing up in FWUL. I am a new comer to Linux and android root. Hope to get some help. Thank you~

BTW, I use FWUL on a 32GB usb stick. And, just by clicking the icon, the SALT has no response regardless of connecting a phone or not. Did I miss anything?

--------------------------------
Update: I changed to FWUL stable version 3.1, and it works. But the current problem is that I can not find photos in the userdata partition (I can only see some new images). Should I look into other partitions or it is impossible to restore my old photos?

Thanks.
 
Last edited:

dharakv

Senior Member
May 26, 2018
116
6
I downloaded FWUL 3.1 64bit version and am running it in a virtual machine. When I connect my LG V20 to it, SALT detects it as LS997 with unknown ARB (Please refer to saltdetection2.png attachment).

I tried to do a full backup but it came up with an error "Calculated target size is too small(0)! Upload and share the debug log. https://bpaste.net/show/65f3ef39fdb0

Then I tried to view the partitions and surprisingly it only showed 2 partitions: NO and GPT, both of unknown type (Please refer to saltpartitions.png)
 

Attachments

  • saltdetectionresult2.PNG
    saltdetectionresult2.PNG
    77.4 KB · Views: 80
  • saltpartitions.PNG
    saltpartitions.PNG
    8.3 KB · Views: 79
Last edited:

steadfasterX

Recognized Developer
Nov 13, 2013
6,259
15,492
127.0.0.1
OnePlus 7T Pro
I downloaded FWUL 3.1 64bit version and am running it in a virtual machine. When I connect my LG V20 to it, SALT detects it as LS997 with unknown ARB (Please refer to saltdetection2.png attachment).

I tried to do a full backup but it came up with an error "Calculated target size is too small(0)! Upload and share the debug log. https://bpaste.net/show/65f3ef39fdb0

Then I tried to view the partitions and surprisingly it only showed 2 partitions: NO and GPT, both of unknown type (Please refer to saltpartitions.png)
Switch to the develop channel and try again. See the FAQ for the how-to .



Sent from my OnePlus 6T using XDA Labs
 
  • Like
Reactions: dharakv

dharakv

Senior Member
May 26, 2018
116
6
Switch to the develop channel and try again. See the FAQ for the how-to .



Sent from my OnePlus 6T using XDA Labs

Hi SteadfasterX,

Thanks for your prompt reply. I have done as you said in FAQ #10, and the update process gets stuck on an io error. (please refer to saltupdateerror.png) I tried to export the log file to a bpaste link but it gave another error on generating the link, so I have screenshotted the last portion of the log file (please refer to saltUpdateErrorLog.png).

Thank you so much.
 

Attachments

  • saltupdateError.PNG
    saltupdateError.PNG
    17.9 KB · Views: 51
  • saltUpateErrorLog.PNG
    saltUpateErrorLog.PNG
    52.3 KB · Views: 48

steadfasterX

Recognized Developer
Nov 13, 2013
6,259
15,492
127.0.0.1
OnePlus 7T Pro
Hi SteadfasterX,

Thanks for your prompt reply. I have done as you said in FAQ #10, and the update process gets stuck on an io error. (please refer to saltupdateerror.png) I tried to export the log file to a bpaste link but it gave another error on generating the link, so I have screenshotted the last portion of the log file (please refer to saltUpdateErrorLog.png).

Thank you so much.
Uhm do you run FWUL on dvd / as live ISO within a VM? This won't work then. Use an USB stick to run FWUL (recommended for several reasons) or use the persistent VirtualBox builds linked in the FAQ if for any reason you cannot use an USB stick.



Sent from my OnePlus 6T using XDA Labs
 
Last edited:

dharakv

Senior Member
May 26, 2018
116
6
Uhm do you run FWUL on dvd / as live ISO within a VM? This won't work then. Use an USB stick to run FWUL (recommended for several reasons) or use the persistent VirtualBox builds linked in the FAQ if for any reason you cannot use an USB stick.



Sent from my OnePlus 6T using XDA Labs

Yeah, but it's an img file instead of an iso. Using the forgetful version because the persistent one errors out on bootup and just gets stuck at a rootfs prompt....
 

Top Liked Posts

  • There are no posts matching your filters.
  • 98
    Before reading any further


    This thread is best viewed in a browser!
    Mobile apps may parse the XDA formatting not correctly and may screw things up.


    About

    salt_pre.png


    steadfasterX's All-in-one LG Tool (SALT)



    SALT is able to communicate with your device while in download mode and provides these features:

    Detects your:
    • ARB
    • device model
    • firmware version (short)
    • firmware version (full)
    • country of firmware
    • Secure device state
    • Battery Level

    Is able to:
    • working completely without any LG dll (no more issues with replacing LGUP_xxxx.dll anymore!)
    • backup your device (predefined modes: full & basic and since v3.20 even a custom mode)
    • extract KDZ files
    • display your partitions (including what each partition is like bootloader etc!)
    • open a shell on the device*
    • ERASE (HOLY SH*** this is DANGEROUS!) one or multiple partitions
    • verify a taken backup (read all about this here)
    • self-update

    In development (already working on LP firmware! NOT on MM or N! read the Note):
    • Flashing a folder (e.g. from a previous backup)
    • Flashing a KDZ
    IMPORTANT NOTE: Do not use the underlying code backend (lglaf /partitions.py) to RESTORE image files (yet)!
    Reason:
    LG has changed the mechanism in MM and later for writing to a partition! It seems that the reason is that each write must be authenticated differently or at least another one for the fsync.




    Requirements

    mAid (fka as FWUL) (recommended)

    No requirements as SALT and everything needed is included there!
    Highly recommended: booting mAid from USB stick to avoid any connection issues.
    Ensure you use the latest mAid release and start SALT by opening the LG folder on the desktop.
    Now just click the update button once SALT is started to ensure you have the latest and greatest SALT version!

    Linux:
    I recommend mAid (fka FWUL) in general but SALT is made to be run on any Linux (if you can set it up).
    Requirements to install before beginning:
    yad, git, python3, python3-pyusb, python3-crypto, python-zstandard (python3), python-pip (python3) and pkexec/policykit
    (instead of pkexec/polkit gksudo will work too but this has been removed from many distributions)

    On mAid:
    • open the Folder "LG" from the desktop and start SALT :)

    On Arch:
    • sudo pacman -Sy polkit git xterm python-pyusb python-crypto python-pip
    • yay -Sy yad python-zstandard (hint: you may need to install yay first)
    • sudo pip3 install cryptography

    on Manjaro:
    • sudo pacman -Sy polkit yad git xterm python-pyusb python-crypto trizen python-pip python-zstandard
    • sudo pip3 install cryptography

    on *buntu, Debian, Mint and on all derivates of those:
    • sudo apt install policykit-1 yad git xterm python3 python3-usb python3-pip
    • sudo pip3 install zstandard
    • sudo pip3 install cryptography

    you may need to setup your udev rules as well: android-udev-rules thats another reason why I recommend mAid ;) this is all implemented there out of the box..!!

    Windows:
    Windows users should use SALT in mAid which is highly recommended for many operations with Android devices. Also read & follow the above topic "mAid (fka FWUL) (recommended)".


    Installation (not needed on mAid! Just open the LG folder and start SALT)

    1. open a terminal
    2. type:
      git clone https://github.com/steadfasterX/SALT.git cd SALT bash install-desktop.sh
    3. read the output and if required copy the SALT.desktop file manually to your Desktop.
    4. double click the SALT icon or while in a terminal start SALT with: sudo ~/SALT/salt
    5. When starting SALT the first time you will be prompted to install necessary backend tools.
      Choose YES to install them!

    Note:
    Even when the downloads tab in this project will contain releases the most up-to-date code can be fetched via the above way only.
    Nevertheless you can download the tar file from the Downloads tab but ensure that you're using the latest code by starting an update (Update button in SALT) afterwards.


    Usage

    Start the device in download mode and connect it to the PC.
    Start SALT.
    Usually the download mode should be fully ready in 20 - 60 seconds after you see the cycling arrow screen.
    But some devices needs up to >= 90 seconds until SALT can detect your device.
    If you still get trouble connecting boot the device in download mode and let it connected that way while rebooting mAid (fka FWUL) or your personal Linux.


    Known Issues

    A current list of all known issues can be found at the bugtracker


    Support




    Credits (without them no SALT)

    SALT is based on:


    • YAD (yet another dialog) -> GUI
    • the awesome LGLAF code and reverse engineering by Peter Wu & friends ;)
      -> general communication with the device like: flash, dump, getinfo, erase, list partitions, ...
    • kdztools by Elliott Mitchell -> extracting KDZ files
    • MANY enhancements by steadfasterX -> bring all together plus much more :)

    SALT's own sources:

    Special credits:

      • @runningnak3d for his incredible reverse engineering skills which makes SALT better and better each day :) it's great to have you in the community !
      • tuxuser for making LAF communication on Nougat possible and for his great support!




    XDA:DevDB Information
    SALT - teadfasterX's [A]ll-in-one [L]G [T]ool, Tool/Utility for the LG G4

    Contributors
    steadfasterX
    Source Code: https://github.com/steadfasterX/salt


    Version Information
    Status:
    Stable
    Created 2017-12-11
    33
    FAQ - Frequently Asked Questions

    • 1) How can I get into the download mode?

      Boot your phone into download mode--> the following guide is 100% working and bulletproof:
      1. take out battery and unplug USB cable
      2. plugin USB cable to your PC (while battery ist still out)
      3. wait until you see the missing battery icon (question mark within a battery symbol)
      4. press Volume up and while keeping it pressed put battery in (take care that you do not press the power button)
      5. keep pressing Volume up until you see "Download mode"

      If that does not work for you try it this way instead:

      1. unplug USB cable
      2. power down device or pull out battery
      3. put battery back
      4. press Volume up and while keeping it pressed plugin USB cable to your PC (take care that you do not press the power button)
      5. keep pressing Volume up until you see "Download mode"

      Your phones screen should look similar to this afterwards:
      View attachment 4284063

    • 2) Does SALT work on LOCKED devices ?
      Oh what a great question ;) YES it DOES. :)
      But keep in mind.. even when you can flash/erase partitions with SALT this still requires either valid/untouched pure LG files or an unlocked device.

    • 3) Can I unlock my LG G4 device with SALT?
      Holy moly --- NO! YES! ( https://leech.binbash.rocks:8008/g4-links/ for the guide)

    • 4) What is the meaning of ARB?
      Anti-Roll-Back a stupid mechanism to brick your device. Read on here

    • 5) Do I need a specific ARB version to work with SALT?
      You can start and use SALT with any ARB version. Later when flashing is fully implemented you will be warned when your ARB is lower then then one you want to flash.

    • 6) Which firmware versions does SALT support?
      Any
      of lollipop, marshmallow and nougat

    • 7) Which devices does SALT support?
      In theory ANY LG device supported by the lglaf backend.
      Confirmed devices are:
      - G2
      - G3
      - G4 (H810, H811, H812, H815, H818, H819, VS986, LS991, F500)
      - G5: unknown may only work with modifications like mentioned in the Release Notes for v3.20
      - G6 (H871) only with modifications: see Release Notes for v3.20. Please help in making this fully working! OP -> topic "Support"
      - V10 (H900)
      - V20 (H910) only with modifications: see Release Notes for v3.20. Please help in making this fully working! OP -> topic "Support" OP -> topic "Support"
      - yours ;) -> report your device by uploading the debug log from the advanced menu and share the bpaste link!
      - again: in theory any LG device will work with SALT . All newer devices (G5 and later) will just need the mentioned modification: see Release Notes for v3.20. Please help in making this fully working! OP -> topic "Support" OP -> topic "Support"
      .. this will change in one of the next versions as I will implement an automatic detection , of course!

    • 8) SALT is prompting me after a backup for verification. I have many Warnings|Errors what does that all mean?
      Read on here about he verification feature in SALT: MD5 verification

    • 9) I have installed SALT already. Is it possible to just update it?
      Of course thats one of the awesome features in SALT.
      Since v3.7 SALT will check for a new version on startup automatically and prompt you to update if necessary.
      If it ever fails just click the update button at the bottom.

    • 10) I have installed SALT already. Is it possible to switch between STABLE and STREAM channels?
      Note: STREAM (fka TESTING) may have issues, brick your device, let your phone or PC explode. so use it with care.
      So if you wanna still switch the channels click the update button at the bottom first.

      If you want to be on/switch to the STABLE channel choose Target mode = STABLE
      Click update and restart SALT afterwards.

      If you want to be on/switch to the STREAM channel choose: Target mode = TESTING
      Click update and restart SALT afterwards.

    • 11) I have a partition file with the extension: [ bin | image | img | mbn ]. How can I convert this?
      The extension is not important. The way how you extract files - is. That's why I say all the time use SALT.
      On Windows the file extension matters a lot which is not the case for Linux/Android.
      So if you see a guide mentioning to use a "bin" file and you have the file but with an extension of "image" (or vice-versa) it does not matters.
      There is no need to convert anything as they all are just raw image files.

    • 12) I want to backup but SALT says I have too less space for that! How can I get more disk space in FWUL (or my VM)?
      Read FAQ #5 in the FWUL thread (yes even when you are using Windows and do not run FWUL but any other Linux + SALT) and setup a shared folder with enough disk space as described.
      Point to that new shared folder (ensure you do not use spaces in the foldername and that you have created a new folder in the start of the shared folder) when asked for a backup location in SALT.

    • 13) I do *NOT* use FWUL because I have my own Linux running and you told me to install tmate. How?
      Current instructions can be found here: https://tmate.io/
      Ensure you create a SSH key as that is needed to start tmate later:
      Code:
      ssh-keygen -b 4096 -f ~/.ssh/tmate -N ''
      (note: the characters '' are 2 single quotes)

      Install tmate on Arch Linux / Arch variants like Manjaro, ..:
      Code:
      trizen -Sy tmate
      or: yaourt -Sy tmate (yaourt is [U]DEPRECATED[/U]!)

      Install tmate on Ubuntu / Ubuntu Variants like Kubuntu, Linux Mint, ... :
      Code:
      sudo apt-get install software-properties-common
      sudo add-apt-repository ppa:tmate.io/archive
      sudo apt-get update
      sudo apt-get install tmate

    • 14)Is there a Windows version of SALT available or planned?
      No. NEVER. Just use FWUL which has SALT already included and everything setup to manage your Android device.
      If you have issues in running FWUL report them in the FWUL thread.

    • 15)What is GPT compability (LG G4 only)?
      I saw people often confused about that option and here is what it is and does:
      1) This is only valid for the LG G4 models. If you have another one ignore it.
      2) If you have a LG G4 and not UsU'd (so an official unlockable model) - just ignore it.
      3) If you have a LG G4 and UsU'd your device (or planning to do so) this option is for you.
      Background:
      SALT checks the partition table (GPT) to find out what ROM model is compatible with an UsU'd device. The reason is quite easy: all G4 models have the same hardware (except the h818 but thats another story). Due to the incredible amount of country specific models not many ROMs exist for every model so I checked what's needed to bring a ROM meant for another model to an UsU'd device. I recognized quickly that the partition table is different on several models and even on a same model with another firmware (e.g. between LP and MM it changed for some models). The only thing we need on custom ROMs for the G4 is a correct sized system partition as that one differs for some. Another thing needed on some (mostly US models) is a carrier partition instead of a cust one. Basically that's all SALT checks at the end as if a ROM expects to mount the carrier partition it must be there.
      TL;DR
      The GPT compatibility shows what ROM you can install on an UsU'd device - if there is none for your specific model.
    • 16) Is it possible to extract TOT files with SALT?
      No but you can use this windows tool to extract TOTs: https://xdaforums.com/showthread.php?t=2600575

    • 17) I want to backup/extract my user data (internal storage) with SALT and my device is encrypted. Is that possible and can SALT unencrypt that data?
      SALT is doing 1:1 copies of your partitions which is really 100% identical to what is on your phone. If your data is encrypted SALT will backup that in the current state which means encrypted because within the download mode your userdata partition does not get mounted. So what does that mean? Yes you can backup your userdata but .. you can NOT mount it afterwards as it is just encrypted data. afaik there are no tools available to unencrypt but I may be wrong (let me know if you are aware of any).
      Does it makes sense to backup encrypted data? Depends on what you want to get. If you want to have a really full 1:1 copy of the current phone it might be useful if you are able to restore that data (e.g. via TWRP). Keep in mind though that encryption usually needs more partitions to be restored (e.g. persist or others) which contain information/keys,... as well.
      TL;DR
      You can but it is usually not very useful.

    • 18) Isn't it possible to flash with SALT (yet)?
      Well the flash mode is not enabled by default - while it can be enabled manually. The main issue here is that you can easily hard brick your device and I tried to find a way of making it possible to avoid that. Unfortunately and due to the wide range of models SALT supports this can't be guaranteed.
      That is the first reason and the second is that LG limited/restricted the LAF protocol used for communicating with the device in later versions and so flashing will simply not work on these.
      Fully supported are LAF protocol version: 1000001, 1000002. Anything later like 1000004 (e.g. Nougat on LG G4) will NOT work.
      If you want to take the risk read on here


    • 19a) (was FAQ 1000 before) I have an issue not listed here - what should I do?
      19b) Is there a SALT logfile and how can I share it?

      While your device is connected in download mode:

      Advanced Menu -> SALT Debug log -> Upload button -> right click the link or open it in a browser and copy from there

      Picture guide:
      screenshot_001.jpg

      do NOT share it as an attachment in a post or sending it as file via Telegram/Matrix. If the above does not work for you (then it is a bug which needs to be fixed) always use a paste service - never plain files.
      See also the next FAQ reg. paste services

    • 20) Sharing logs / Using a paste service

      when sharing logs or longer texts it is recommended a so-called "paste service". This is useful to keep a forum / chat readable for everyone and it dramatically helps a developer to read the log without saving tons of log files on their phones/PC's.

      Here are some examples (use your fav search engine to find more):

      - https://hastebin.com
      - https://controlc.com
      - https://justpaste.me
      - https://privatebin.net
      - https://pastebin.com
      - https://gist.github.com (no size limit!)
      - https://gitlab.com/dashboard/snippets (no size limit!)

      There you will always have an option how long you want to store that paste:

      Please ensure you choose at least several months (better 1 year) because developers have a real life, too and so its uncertain when they might find time to look into it.

      Once you pasted your text in there you will get an paste URL which you then can simply share without spamming a group/forum.
    18
    Changelog

    Checkout FAQ #9 for howto update to this brand new release

    Legend for the summary topics:
    Fix/New (SALT): Fixes & Enhancements of the SALT main application - what you see and work with
    Fix/New (lglaf): Fixes & Enhancements of the USB communication backend which SALT uses under the hood
    Fix/New (kdztools): Fixes & Enhancements of the KDZ extraction backend which SALT uses under the hood

    v3.22
    Released: 2020-03-09
    Full changelog (SALT): at github (this version compared with the previous release)
    Full changelog (lglaf): at github
    Full changelog (kdztools): at github
    Summary changelog:

    • ATTENTION FOR FWUL (v2.x, v3.x) users:
      Upgrading to this Version WILL BREAK SALT without doing a FULL system upgrade (which can take hours, downloading multiple GB, may even break on low RAM systems)
      Instead it is highly recommended to use the new mAid nightlies which are in RC phase already and so reasonable stable.

    • Fix (kdztools): some fixes for KDZ extractions
    • Fix (SALT): UsU and ARB detection in rare cases
    • Fix (SALT): no output for several lglaf based operations
    • Fix (SALT): backup (custom) progress bars
    • Fix (SALT): when a folder or filename contained a space SALT failed to parse and extract
    • Fix (SALT): several things around ARB and ARB detection
    • Fix (SALT): screwed part listing
    • Fix (SALT): log upload
    • New (SALT): added a pre-check after the user selected a directory: when the path exists and containing image files the user get prompted to either retry or continue.
    HINT:
    Newer devices using UFS storage (e.g. G5, G6, ..) still need to switch to the DEVELOP/TESTING branch (see FAQ)


    Older releases

    v3.21
    Released: 2018-12-21
    Full changelog (SALT): at github (this version compared with the previous release)
    Full changelog (lglaf): at github (this version compared with the previous release)
    Full changelog (kdztools): at github (this version compared with the previous release)
    Important Note:
    From this release on the system requirement have changed!
    You need to ensure you install the python module "zstandard" - read the OP for how or when using FWUL use the latest FWUL nightly which comes with everything pre-installed.
    Summary changelog:
    • New (kdztools): KDZ extractions have been EXTREMELY enhanced. Means we can now even extract newer KDZ files up to the latest LG flagship (e.g. G7/V30).
      This has been fully achieved by runningnak3d ! it's always a pleasure to work with him ;)
    • Fix (kdztools): extraction failed when a KDZ had unallocated space (e.g. some H811 ones but also others)
    • Fix (SALT): python version for KDZ/DZ extraction
    • Fix (SALT): Browsing the mounted directory after using the Image mounter (advanced menu) will now use full permissions by default
    • New (SALT): mounting an image (advanced menu): previously when a user hasn't unmounted an image file he had to unmount it manually (terminal). now SALT offers a dialog to do so for the user instead.
    • New (SALT): from now on SALT can detect when a user tries to mount an image file from a vbox shared folder and denies mounting it
    • Fix (lglaf): Do not use "G4" as detected model (as there is no safe way to identify a model via the usb info)
    • Hint from a previous release: preparation for UFS devices (all newer LG models). Hint: you can use SALT now on newer devices but this requires a manual change in lglaf atm:
      Code:
      cd ~/programs/lglafng
      git checkout develop
      The above is NOT needed on non-UFS devices (like the G2,G3,G4, ...). If you are unsure open the advanced menu in SALT and check if the partition listing is working - if it is empty try the above otherwise you don't need to.
      The above handling and UFS detection will be done automatically in a future release of SALT!

    v3.20
    Released: 2018-11-30
    Full changelog (SALT): at github (this version compared with the previous release)
    Full changelog (lglaf): nothing has changed
    Summary changelog:
    • Fix (SALT): when the size of a backup cannot be calculated SALT continues with the free disk space check nevertheless
    • Fix (SALT): "direct flashing" message optimized
    • Fix (SALT): permissions on logfiles and all 3rd party paths
    • Fix (SALT): User detection was wrong (pkexec) and so the resulting program paths as well
      ATTENTION:
      You may get prompted to re-download lglaf, sdat2img and kdztools due to the corrected paths. Just do so and it will be fixed next time you start SALT.
    • New (SALT): Introducing the CUSTOM backup mode! Now you can not just choose from the predefined BASIC and FULL mode but also can choose CUSTOM. This CUSTOM mode allows to choose from your existing partitions. Plus: while backing up a beautiful multi-progress bar is showing the progress.
    • New (SALT): preparation for UFS devices (all newer LG models). Hint: you can use SALT now on newer devices but this requires a manual change in lglaf atm:
      Code:
      cd ~/programs/lglafng
      git checkout ufs-test
      The above is NOT needed on non-UFS devices (like the G2,G3,G4, ...). If you are unsure open the advanced menu in SALT and check if the partition listing is working - if it is empty try the above otherwise you don't need to.
      The above handling and UFS detection will be done automatically in a future release of SALT!

    v3.19
    Released: 2018-08-23
    Full changelog (SALT): at github (this version compared with the previous release)
    Full changelog (lglaf): nothing changed
    Summary changelog:
    • Fix (SALT): (G4 - UsU) fixed a bug where direct flashing was incorrectly shown regardless if it was possible or not
    • Fix (SALT): incorrectly shown laf download window
    • New (SALT): completely re-design of the installer (thx for the pkexec contribution ThePiGuy). all details for the new installer here: commit
    • New (SALT): prepare for multi model support in SALT (not G4 only anymore)
    • New (SALT): available SALT features and main window screen are now based on the detected LG model

    v3.18
    Released: 2018-08-10
    Full changelog (SALT): at github (this version compared with the previous release)
    Full changelog (lglaf): at github (this version compared with the previous release)
    Summary changelog:
    • Fix (SALT): Backup function now allows to use paths with spaces within its name
    • Fix (lglaf): Backup was not working since 3.17 (CR function was not implemented for the backup function)

    v3.17
    Released: 2018-07-31
    Full changelog (SALT): at github (this version compared with the previous release)
    Full changelog (lglaf): at github (this version compared with the previous release)
    Summary changelog:
    • New (SALT): Force Challenge/Response mode available for devices where the automatic detection fails (PERMISSION DENIED in SALT debug log)
      How it works and where to find >click here<
    • New (SALT): provide feedback while detecting the ARB of a KDZ
    • New (SALT): completey re-worked "Convert an image (ZIP)" in the advanced menu. SALT is now able to mount any image file instead of just system (e.g. vendor,...)
    • New (SALT): some KDZ extract enhancements (like cleanup etc)
    • New (SALT): a lot of changes for the upcoming direct flashing function (not enabled by default)
    • Fix (SALT): ARB detection of KDZs in some cases

    • New (lglaf): added CR force-on, force-off (details)
    • Fix (lglaf): disable direct flashing on laf > 100001 again (was accidentally still enabled)
    • Fix (lglaf): When direct flashing failing raise a real error including a non zero returncode

    v3.16
    Released: 2018-05-06
    Full changelog (SALT): at github (this version compared with the previous release)
    Summary changelog:
    • New(SALT): Improved backup / Free disk space check

    v3.15
    Released: 2018-04-25
    Full changelog (SALT): at github (this version compared with the previous release)
    Summary changelog:
    • New(SALT): Select/Deselect button when extracting a KDZ

    v3.14
    Released: 2018-04-17
    Full changelog (SALT): at github (this version compared with the previous release)
    Summary changelog:
    • Fix(SALT): SALT was unusable in rare cases


    v3.13
    Released: 2018-03-22
    Full changelog (SALT): at github (this version compared with the previous release)
    Summary changelog:
    • New(SALT): Mount button after extracting a KDZ added
    • Fix(SALT): remove flashing warning when user skips device connection
    • Fix(SALT): several issues when directories containing spaces (I recommend to still avoid spaces in dir and filenames)
    • Fix(kdztools): rare issues when extracting some KDZ files

    v3.12
    Released: 2018-03-21
    Full changelog (SALT): at github (this version compared with the previous release)
    Summary changelog:
    • Fix(SALT, kdzmgr): several issues for extracting KDZ files

    v3.11-0
    Released: 2018-03-16
    Full changelog (SALT): at github (this version compared with the previous release)
    Summary changelog:
    • New(SALT): extracting a KDZ will now detect and show the ARB !
    • Fix(SALT): extracting KDZ in a path with space or special chars failed (empty partition list on extract)

    v3.10-1
    Released: 2018-03-13
    Full changelog (SALT): at github (this version compared with the previous release)
    Summary changelog:
    • Fix(SALT): UsU hashes on some devices can't be set correctly (country related)
    • Fix(SALT): UsU check for ARB <=2 implemented to avoid damage

    v3.9-0
    Released: 2018-03-09
    Full changelog (SALT): at github (this version compared with the previous release)
    Summary changelog:
    • New(SALT): binary checker for fastboot on start
    • New(SALT): improved error handling for binary checks on start
    • Fix(SALT): UsU hashes on some devices can't be set correctly

    v3.8-2
    Released: 2018-03-07
    Full changelog (SALT): at github (this version compared with the previous release)

    v3.7-12
    Released: 2018-03-05
    Full changelog (SALT): at github (this version compared with the previous release)
    Summary changelog:
    • New(SALT): update checker for SALT on start
    • New(SALT): added a mount option for image files
    • NEW(SALT): checking LAF version and offering a compatible LAF if needed/recommended
    • NEW(SALT): complete re-design of UsU flashing verification using a hash table
    • NEW(SALT): added a fastboot flashing fallback on UsU flashing when partial success
    • Fix(SALT): a LOT of UsU stuff..
    • Fix(SALT): will not let open as much windows as before (e.g. closing advanced menu dialog on unlock click etc)
    • Fix(SALT): important UsU related fixes -> if you want to unlock by UsU do not use any previous version!
    • Fix(SALT): do not start UsU flashing on incompatible LAF versions

    v3.6-5
    Released: 2018-02-14
    Full changelog (SALT): at github (this version compared with the previous release)
    Summary changelog:
    • New(SALT): Upload/Paste your SALT logfile with a single click!
    • New(SALT): many important stuff related to UsU
    • Fix(SALT): SALT does not start in rare circumstances

    v3.5-7
    Released: 2018-02-05
    Full changelog (SALT): at github (this version compared with the previous release)
    Summary changelog:
    • New(SALT): Main GUI completely re-worked to fit on smaller screens
    • New(SALT): main screen now detect and display: LAF protocol, IMEI and serial (removed "Secure device" as its meaning is unknown anyways)
      HINT: IMEI and serial will never be written into the logfile!
    • New(SALT): added the feature to extract/convert/mount system.dat files (from LP up to Oreo 8.1) - requested by @kessaras
    • New(SALT): KDZ extract HEAVILY improved (details)
    • Fix(SALT): UsU related stuff
    • Fix(SALT): modemst info

    v3.1-1
    Released: 2018-01-09
    Full changelog (SALT): at github (this version compared with the previous release)
    Summary changelog:
    • New(SALT): adding a GPT compatibility info for UsU ROM flashing
    • Fix(SALT): garbage on UsU check in log

    v3.0-7
    Released: 2018-01-08
    Full changelog (SALT): at github (this version compared with the previous)
    Summary changelog:
    • New(SALT): Full UsU support
    • New(SALT): Full Nougat bootloader support
    • Fix(SALT): several .. read the full changelog

    v2.1-0
    Released: 2018-01-05
    Full changelog (SALT): at github (this version compared with the previous)
    Summary changelog:
    • New(SALT): Backup now uses $HOME/salt_backup as default backup path
    • New(SALT): If backup path does not exists it will be auto-created now
    • Fix(SALT): Verify backup was broken (thx @cowsngrass or the report)

    v2.0-7
    Released: 2018-01-03
    Full changelog (SALT): at github (this version compared with the previous)
    Full changelog (lglaf): at github (all commits up to release date)
    Full changelog (kdztools): at github (all commits up to release date)
    Summary changelog:
    • New(lglaf, SALT): Backup now shows a progress bar instead of that creepy log output
    • New(SALT): adding a Retry button on SALT startup
    • New(lglaf, SALT): replaced legacy auth method with new chall/response
    • New(SALT): adding support for mbn firmware files
    • New(SALT): adding UsU (Unofficial steadfasterX Unlock) detection
    • Fix(lglaf): Timeout issues on some devices resulting in no detection
    • Fix(lglaf): Some devices even when using an older LAF protocol version required challenge/response
    • Fix(SALT): md5 verify on some devices
    • Fix(kdztools): when on master (so STABLE) branch kdz extract was not possible
    • and many more (check github changelogs above)

    1.1-5
    Released: 2017-12-15
    Full changelog: at github (this version compared with the previous)
    Summary changelog:
    • New feature: MD5 verification of backup
      This feature may not be available on every device but SALT will check after a backup automatically if your device supports
      md5 verification and offers you an option to do so.
    • Fix: ARB detection was wrong on H811

    1.0-14
    Released: 2017-12-11
    Changelog:
    • first public release
    • Full changelog at github
    12
    New SALT release!

    Checkout the FAQ #9 for howto update to this brand new release

    v3.5-7
    Released: 2018-02-05
    Full changelog (SALT): at github (this version compared with the previous release)
    Summary changelog:
    • New(SALT): Main GUI completely re-worked to fit on smaller screens
    • New(SALT): main screen now detect and display: LAF protocol, IMEI and serial (removed "Secure device" as its meaning is unknown anyways).
      HINT: IMEI and serial will never be written into the logfile!
    • New(SALT): added the feature to extract/convert/mount system.dat files (from LP up to Oreo 8.1) - requested by @kessaras
    • New(SALT): KDZ extract HEAVILY improved (details)
    • Fix(SALT): UsU related stuff
    • Fix(SALT): modemst info
    12
    v3.6-5 released

    Checkout the FAQ #9 for howto update to this brand new release

    Released: 2018-02-14
    Full changelog (SALT): at github (this version compared with the previous release)
    Summary changelog:
    • New(SALT): Upload/Paste your SALT logfile with a single click!
    • New(SALT): many important stuff related to UsU
    • Fix(SALT): SALT does not start in rare circumstances