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
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
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.
Explained in detail
Besides the writing this may also be an issue afterwards: filesize
for reference here is a dump of a lgup flashing
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)
open a terminal
type:
git clone https://github.com/steadfasterX/SALT.git
cd SALT
bash install-desktop.sh
read the output and if required copy the SALT.desktop file manually to your Desktop.
double click the SALT icon or while in a terminal start SALT with: sudo ~/SALT/salt
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
Android + SALT Support: [matrix] || Telegram
mAid Support: [matrix] || Telegram
CI/CD/Automation: [matrix] || Telegram
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:
SALT
Patched LGLAF
Patched kdztools
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
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:
take out battery and unplug USB cable
plugin USB cable to your PC (while battery ist still out)
wait until you see the missing battery icon (question mark within a battery symbol)
press Volume up and while keeping it pressed put battery in (take care that you do not press the power button)
keep pressing Volume up until you see "Download mode"
If that does not work for you try it this way instead:
unplug USB cable
power down device or pull out battery
put battery back
press Volume up and while keeping it pressed plugin USB cable to your PC (take care that you do not press the power button)
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://forum.xda-developers.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
1000a) I have an issue not listed here - what should I do?
1000b) 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:
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
Thank you, very nice tool.
Now it is very easy to backup all of my data (H818P, v29a firmware).
Btw, it is working on kubuntu, I just had to google for how to set up some dependencies.
Engelm said:
Thank you, very nice tool.
Now it is very easy to backup all of my data (H818P, v29a firmware).
Btw, it is working on kubuntu, I just had to google for how to set up some dependencies.
Click to expand...
Click to collapse
besides: sudo apt install yad git gksu python-pyusb python-crypto which dependencies else were needed?
I want to add them to the FAQ...
thx for reporting the working state!
If you don't mind: can you start SALT and grab the debug log just after starting SALT up?
you find it in the advanced menu. just copy everything and paste it in a PM would be nice..
Cheers
sfX
steadfasterX said:
besides: sudo apt install yad git gksudo python-pyusb python-crypto which dependencies else were needed?
I want to add them to the FAQ...
thx for reporting the working state!
If you don't mind: can you start SALT and grab the debug log just after starting SALT up?
you find it in the advanced menu. just copy everything and paste it in a PM would be nice..
Cheers
sfX
Click to expand...
Click to collapse
No other dependencies were needed, but I also use this OS for some development... so maybe something was already installed.
Maybe I could help if someone else has some dependencies missing.
Look like a great tool thank you very much for your time and effort!
I have LG G4 version LS991ZVD_03, can I ?
Satrio Yudho said:
I have LG G4 version LS991ZVD_03, can I ?
Click to expand...
Click to collapse
Read FAQ 5,6 and 7 https://forum.xda-developers.com/g4/general/tool-salt-lg-revolution-t3717864/post74811095
Sent from my LG-H815 using XDA Labs
SALT v1.1-5 released
1.1-5
Released: 2017-12-15
Full changelog: at github (this version compared with the previous)
Summy 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
Existing users can update with just a click:
open SALT (no need to have a connected device - just press the SKIP button when asked)
click at the most left button at the bottom
leave everything on its defaults in the next window and start the update.
close SALT and that's it
New feature - MD5 verification explained
Once you have taken a backup SALT will check if your device generally supports md5sum verification and if yes prompting you about this.
Choosing yes there is highly recommended to ensure that your files are really valid.
Once SALT has finished the verification you will see a summary window presenting you the results of the verification.
You can open details about each result by clicking the Details button:
As you can see in the above example I got 29 OKs, 18 WARNINGS but 0 ERRORS so what does that mean?
What OK means is simple: both the backup file and the partition on the device could be hashed and the verification matches.
A verification WARNING means that SALT is not able to generate a md5sum on your device. Even when the first generic check was successful some devices blocking some or even all partition for this verification.
So actually this means that the backup itself went well (the dump itself) but we cannot verify it against the device.
So should you be concerned about a WARNING ? No.
... but you should be concerned about ERRORS ofc. A verification ERROR means that both the backup file and the partition on the device could be hashed and the verification mismatches which is definitively an issue with the backup. If that happens take a fresh reboot into download mode again re-open SALT and start the backup again (ensure you have enough free disk space!).
and for fun:
you can just take a backup again in the same folder (nothing gets overwritten as SALT will not overwrite) and when prompted about the verification do not click but reboot your device into Android. once booted power down and open download mode again and wait some seconds until you can be sure that its fully started in download mode. then press the verification button to find which partitions have changed by a simple boot into android.
Cheers
steadfasterX
Can't backup H815 - no partion detected error code 0x8000010a (LAF_ERROR_ACCESS_DEN
Hi ,
I read about SALT and it seems to be great tool. unfortunately it do not work well for me. I've attempted to update my phone to nougat and I've try to create backup but it failed. Later on I've found out that no partition was detected on the phone. The following happened :
- SALT installed on UBUNTU 17.04 - with minor issues that were solved
- Phone detected automatically
- Phone can be rebooted by SALT
- Error during backup
Log file is attached bellow.
Phone was delivered with Android 5.1 Updated to Marshallow via LG Bridge No root nor boot loader unlocked. After upgrade to Marshallow shows Warning massage after boot "Current version is not available for user. Can't find matched cust for NT-code mmx/mnc[],subset[]" , This messages is one of the reasons for attempting to flash Nougat, second one is battery life.
I'm looking for the following help. Waht steps need to be taken to backup the device and update it to Nougat v29a.
Can you please help ?
2017-12-19 16:25:43: Starting SALT v1.1-5:STABLE!
****************************************************
2017-12-19 16:25:43: F_EGO: started
2017-12-19 16:25:43: F_EGO: /tmp/salt.lock created
2017-12-19 16:25:43: DEVCON before: 99
2017-12-19 16:25:43: F_CHKDEVCON: started
2017-12-19 16:25:44: F_CHKDEVCON: Device seems to be connected!
2017-12-19 16:25:44: RET: 0
2017-12-19 16:25:44: DEVCON after: 0
2017-12-19 16:25:44: F_GETINFO: started
2017-12-19 16:25:44: F_CDARB: started
2017-12-19 16:25:46: EMPTY ARB DETECTED:
2017-12-19 16:25:46: Please send this log and the SBL1 dump in /tmp/sbl1.err
2017-12-19 16:25:46: F_CDARB:
2017-12-19 16:25:46: F_CDARB: DEVARB=0, DEVARBEMPTY=1
2017-12-19 16:25:46: F_CDARB: ended
battery_level:100 device_sw_version:H81520g secure_device:S device_factory_version:LGH815AT-00-V20g-OPT2-HQ-JUL-20-2016+0 model_name:LG-H815 target_country:COM 2017-12-19 16:25:46: F_GETINFO: ended
2017-12-19 16:25:46: parsing arb:0:1
2017-12-19 16:25:46: parsing battery_level:100
2017-12-19 16:25:46: parsing device_sw_version:H81520g
2017-12-19 16:25:46: parsing secure_device:S
2017-12-19 16:25:46: parsing device_factory_version:LGH815AT-00-V20g-OPT2-HQ-JUL-20-2016+0
2017-12-19 16:25:46: parsing model_name:LG-H815
2017-12-19 16:25:46: parsing target_country:COM
2017-12-19 16:25:53: F_BACKUP: started with these arguments:
2017-12-19 16:25:55: F_BACKUP: choosen backup type was 1, Full, 0 KB
2017-12-19 16:25:57: F_BACKUP: choosen target directory was /tmp
Traceback (most recent call last):
File "/root/programs/lglafng/extract-partitions.py", line 72, in <module>
main()
File "/root/programs/lglafng/extract-partitions.py", line 65, in main
with partitions.laf_open_disk(comm) as disk_fd:
File "/usr/lib/python3.6/contextlib.py", line 81, in __enter__
return next(self.gen)
File "/root/programs/lglafng/partitions.py", line 61, in laf_open_disk
open_header = comm.call(open_cmd)[0]
File "/root/programs/lglafng/lglaf.py", line 264, in call
raise RuntimeError('Command failed with error code %#x (%s)' % (errCode, msg))
RuntimeError: Command failed with error code 0x8000010a (LAF_ERROR_ACCESS_DENIED)
2017-12-19 16:26:07: F_MSGOK: started
2017-12-19 16:26:07: F_ADVMENU: started
2017-12-19 16:26:10: getlog script started
bodziak said:
Hi ,
I read about SALT and it seems to be great tool. unfortunately it do not work well for me. I've attempted to update my phone to nougat and I've try to create backup but it failed. Later on I've found out that no partition was detected on the phone. The following happened :
- SALT installed on UBUNTU 17.04 - with minor issues that were solved
- Phone detected automatically
- Phone can be rebooted by SALT
- Error during backup
Log file is attached bellow.
Phone was delivered with Android 5.1 Updated to Marshallow via LG Bridge No root nor boot loader unlocked. After upgrade to Marshallow shows Warning massage after boot "Current version is not available for user. Can't find matched cust for NT-code mmx/mnc[],subset[]" , This messages is one of the reasons for attempting to flash Nougat, second one is battery life.
I'm looking for the following help. Waht steps need to be taken to backup the device and update it to Nougat v29a.
Can you please help ?
2017-12-19 16:25:43: Starting SALT v1.1-5:STABLE!
****************************************************
2017-12-19 16:25:43: F_EGO: started
2017-12-19 16:25:43: F_EGO: /tmp/salt.lock created
2017-12-19 16:25:43: DEVCON before: 99
2017-12-19 16:25:43: F_CHKDEVCON: started
2017-12-19 16:25:44: F_CHKDEVCON: Device seems to be connected!
2017-12-19 16:25:44: RET: 0
2017-12-19 16:25:44: DEVCON after: 0
2017-12-19 16:25:44: F_GETINFO: started
2017-12-19 16:25:44: F_CDARB: started
2017-12-19 16:25:46: EMPTY ARB DETECTED:
2017-12-19 16:25:46: Please send this log and the SBL1 dump in /tmp/sbl1.err
2017-12-19 16:25:46: F_CDARB:
2017-12-19 16:25:46: F_CDARB: DEVARB=0, DEVARBEMPTY=1
2017-12-19 16:25:46: F_CDARB: ended
battery_level:100 device_sw_version:H81520g secure_device:S device_factory_version:LGH815AT-00-V20g-OPT2-HQ-JUL-20-2016+0 model_name:LG-H815 target_country:COM 2017-12-19 16:25:46: F_GETINFO: ended
2017-12-19 16:25:46: parsing arb:0:1
2017-12-19 16:25:46: parsing battery_level:100
2017-12-19 16:25:46: parsing device_sw_version:H81520g
2017-12-19 16:25:46: parsing secure_device:S
2017-12-19 16:25:46: parsing device_factory_version:LGH815AT-00-V20g-OPT2-HQ-JUL-20-2016+0
2017-12-19 16:25:46: parsing model_name:LG-H815
2017-12-19 16:25:46: parsing target_country:COM
2017-12-19 16:25:53: F_BACKUP: started with these arguments:
2017-12-19 16:25:55: F_BACKUP: choosen backup type was 1, Full, 0 KB
2017-12-19 16:25:57: F_BACKUP: choosen target directory was /tmp
Traceback (most recent call last):
File "/root/programs/lglafng/extract-partitions.py", line 72, in <module>
main()
File "/root/programs/lglafng/extract-partitions.py", line 65, in main
with partitions.laf_open_disk(comm) as disk_fd:
File "/usr/lib/python3.6/contextlib.py", line 81, in __enter__
return next(self.gen)
File "/root/programs/lglafng/partitions.py", line 61, in laf_open_disk
open_header = comm.call(open_cmd)[0]
File "/root/programs/lglafng/lglaf.py", line 264, in call
raise RuntimeError('Command failed with error code %#x (%s)' % (errCode, msg))
RuntimeError: Command failed with error code 0x8000010a (LAF_ERROR_ACCESS_DENIED)
2017-12-19 16:26:07: F_MSGOK: started
2017-12-19 16:26:07: F_ADVMENU: started
2017-12-19 16:26:10: getlog script started
Click to expand...
Click to collapse
many thanks for writing such a qualified report
Please open SALT
Click the Update button
and set everything to develop like here:
Click Update to switch to the testing release and close SALT when prompted.
start SALT again and attach again the Debug log. I have just adjusted the debug log output to identify the issue for you.
plus (if its generated) the file /tmp/sbl1.err which MAY gets generated once you opened SALT.
.
SALT log data from development branch
Hi,
I've followed the instructions. SALT was updated to development branch 29 changes in 3 files . kdztools and lglaf no changes detected. New log generated and attached. Same error happed when reading ARB - 0x8000010a (LAF_ERROR_ACCESS_DENIED). File /tmp/sbl1.err was not created at all. Tested just after starting SALT and when attempting backup.
I've also found out discussion on similar issue - but there is is too much low level details in it for me :
Try to check on github.com the following link /Lekensteyn/lglaf/issues/7
Sorry - I'm not allowed to publish external links
2017-12-20 09:56:35: Starting SALT v1.2-0:TESTING!
****************************************************
2017-12-20 09:56:35: F_EGO: started
2017-12-20 09:56:35: F_EGO: /tmp/salt.lock created
2017-12-20 09:56:35: DEVCON before: 99
2017-12-20 09:56:35: F_CHKDEVCON: started
2017-12-20 09:56:35: F_CHKDEVCON: Device seems to be connected!
2017-12-20 09:56:35: RET: 0
2017-12-20 09:56:35: DEVCON after: 0
2017-12-20 09:56:35: F_GETINFO: started
2017-12-20 09:56:35: F_CDARB: started
Traceback (most recent call last):
File "/root/programs/lglafng/partitions.py", line 369, in <module>
main()
File "/root/programs/lglafng/partitions.py", line 330, in main
with laf_open_disk(comm) as disk_fd:
File "/usr/lib/python3.6/contextlib.py", line 81, in __enter__
return next(self.gen)
File "/root/programs/lglafng/partitions.py", line 61, in laf_open_disk
open_header = comm.call(open_cmd)[0]
File "/root/programs/lglafng/lglaf.py", line 264, in call
raise RuntimeError('Command failed with error code %#x (%s)' % (errCode, msg))
RuntimeError: Command failed with error code 0x8000010a (LAF_ERROR_ACCESS_DENIED)
2017-12-20 09:56:37: EMPTY ARB DETECTED:
2017-12-20 09:56:37: Please send this log and the SBL1 dump in /tmp/sbl1.err
2017-12-20 09:56:38: 2017-12-20 09:56:37,718 LGLAF.py: DEBUG: Using endpoints 83 (IN), 02 (OUT)
2017-12-20 09:56:37,721 partitions: DEBUG: Using Protocol version: 0x1000001
Traceback (most recent call last):
File "/root/programs/lglafng/partitions.py", line 369, in <module>
main()
File "/root/programs/lglafng/partitions.py", line 330, in main
with laf_open_disk(comm) as disk_fd:
File "/usr/lib/python3.6/contextlib.py", line 81, in __enter__
return next(self.gen)
File "/root/programs/lglafng/partitions.py", line 61, in laf_open_disk
open_header = comm.call(open_cmd)[0]
File "/root/programs/lglafng/lglaf.py", line 264, in call
raise RuntimeError('Command failed with error code %#x (%s)' % (errCode, msg))
RuntimeError: Command failed with error code 0x8000010a (LAF_ERROR_ACCESS_DENIED)
2017-12-20 09:56:38: F_CDARB:
2017-12-20 09:56:38: F_CDARB: DEVARB=0, DEVARBEMPTY=1
2017-12-20 09:56:38: F_CDARB: ended
battery_level:95 device_sw_version:H81520g secure_device:S device_factory_version:LGH815AT-00-V20g-OPT2-HQ-JUL-20-2016+0 model_name:LG-H815 target_country:COM 2017-12-20 09:56:39: F_GETINFO: ended
2017-12-20 09:56:39: parsing arb:0:1
2017-12-20 09:56:39: parsing battery_level:95
2017-12-20 09:56:39: parsing device_sw_version:H81520g
2017-12-20 09:56:39: parsing secure_device:S
2017-12-20 09:56:39: parsing device_factory_version:LGH815AT-00-V20g-OPT2-HQ-JUL-20-2016+0
2017-12-20 09:56:39: parsing model_name:LG-H815
2017-12-20 09:56:39: parsing target_country:COM
2017-12-20 09:56:39: Reboot button script started
2017-12-20 09:56:55: F_BACKUP: started with these arguments:
2017-12-20 09:57:00: F_BACKUP: choosen backup type was 1, Full, 0 KB
2017-12-20 09:57:02: F_BACKUP: choosen target directory was /tmp
Traceback (most recent call last):
File "/root/programs/lglafng/extract-partitions.py", line 72, in <module>
main()
File "/root/programs/lglafng/extract-partitions.py", line 65, in main
with partitions.laf_open_disk(comm) as disk_fd:
File "/usr/lib/python3.6/contextlib.py", line 81, in __enter__
return next(self.gen)
File "/root/programs/lglafng/partitions.py", line 61, in laf_open_disk
open_header = comm.call(open_cmd)[0]
File "/root/programs/lglafng/lglaf.py", line 264, in call
raise RuntimeError('Command failed with error code %#x (%s)' % (errCode, msg))
RuntimeError: Command failed with error code 0x8000010a (LAF_ERROR_ACCESS_DENIED)
2017-12-20 09:57:18: F_ABOUT: started
2017-12-20 09:59:49: F_ADVMENU: started
2017-12-20 09:59:51: getlog script started
Click Update to switch to the testing release and close SALT when prompted.
start SALT again and attach again the Debug log. I have just adjusted the debug log output to identify the issue for you.
plus (if its generated) the file /tmp/sbl1.err which MAY gets generated once you opened SALT.
.[/QUOTE]
bodziak said:
Hi,
I've followed the instructions. SALT was updated to development branch 29 changes in 3 files . kdztools and lglaf no changes detected. New log generated and attached. Same error happed when reading ARB - 0x8000010a (LAF_ERROR_ACCESS_DENIED). File /tmp/sbl1.err was not created at all. Tested just after starting SALT and when attempting backup.
I've also found out discussion on similar issue - but there is is too much low level details in it for me :
Try to check on github.com the following link /Lekensteyn/lglaf/issues/7
Sorry - I'm not allowed to publish external links
2017-12-20 09:56:35: Starting SALT v1.2-0:TESTING!
****************************************************
2017-12-20 09:56:35: F_EGO: started
2017-12-20 09:56:35: F_EGO: /tmp/salt.lock created
2017-12-20 09:56:35: DEVCON before: 99
2017-12-20 09:56:35: F_CHKDEVCON: started
2017-12-20 09:56:35: F_CHKDEVCON: Device seems to be connected!
2017-12-20 09:56:35: RET: 0
2017-12-20 09:56:35: DEVCON after: 0
2017-12-20 09:56:35: F_GETINFO: started
2017-12-20 09:56:35: F_CDARB: started
Traceback (most recent call last):
File "/root/programs/lglafng/partitions.py", line 369, in <module>
main()
File "/root/programs/lglafng/partitions.py", line 330, in main
with laf_open_disk(comm) as disk_fd:
File "/usr/lib/python3.6/contextlib.py", line 81, in __enter__
return next(self.gen)
File "/root/programs/lglafng/partitions.py", line 61, in laf_open_disk
open_header = comm.call(open_cmd)[0]
File "/root/programs/lglafng/lglaf.py", line 264, in call
raise RuntimeError('Command failed with error code %#x (%s)' % (errCode, msg))
RuntimeError: Command failed with error code 0x8000010a (LAF_ERROR_ACCESS_DENIED)
2017-12-20 09:56:37: EMPTY ARB DETECTED:
2017-12-20 09:56:37: Please send this log and the SBL1 dump in /tmp/sbl1.err
2017-12-20 09:56:38: 2017-12-20 09:56:37,718 LGLAF.py: DEBUG: Using endpoints 83 (IN), 02 (OUT)
2017-12-20 09:56:37,721 partitions: DEBUG: Using Protocol version: 0x1000001
Traceback (most recent call last):
File "/root/programs/lglafng/partitions.py", line 369, in <module>
main()
File "/root/programs/lglafng/partitions.py", line 330, in main
with laf_open_disk(comm) as disk_fd:
File "/usr/lib/python3.6/contextlib.py", line 81, in __enter__
return next(self.gen)
File "/root/programs/lglafng/partitions.py", line 61, in laf_open_disk
open_header = comm.call(open_cmd)[0]
File "/root/programs/lglafng/lglaf.py", line 264, in call
raise RuntimeError('Command failed with error code %#x (%s)' % (errCode, msg))
RuntimeError: Command failed with error code 0x8000010a (LAF_ERROR_ACCESS_DENIED)
2017-12-20 09:56:38: F_CDARB:
2017-12-20 09:56:38: F_CDARB: DEVARB=0, DEVARBEMPTY=1
2017-12-20 09:56:38: F_CDARB: ended
battery_level:95 device_sw_version:H81520g secure_device:S device_factory_version:LGH815AT-00-V20g-OPT2-HQ-JUL-20-2016+0 model_name:LG-H815 target_country:COM 2017-12-20 09:56:39: F_GETINFO: ended
2017-12-20 09:56:39: parsing arb:0:1
2017-12-20 09:56:39: parsing battery_level:95
2017-12-20 09:56:39: parsing device_sw_version:H81520g
2017-12-20 09:56:39: parsing secure_device:S
2017-12-20 09:56:39: parsing device_factory_version:LGH815AT-00-V20g-OPT2-HQ-JUL-20-2016+0
2017-12-20 09:56:39: parsing model_name:LG-H815
2017-12-20 09:56:39: parsing target_country:COM
2017-12-20 09:56:39: Reboot button script started
2017-12-20 09:56:55: F_BACKUP: started with these arguments:
2017-12-20 09:57:00: F_BACKUP: choosen backup type was 1, Full, 0 KB
2017-12-20 09:57:02: F_BACKUP: choosen target directory was /tmp
Traceback (most recent call last):
File "/root/programs/lglafng/extract-partitions.py", line 72, in <module>
main()
File "/root/programs/lglafng/extract-partitions.py", line 65, in main
with partitions.laf_open_disk(comm) as disk_fd:
File "/usr/lib/python3.6/contextlib.py", line 81, in __enter__
return next(self.gen)
File "/root/programs/lglafng/partitions.py", line 61, in laf_open_disk
open_header = comm.call(open_cmd)[0]
File "/root/programs/lglafng/lglaf.py", line 264, in call
raise RuntimeError('Command failed with error code %#x (%s)' % (errCode, msg))
RuntimeError: Command failed with error code 0x8000010a (LAF_ERROR_ACCESS_DENIED)
2017-12-20 09:57:18: F_ABOUT: started
2017-12-20 09:59:49: F_ADVMENU: started
2017-12-20 09:59:51: getlog script started
Click to expand...
Click to collapse
ok great thx again. This confirms what I thought.
The important line is: 2017-12-20 09:56:37,721 partitions: DEBUG: Using Protocol version: 0x1000001
I'm in active discussion with Lekensteyn and others to fix/implement things around LGLAF (backend tool in SALT) so I'm aware of this
Background: Older LAF versions do not needed a challenge / response when doing several actions. Newer need them.
Until now we all assumed that we can use the protocol version as an indicator if that challenge/response is needed or not but this seems to be not the case as your example shows.
I also have another user running a H811 with exact the same issue.
So basically this will work for you with a simple change: replacing all occurrences of 0x1000004 with 0x1000001 in lglaf.py and partitions.py but unfortunately this would break then for other users running an older release of LAF. I will implement another detection which then should work for all (hopefully).
.
EDIT: @bodziak could you pls do this in a terminal while in download mode and device connected (no SALT needed):
lsusb
thx!
Editions ??
Hi ,
I'm not quite sure what you mean by "could you pls do this in a terminal while in download mode and device connected (no SALT needed)". Do you mean "replacing all occurrences of 0x1000004 with 0x1000001 in lglaf.py and partitions.py" . So I should:
- connect the device in download mode
- use terminal to edit python files
- start SALT
is it correct sequence ?
Bodziak
steadfasterX said:
ok great thx again. This confirms what I thought.
The important line is: 2017-12-20 09:56:37,721 partitions: DEBUG: Using Protocol version: 0x1000001
I'm in active discussion with Lekensteyn and others to fix/implement things around LGLAF (backend tool in SALT) so I'm aware of this
Background: Older LAF versions do not needed a challenge / response when doing several actions. Newer need them.
Until now we all assumed that we can use the protocol version as an indicator if that challenge/response is needed or not but this seems to be not the case as your example shows.
I also have another user running a H811 with exact the same issue.
So basically this will work for you with a simple change: replacing all occurrences of 0x1000004 with 0x1000001 in lglaf.py and partitions.py but unfortunately this would break then for other users running an older release of LAF. I will implement another detection which then should work for all (hopefully).
.
EDIT: @bodziak could you pls do this in a terminal while in download mode and device connected (no SALT needed):
lsusb
thx!
Click to expand...
Click to collapse
bodziak said:
Hi ,
I'm not quite sure what you mean by "could you pls do this in a terminal while in download mode and device connected (no SALT needed)". Do you mean "replacing all occurrences of 0x1000004 with 0x1000001 in lglaf.py and partitions.py" . So I should:
- connect the device in download mode
- use terminal to edit python files
- start SALT
is it correct sequence ?
Bodziak
Click to expand...
Click to collapse
sorry for the confusion
connect device in download mode to the pc (wait until you see the cycle arrows screen)
open terminal and type: lsusb
gimme the output
no change in code for the above needed.
thx
LSUSB result
Hi,
Here is result from LSUSB
Bus 001 Device 009: ID 1004:633a LG Electronics, Inc.
By the way I was able to backup using SALT by modify the file as suggested. As far as i understand right now i need downgrade the device to android 5 then update it to nougat.An you do not advice to use SALT for that. Correct ?
Bodziak
steadfasterX said:
sorry for the confusion
connect device in download mode to the pc (wait until you see the cycle arrows screen)
open terminal and type: lsusb
gimme the output
no change in code for the above needed.
thx
Click to expand...
Click to collapse
bodziak said:
Hi,
Here is result from LSUSB
Bus 001 Device 009: ID 1004:633a LG Electronics, Inc.
By the way I was able to backup using SALT by modify the file as suggested. As far as i understand right now i need downgrade the device to android 5 then update it to nougat.An you do not advice to use SALT for that. Correct ?
Bodziak
Click to expand...
Click to collapse
thanks.
open a terminal and go into the lglaf folder again: /root/programs/lglaf
then type (this will revert your manual changes as I have implemented a new way of detection):
git reset --hard
start SALT again (no device connected)
execute the UPDATE again
close SALT
connect device
start SALT when download mode is fully up
open advanced menu -> show partitions
when you see the partition listing my brand new fix had worked
pls send in any case the debug log as well
you dont need to downgrade to LP in order to uprade to Nougat. Just flash the TOT.
.
It Works !!!!
Hi,
Your fix is working now . Log is bellow - just removed from it HTML data. See bellow. Can you recommend any specific TOT file ?
Thank for help and prompt response
Bodziak
2017-12-20 15:26:14: Starting SALT v1.2-3:TESTING!
****************************************************
2017-12-20 15:26:14: F_EGO: started
2017-12-20 15:26:14: F_EGO: /tmp/salt.lock created
2017-12-20 15:26:14: DEVCON before: 99
2017-12-20 15:26:14: F_CHKDEVCON: started
aarch64
2017-12-20 15:26:15: F_CHKDEVCON: Device seems to be connected!
2017-12-20 15:26:15: RET: 0
2017-12-20 15:26:15: DEVCON after: 0
2017-12-20 15:26:15: F_GETINFO: started
2017-12-20 15:26:15: F_CDARB: started
2017-12-20 15:26:16,588 partitions: INFO: Wrote 1048576 bytes to -
2017-12-20 15:26:16: F_CDARB:
2017-12-20 15:26:16: ARB valid and 0
2017-12-20 15:26:16: F_CDARB: DEVARB=0, DEVARBEMPTY=0
2017-12-20 15:26:16: F_CDARB: ended
battery_level:100 device_sw_version:H81520g secure_device:S device_factory_version:LGH815AT-00-V20g-OPT2-HQ-JUL-20-2016+0 model_name:LG-H815 target_country:COM 2017-12-20 15:26:17: F_GETINFO: ended
2017-12-20 15:26:17: parsing arb:0:0
2017-12-20 15:26:17: parsing battery_level:100
2017-12-20 15:26:17: parsing device_sw_version:H81520g
2017-12-20 15:26:17: parsing secure_device:S
2017-12-20 15:26:17: parsing device_factory_version:LGH815AT-00-V20g-OPT2-HQ-JUL-20-2016+0
2017-12-20 15:26:17: parsing model_name:LG-H815
2017-12-20 15:26:17: parsing target_country:COM
2017-12-20 15:26:25: F_ADVMENU: started
2017-12-20 15:26:27: F_LISTPARTS: started
2017-12-20 15:26:27: F_GETPARTS: started
2017-12-20 15:26:28: modem,1,32768,208895,2C9C5EC0-5089-C2FD-2BB8-B0D6B55FC969
2017-12-20 15:26:28: pmic,2,229376,230399,E0887475-3501-9541-0995-604BB69779CA
2017-12-20 15:26:28: sbl1,3,230400,232447,E4A4D5BB-85C9-86FA-39B5-6D3E1A116849
2017-12-20 15:26:28: tz,4,232448,234495,A5505947-385B-5172-8592-69ABD5E3F82C
2017-12-20 15:26:28: sdi,5,234496,235519,07EFDA3B-B262-86D1-42DC-A16EF3719745
2017-12-20 15:26:28: hyp,6,235520,236543,D2DAF4F8-F494-F8AF-445B-F7AEEA17BDCC
2017-12-20 15:26:28: rpm,7,236544,237567,4C0D1B93-329C-AB73-7FA7-36D373E9767D
2017-12-20 15:26:28: aboot,8,237568,241663,8D24F8E9-80B6-9926-9225-1B9741F497DA
2017-12-20 15:26:28: sbl1bak,9,241664,243711,B736164F-DBCE-91B4-7C0E-97635A37E655
2017-12-20 15:26:28: pmicbak,10,243712,244735,16294DF1-8874-A104-8040-85DAD0085055
2017-12-20 15:26:28: tzbak,11,244736,246783,C19E6F07-CF19-DFDB-194B-DE650336E75D
2017-12-20 15:26:28: hypbak,12,246784,247807,0E9DDEB4-85E6-CEF7-87AE-2FAAEEA7CDB0
2017-12-20 15:26:28: rpmbak,13,247808,248831,B54BA8EE-5FCD-9BF2-B651-CD5A1D2FC3CC
2017-12-20 15:26:28: abootbak,14,248832,252927,C615F011-743C-D40F-0FB6-1594027DFB8B
2017-12-20 15:26:28: sdibak,15,252928,253951,04F5EC33-21A5-FE27-2A88-0F0EA036FFE9
2017-12-20 15:26:28: limits,16,253952,254975,00258E3B-090A-F71E-FA35-67862A4FE206
2017-12-20 15:26:28: devinfo,17,254976,255999,5BEEF108-1A26-72CC-9009-CE1C4F97EFA9
2017-12-20 15:26:28: apdp,18,256000,257023,FF02DE10-0634-8D65-F3A6-F2C106096830
2017-12-20 15:26:28: msadp,19,257024,258047,AFA69886-0D12-794F-B2B8-182E8B6D836E
2017-12-20 15:26:28: dpo,20,258048,259071,6A5DD444-EDC6-0975-7248-8867FEE7A810
2017-12-20 15:26:28: spare1,21,259072,262143,CEBB7F6C-0111-B41B-2272-569AD420F845
2017-12-20 15:26:28: misc,22,262144,294911,BF82D982-CFAC-EA0E-4B45-91942204DB13
2017-12-20 15:26:28: persist,23,294912,360447,BF06643E-8F51-237B-0D28-0B199C14F0AB
2017-12-20 15:26:28: modemst1,24,360448,363519,E04AEBC1-5925-68FE-4DCC-EA77E9038039
2017-12-20 15:26:28: modemst2,25,363520,366591,8417A7B8-4006-9175-C0F9-846B44B4E2A9
2017-12-20 15:26:28: fsg,26,366592,369663,ED3127E3-F4F7-A60F-8D49-2C790E709221
2017-12-20 15:26:28: fsc,27,369664,370687,9F0BDD06-5207-2139-CBFF-57E3D6D324BE
2017-12-20 15:26:28: ssd,28,370688,371711,DF246A3F-63E9-398F-1152-0A835A3A091D
2017-12-20 15:26:28: keystore,29,371712,372735,02280F6A-D0B0-05B4-8EC0-A2B388541783
2017-12-20 15:26:28: DDR,30,372736,376831,33A0E627-CD91-5BB3-8C3E-EB4FF1628C98
2017-12-20 15:26:28: sec,31,376832,377855,48470F02-90C6-0F79-C6CD-6AD3214F8BF2
2017-12-20 15:26:28: encrypt,32,377856,378879,F99FAEE6-0929-121B-8B9D-341C7AAFFF87
2017-12-20 15:26:28: eksst,33,378880,379903,95478EC7-9779-BCB7-B719-0B690AB33C82
2017-12-20 15:26:28: rct,34,379904,380927,021E62FE-3B12-BE62-A984-292D8FA57809
2017-12-20 15:26:28: persistent,35,380928,385023,47D47D16-CE0B-D069-E355-32A7291416D9
2017-12-20 15:26:28: spare2,36,385024,393215,84D64CA6-A736-00B5-1F20-EC9B8DD4AC38
2017-12-20 15:26:28: laf,37,393216,491519,26EBE353-E019-6B2F-B3A2-A3EAFDC12ED2
2017-12-20 15:26:28: boot,38,491520,573439,441836A1-4500-548F-5C7D-9B0B67D3EAA8
2017-12-20 15:26:28: recovery,39,573440,655359,70349858-D9AB-5A65-5F45-AB1B2349F1F7
2017-12-20 15:26:28: drm,40,655360,671743,97629E9A-6940-7260-3E03-0428128363E8
2017-12-20 15:26:28: sns,41,671744,688127,CA9C961A-A56A-784E-98ED-422D203BB457
2017-12-20 15:26:28: mpt,42,688128,753663,38B7E3E5-322D-A359-43B9-A206C6727178
2017-12-20 15:26:28: factory,43,753664,847871,EE22CFCB-8973-1A18-C462-05F74E14FC64
2017-12-20 15:26:29: fota,44,847872,868351,B9391BEA-A332-F97A-2C93-EF4FCB8E2CE1
2017-12-20 15:26:29: raw_resources,45,868352,876543,C8B74B09-291E-1661-9181-F97011D73B58
2017-12-20 15:26:29: raw_resourcesbak,46,876544,884735,2722471E-9CF4-3B7A-D660-DB9BE7632F2C
2017-12-20 15:26:29: system,47,884736,9363455,3254FDD9-5609-84CE-EFE5-42A160233B47
2017-12-20 15:26:29: cust,48,9363456,9887743,9ECF3D3B-E229-7A2E-FE72-BD0DD8479DC6
2017-12-20 15:26:29: cache,49,9895936,12419071,89C12426-F027-38D2-FF99-1A61A02C9ACF
2017-12-20 15:26:29: userdata,50,12419072,61046783,E394BCDC-DD6D-77B4-E54F-362B3C9CA81C
2017-12-20 15:26:29: grow,51,61046784,61071326,105D7851-F50E-198B-3BB0-B6640B8ED2A0
2017-12-20 15:26:29: (F_GETPARTS) created yad list: true
------ CUT redundant data here --
2017-12-20 15:26:46: getlog script started
2017-12-20 15:30:02: F_EXIT: started
2017-12-20 15:30:02: EXIT: main->end with code 0
usunięty '/tmp/salt.lock'
steadfasterX said:
thanks.
open a terminal and go into the lglaf folder again: /root/programs/lglaf
then type (this will revert your manual changes as I have implemented a new way of detection):
git reset --hard
start SALT again (no device connected)
execute the UPDATE again
close SALT
connect device
start SALT when download mode is fully up
open advanced menu -> show partitions
when you see the partition listing my brand new fix had worked
pls send in any case the debug log as well
you dont need to downgrade to LP in order to uprade to Nougat. Just flash the TOT.
.
Click to expand...
Click to collapse
bodziak said:
Hi,
Your fix is working now . Log is bellow - just removed from it HTML data. See bellow. Can you recommend any specific TOT file ?
Thank for help and prompt response
Bodziak
2017-12-20 15:26:14: Starting SALT v1.2-3:TESTING!
****************************************************
2017-12-20 15:26:14: F_EGO: started
2017-12-20 15:26:14: F_EGO: /tmp/salt.lock created
2017-12-20 15:26:14: DEVCON before: 99
2017-12-20 15:26:14: F_CHKDEVCON: started
aarch64
2017-12-20 15:26:15: F_CHKDEVCON: Device seems to be connected!
2017-12-20 15:26:15: RET: 0
2017-12-20 15:26:15: DEVCON after: 0
2017-12-20 15:26:15: F_GETINFO: started
2017-12-20 15:26:15: F_CDARB: started
2017-12-20 15:26:16,588 partitions: INFO: Wrote 1048576 bytes to -
2017-12-20 15:26:16: F_CDARB:
2017-12-20 15:26:16: ARB valid and 0
2017-12-20 15:26:16: F_CDARB: DEVARB=0, DEVARBEMPTY=0
2017-12-20 15:26:16: F_CDARB: ended
battery_level:100 device_sw_version:H81520g secure_device:S device_factory_version:LGH815AT-00-V20g-OPT2-HQ-JUL-20-2016+0 model_name:LG-H815 target_country:COM 2017-12-20 15:26:17: F_GETINFO: ended
2017-12-20 15:26:17: parsing arb:0:0
2017-12-20 15:26:17: parsing battery_level:100
2017-12-20 15:26:17: parsing device_sw_version:H81520g
2017-12-20 15:26:17: parsing secure_device:S
2017-12-20 15:26:17: parsing device_factory_version:LGH815AT-00-V20g-OPT2-HQ-JUL-20-2016+0
2017-12-20 15:26:17: parsing model_name:LG-H815
2017-12-20 15:26:17: parsing target_country:COM
2017-12-20 15:26:25: F_ADVMENU: started
2017-12-20 15:26:27: F_LISTPARTS: started
2017-12-20 15:26:27: F_GETPARTS: started
2017-12-20 15:26:28: modem,1,32768,208895,2C9C5EC0-5089-C2FD-2BB8-B0D6B55FC969
2017-12-20 15:26:28: pmic,2,229376,230399,E0887475-3501-9541-0995-604BB69779CA
2017-12-20 15:26:28: sbl1,3,230400,232447,E4A4D5BB-85C9-86FA-39B5-6D3E1A116849
2017-12-20 15:26:28: tz,4,232448,234495,A5505947-385B-5172-8592-69ABD5E3F82C
2017-12-20 15:26:28: sdi,5,234496,235519,07EFDA3B-B262-86D1-42DC-A16EF3719745
2017-12-20 15:26:28: hyp,6,235520,236543,D2DAF4F8-F494-F8AF-445B-F7AEEA17BDCC
2017-12-20 15:26:28: rpm,7,236544,237567,4C0D1B93-329C-AB73-7FA7-36D373E9767D
2017-12-20 15:26:28: aboot,8,237568,241663,8D24F8E9-80B6-9926-9225-1B9741F497DA
2017-12-20 15:26:28: sbl1bak,9,241664,243711,B736164F-DBCE-91B4-7C0E-97635A37E655
2017-12-20 15:26:28: pmicbak,10,243712,244735,16294DF1-8874-A104-8040-85DAD0085055
2017-12-20 15:26:28: tzbak,11,244736,246783,C19E6F07-CF19-DFDB-194B-DE650336E75D
2017-12-20 15:26:28: hypbak,12,246784,247807,0E9DDEB4-85E6-CEF7-87AE-2FAAEEA7CDB0
2017-12-20 15:26:28: rpmbak,13,247808,248831,B54BA8EE-5FCD-9BF2-B651-CD5A1D2FC3CC
2017-12-20 15:26:28: abootbak,14,248832,252927,C615F011-743C-D40F-0FB6-1594027DFB8B
2017-12-20 15:26:28: sdibak,15,252928,253951,04F5EC33-21A5-FE27-2A88-0F0EA036FFE9
2017-12-20 15:26:28: limits,16,253952,254975,00258E3B-090A-F71E-FA35-67862A4FE206
2017-12-20 15:26:28: devinfo,17,254976,255999,5BEEF108-1A26-72CC-9009-CE1C4F97EFA9
2017-12-20 15:26:28: apdp,18,256000,257023,FF02DE10-0634-8D65-F3A6-F2C106096830
2017-12-20 15:26:28: msadp,19,257024,258047,AFA69886-0D12-794F-B2B8-182E8B6D836E
2017-12-20 15:26:28: dpo,20,258048,259071,6A5DD444-EDC6-0975-7248-8867FEE7A810
2017-12-20 15:26:28: spare1,21,259072,262143,CEBB7F6C-0111-B41B-2272-569AD420F845
2017-12-20 15:26:28: misc,22,262144,294911,BF82D982-CFAC-EA0E-4B45-91942204DB13
2017-12-20 15:26:28: persist,23,294912,360447,BF06643E-8F51-237B-0D28-0B199C14F0AB
2017-12-20 15:26:28: modemst1,24,360448,363519,E04AEBC1-5925-68FE-4DCC-EA77E9038039
2017-12-20 15:26:28: modemst2,25,363520,366591,8417A7B8-4006-9175-C0F9-846B44B4E2A9
2017-12-20 15:26:28: fsg,26,366592,369663,ED3127E3-F4F7-A60F-8D49-2C790E709221
2017-12-20 15:26:28: fsc,27,369664,370687,9F0BDD06-5207-2139-CBFF-57E3D6D324BE
2017-12-20 15:26:28: ssd,28,370688,371711,DF246A3F-63E9-398F-1152-0A835A3A091D
2017-12-20 15:26:28: keystore,29,371712,372735,02280F6A-D0B0-05B4-8EC0-A2B388541783
2017-12-20 15:26:28: DDR,30,372736,376831,33A0E627-CD91-5BB3-8C3E-EB4FF1628C98
2017-12-20 15:26:28: sec,31,376832,377855,48470F02-90C6-0F79-C6CD-6AD3214F8BF2
2017-12-20 15:26:28: encrypt,32,377856,378879,F99FAEE6-0929-121B-8B9D-341C7AAFFF87
2017-12-20 15:26:28: eksst,33,378880,379903,95478EC7-9779-BCB7-B719-0B690AB33C82
2017-12-20 15:26:28: rct,34,379904,380927,021E62FE-3B12-BE62-A984-292D8FA57809
2017-12-20 15:26:28: persistent,35,380928,385023,47D47D16-CE0B-D069-E355-32A7291416D9
2017-12-20 15:26:28: spare2,36,385024,393215,84D64CA6-A736-00B5-1F20-EC9B8DD4AC38
2017-12-20 15:26:28: laf,37,393216,491519,26EBE353-E019-6B2F-B3A2-A3EAFDC12ED2
2017-12-20 15:26:28: boot,38,491520,573439,441836A1-4500-548F-5C7D-9B0B67D3EAA8
2017-12-20 15:26:28: recovery,39,573440,655359,70349858-D9AB-5A65-5F45-AB1B2349F1F7
2017-12-20 15:26:28: drm,40,655360,671743,97629E9A-6940-7260-3E03-0428128363E8
2017-12-20 15:26:28: sns,41,671744,688127,CA9C961A-A56A-784E-98ED-422D203BB457
2017-12-20 15:26:28: mpt,42,688128,753663,38B7E3E5-322D-A359-43B9-A206C6727178
2017-12-20 15:26:28: factory,43,753664,847871,EE22CFCB-8973-1A18-C462-05F74E14FC64
2017-12-20 15:26:29: fota,44,847872,868351,B9391BEA-A332-F97A-2C93-EF4FCB8E2CE1
2017-12-20 15:26:29: raw_resources,45,868352,876543,C8B74B09-291E-1661-9181-F97011D73B58
2017-12-20 15:26:29: raw_resourcesbak,46,876544,884735,2722471E-9CF4-3B7A-D660-DB9BE7632F2C
2017-12-20 15:26:29: system,47,884736,9363455,3254FDD9-5609-84CE-EFE5-42A160233B47
2017-12-20 15:26:29: cust,48,9363456,9887743,9ECF3D3B-E229-7A2E-FE72-BD0DD8479DC6
2017-12-20 15:26:29: cache,49,9895936,12419071,89C12426-F027-38D2-FF99-1A61A02C9ACF
2017-12-20 15:26:29: userdata,50,12419072,61046783,E394BCDC-DD6D-77B4-E54F-362B3C9CA81C
2017-12-20 15:26:29: grow,51,61046784,61071326,105D7851-F50E-198B-3BB0-B6640B8ED2A0
2017-12-20 15:26:29: (F_GETPARTS) created yad list: true
------ CUT redundant data here --
2017-12-20 15:26:46: getlog script started
2017-12-20 15:30:02: F_EXIT: started
2017-12-20 15:30:02: EXIT: main->end with code 0
usunięty '/tmp/salt.lock
'
Click to expand...
Click to collapse
amazing thx for verifying.
just use the xda search. there is only one TOT available for v29.
DISCLAIMER
Code:
Your warranty is now void (if you still have one).
Read the steps carefully!
I am not responsible for data loss, bricked devices or devices which will need USB soldering!
If you do not know what you're doing, stop here!
[COLOR=rgb(243, 121, 52)][B]Latest Release:[/B][/COLOR] 22/06/2022 22:58
[B]BATTERY PERCENTAGE FIX FOR 22/06/2022 RELEASE (CURRENT BUILD):[/B]
With latest release (22/06/2022), some people's battery percentage is stucked at the same level and is not updating until reboot. Here is the fix for that. No need to wipe data or do something special. This file contains kernel update only. Just flash directly with netOdin/Odin.
[B][COLOR=rgb(184, 49, 47)]GEAR S3 FRONTIER/CLASSIC ONLY!![/COLOR][/B] Installed and tested on a few SM-R760 Frontier and get succeed. SM-R770 Classic is also confirmed.
[B]BUT [COLOR=rgb(184, 49, 47)]Korean and LTE versions are NOT TESTED. THEY USE DIFFERENT KERNEL CONFIGURATION. IT WILL PROBABLY CAUSE HARD BRICK!! USE YOUR OWN RISK![/COLOR]
[COLOR=rgb(243, 121, 52)]BEFORE INSTALLATION[/COLOR][/B]
[LIST]
[*][COLOR=rgb(184, 49, 47)][B][COLOR=rgb(184, 49, 47)]DISABLE REACTIVATION LOCK[/COLOR][/B][/COLOR]
[*][COLOR=rgb(184, 49, 47)][B]Charge your watch to 100%[/B][/COLOR]
[*]Keep your device charging while installing firmware
[*]Have a stable computer with Wifi
[*]Take note your current Tizen firmware version for going back to Tizen
[*]Backup all your data
[*]Keep your watch close to your wireless adapter
[/LIST]
[B][COLOR=rgb(243, 121, 52)]INSTALLATION [/COLOR][/B][URL='https://mega.nz/file/gFRVxb6K#A0c0dnw2TspeLzo-m9jWnuieG1vTPfh2Mq5vbQzz0a0'][B](View Detailed Document Here)[/B][/URL]
[LIST]
[*]Flashing process is the same as flashing combination or Tizen firmware
[*][COLOR=rgb(184, 49, 47)][B]Wireless flashing takes 15~45 minutes.[/B][/COLOR]
[/LIST]
[LIST=1]
[*]Extract downloaded zip file to get tar file
[*]Enter wireless download mode
[*]Switch to AP mode
[*]Connect to watch from your wireless adapter
[*]Select tar file for AP section
[*]Flash
[/LIST]
[COLOR=rgb(184, 49, 47)][B]DO NOT interrupt flashing process!
DO NOT shutdown your computer or allow your computer to sleep!
DO NOT enter recovery before WearOS boots completely![/B][/COLOR]
[B][COLOR=rgb(65, 168, 95)]WHAT IS WORKING[/COLOR][/B]
[LIST]
[*]WearOS functions (Notifications, Play Store, Google Account, Assistant etc)
[*]Always on display
[*]Wifi
[*]Bluetooth
[*]Vibrator
[*]Bezel (works like crown)
[*]Tap to wake
[*]Palm to suspend
[*]Mic
[*]HRM (Hear Rate Monitor - Sensor)
[*]Sensors (Accelometer, Gyroscope, Light)
[*]Audio
[*]TWRP
[/LIST]
[B][COLOR=rgb(184, 49, 47)]KNOWN BUGS[/COLOR][/B]
[LIST]
[*]Poor Battery Life compared to Tizen (Old device, new operation system)
[*]Audio (Low sound level, bad quality)
[*]HFP calls on watch (Bad noises, distorted sound)
[*]Some menus on Settings belongs to Ticwatch (just ignore them)
[*]Offline charging boots device
[*]GPS is not working
[*]NFC is not working
[*]Step Counter is not working
[*]Some green text above SAMSUNG logo while booting
[*]Same green text on Wireless Download Mode. It prevents debug messages (Switching to AP mode etc) [B]but functionality is not effected.[/B]
[*]If device goes to TWRP, just click Reboot -> System.
[*]Selinux is in Permissive mode
[*]ADB Root is active
[*]KNOX will be tripped!!
[/LIST]
[B][COLOR=rgb(243, 121, 52)]RESETTING WATCH OR CONNECTING NEW DEVICE[/COLOR]
[COLOR=rgb(184, 49, 47)]NEVER use WearOS settings menu to reset watch!!! It is not tested and may be brick your device.[/COLOR][/B]
Option 1: Flash WearOS again
Option 2: Boot to TWRP and Wipe Data [COLOR=rgb(184, 49, 47)][B](IMPORTANT! Be sure “Use rm -rf instead of formatting” is selected on TWRP settings. (TWRP Settings -> General Settings)[/B][/COLOR]
[COLOR=rgb(243, 121, 52)][B]GOING BACK TO TIZEN[/B][/COLOR]
[LIST=1]
[*]Find and download your Tizen firmware from internet. (Remember, you took note your firmware version before installation)
[*]If you can not find your firmware you can try [URL='https://mega.nz/file/JYoQ2AgY#rqw2jZm_eJHjmGkKz4lzVProxyE1DpZA20jYYce-2ow']THIS TIZEN FIRMWARE[/URL]. [COLOR=rgb(184, 49, 47)][B](It may has different CSC. Be careful!)[/B][/COLOR]
[*]Flash
[/LIST]
[B][COLOR=rgb(243, 121, 52)]TELEGRAM GROUP
SOURCES[/COLOR][/B]
[URL='https://github.com/parasetam0l']Github (parasetam0l)[/URL] for kernel, device tree and other SMDK - Samsung related files.
[B][COLOR=rgb(243, 121, 52)]THANKS TO[/COLOR][/B]
[URL='https://github.com/TO21Consortium/SGSWPlatform']TO21Consortium[/URL] for beautiful SMDK source
[URL='https://github.com/YariKartoshe4ka/redline_kernel_samsung_j4lte']YariKartoshe4k[/URL] for Exynos 7570 kernel source
[URL='https://github.com/Biktorgj/android_device_samsung_pontesolo/tree/master/libsensors']Biktorgj[/URL] for Gear S and SSP sensor sources
[URL='https://wear.revtechs.me/en/download']OneOS [/URL]for TicWatch WearOS2 system dump
Many other developers I came across with Google search.
[USER=12140719]@trapecija[/USER] For SM-R770 Classic feedback
DEVELOPER NOTES :
Soldering USB and Odin USB mode: Done
Install Combination firmware (COMBINATION-FT30_R760XXU2CQL1): Done
Root Access (Combination firmware is pre rooted): Done
Build Tizen Kernel: Done
Upstream Tizen Kernel to latest (from 3.18.14 to 3.18.140): Done
Enable Android configs and disable some Samsung stuff on kernel: Done
Kernel cmdline patch for booting from mmc: Done
TWRP device tree: Done
Build TWRP: Done
MM (memory management) and FB (framebuffer) patch for IOMMU error: Done
PMIC patch for enabling USB: Done
Created fstab file: Done
Update Android Binder kernel driver: Done
Android Boots with ADB support: Done
USB Charging: Done
Mali T720 GPU Driver Update: Done
Decon Framebuffer: Done
S6E36W2X01 LCD Panel: Done
Compile AOSP9: Done
WearOS2 Port: Done
Broadcom 43102 Wifi and Bluetooth SDIO: Done
Palm to suspend: Done
Audio: Partially Fixed (Low sound level and quality)
HFP (Handsfree Protocol): Partially Fixed (Mic works, speaker distorted sound)
Brightness: Done
Vibration: Done
LSM6DSL Accelometer and Gyroscope Sensor: Done
TSL2584 Light Sensor: Done
PPS960 Heart Rate Sensor: Done
SSP Sensor Hub: Partially
Tap to Wake: Done
Always on display: Done
Bezel: Done
THINGS TO DO:
GPS
NFC
Offline charging
Step Counter
Power Optimizations (power.exynos5)
Audio and HFP (mixer_paths.xml)
SSP Sensor Hub
...
...
...
WearOS 3
Code:
ls -l /dev/disk/by-partlabel
lrwxrwxrwx 1 root root 15 Jan 20 23:11 boot -> ../../mmcblk0p8
lrwxrwxrwx 1 root root 15 Jan 20 23:11 cm -> ../../mmcblk0p7
lrwxrwxrwx 1 root root 15 Jan 20 23:11 cpnvcore -> ../../mmcblk0p3
lrwxrwxrwx 1 root root 15 Jan 20 23:11 csa -> ../../mmcblk0p2
lrwxrwxrwx 1 root root 16 Jan 20 23:11 csc -> ../../mmcblk0p11
lrwxrwxrwx 1 root root 16 Jan 20 23:11 module -> ../../mmcblk0p10
lrwxrwxrwx 1 root root 15 Jan 20 23:12 param -> ../../mmcblk0p6
lrwxrwxrwx 1 root root 15 Jan 20 23:11 ramdisk1 -> ../../mmcblk0p5
lrwxrwxrwx 1 root root 15 Jan 20 23:11 ramdisk2 -> ../../mmcblk0p4
lrwxrwxrwx 1 root root 15 Jan 20 23:11 recovery -> ../../mmcblk0p9
lrwxrwxrwx 1 root root 16 Jan 20 23:11 rootfs -> ../../mmcblk0p14
lrwxrwxrwx 1 root root 16 Jan 20 23:11 steady -> ../../mmcblk0p15
lrwxrwxrwx 1 root root 16 Jan 20 23:11 system-data -> ../../mmcblk0p12
lrwxrwxrwx 1 root root 15 Jan 20 23:11 tup -> ../../mmcblk0p1
lrwxrwxrwx 1 root root 16 Jan 20 23:11 user -> ../../mmcblk0p13
Code:
(parted) print
print
Model: MMC FJX7AA (sd/mmc)
Disk /dev/block/mmcblk0: 3909MB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags
1 4194kB 37.7MB 33.6MB tup
2 37.7MB 46.1MB 8389kB ext4 csa
3 46.1MB 48.2MB 2097kB cpnvcore
4 48.2MB 69.2MB 21.0MB ext2 ramdisk2
5 69.2MB 77.6MB 8389kB ext2 ramdisk1
6 77.6MB 86.0MB 8389kB param
7 86.0MB 89.1MB 3146kB cm
8 89.1MB 106MB 16.8MB boot
9 106MB 123MB 16.8MB recovery
10 123MB 139MB 16.8MB ext4 module
11 139MB 339MB 199MB ext4 csc
12 339MB 504MB 166MB ext4 system-data
13 504MB 2538MB 2033MB ext4 user
14 2538MB 3907MB 1369MB ext4 rootfs
15 3907MB 3907MB 262kB steady
I will use
system-data -> /recovery
csc -> /cache
user -> / (system as root)
rootfs -> /data
UPDATE:
I am using
Code:
SM-R870_samsung-freshbl-freshbl-11-RWD1.210503.001-R870XXU1BUH9-user-release-keys.tar.gz
which is referenced from this post. It is Android 11 based WearOS 3. You can also find this file if you search on the internet. This is not a full firmware. Many files are missing. I think they dumped this from a factory device while it is running or they removed some files intentionally.
but I completed missing files for minimal booting. I also fixed Android's binder driver. Now device is booting to Android with working ADB. I can get logs from logcat. Very good!
Next thing is graphics driver. GW4 firmware does not include a surfaceflinger binary. So I built my own surfaceflinger with some modifications. Solis has Mali T720 MP1. I got this from ADB.
Code:
01-23 02:54:06.980 4377 4377 E mali : file /dev/mali0 is not of a compatible version (user 10.6, kernel 10.2)
01-23 02:54:06.986 4377 4377 E mali : ERROR: The DDK is not compatible with any of the Mali GPUs on the system.
01-23 02:54:06.986 4377 4377 E mali : The DDK was built for 0x720 r1p1 status range [0..15], but none of the GPUs matched:
01-23 02:54:06.989 4377 4377 E mali : file /dev/mali0 is not of a compatible version (user 10.6, kernel 10.2)
01-23 02:54:06.989 4377 4377 W libEGL : eglInitialize(0xf3b010a0) failed (EGL_NOT_INITIALIZED)
01-23 02:54:06.990 4377 4377 E libEGL : call to OpenGL ES API with no current context (logged once per thread)
01-23 02:54:06.990 4377 4377 F RenderEngine: eglQueryStringImplementationANDROID(EGL_VERSION) failed
01-23 02:54:06.991 4377 4377 F libc : Fatal signal 6 (SIGABRT), code -1 (SI_QUEUE) in tid 4377 (surfaceflinger), pid 4377 (surfaceflinger)
Things to check:
Code:
libGLES_mali.so (This is main driver library with many other files)
Mali T72x Kernel driver
UPDATE:
I fixed USB charging and added ambient capabilities to kernel (which is needed for surfaceflinger and in general android).
So this error is gone:
Code:
capabilities requested but the kernel does not support ambient capabilities
I also updated tizen_arm MALI kernel drivers from r12p0 to arm r29p0. With proper libGLES_mali.so, DDK error is gone.
I tried to use Exynos 7570 hardware composer from several roms. Now I am facing a problem with lcd panel. LCD panel gives this error.
Code:
01-01 00:00:10.094 222 222 E HWComposer: getAttribute: getDisplayAttribute failed for display 0: BadParameter (4)
01-01 00:00:10.094 222 222 E HWComposer: getDisplayConnectionType: getDisplayConnectionType failed for display 0: Unsupported (8)
Because of this problems, I stopped porting WearOS and started building LineageOS from stratch. Before building process, I have to prepare a device tree. This repos are helpful for preparing device tree.
Code:
https://github.com/LineageOS/android_hardware_samsung
https://github.com/LineageOS/android_hardware_samsung_slsi_exynos5
https://github.com/LineageOS/android_hardware_samsung_slsi_exynos
https://github.com/LineageOS/android_hardware_samsung_slsi_exynos7580
https://github.com/LineageOS/android_hardware_samsung_slsi_libbt
https://github.com/LineageOS/android_kernel_samsung_universal7580
https://github.com/LineageOS/android_hardware_samsung_slsi_openmax
https://github.com/TO21Consortium/SGSWPlatform
Nice work, just keep going! Many of us are looking forward to this, perseverance!
I've been following "the other thread" for years. I really like yours and the way you show progress and steps very clearly. I hope you'll succeed!
Great work!
Thank you all for your good wishes. It's been a busy week for me.
UPDATE:
I built hwcomposer and gralloc from stratch. Now android recognizes our display.
Code:
11-14 01:04:46.884 1956 1956 D hwcomposer: using
11-14 01:04:46.884 1956 1956 D hwcomposer: xres = 360 px
11-14 01:04:46.884 1956 1956 D hwcomposer: yres = 360 px
11-14 01:04:46.884 1956 1956 D hwcomposer: width = 33 mm (277.090000 dpi)
11-14 01:04:46.884 1956 1956 D hwcomposer: height = 33 mm (277.090000 dpi)
11-14 01:04:46.884 1956 1956 D hwcomposer: refresh rate = 56 Hz
11-14 01:04:46.884 1956 1956 V DisplayResourceManagerModule: externalMPP type(4), index(0)
11-14 01:04:46.884 1956 1956 I hwcutils: Open /dev/s5p-smem
11-14 01:04:46.885 1956 1956 V DisplayResourceManagerModule: externalMPP type(5), index(0)
11-14 01:04:46.886 1956 1956 I hwcomposer: PSR info devname = /sys/devices/14830000.decon_fb/psr_info
11-14 01:04:46.886 1956 1956 I hwcomposer: PSR mode = 2 (0: video mode, 1: DP PSR mode, 2: MIPI-DSI command mode)
11-14 01:04:46.886 1956 1956 I hwcomposer: Panel type = 0 (0: Legacy, 1: DSC)
11-14 01:04:46.886 1976 1976 I SurfaceFlinger: Using HWComposer service: 'default'
11-14 01:04:46.888 1956 1956 I HWC2On1Adapter: Found support for HWC virtual displays
11-14 01:04:46.889 1976 1976 I SurfaceFlinger: SurfaceFlinger is starting
11-14 01:04:46.889 1956 1956 E HWC2On1Adapter: Setting active config to 0 for HWC1 config 0
Code:
11-14 01:04:54.226 1976 1976 I RenderEngine: OpenGL ES informations:
11-14 01:04:54.226 1976 1976 I RenderEngine: vendor : ARM
11-14 01:04:54.226 1976 1976 I RenderEngine: renderer : Mali-T720
11-14 01:04:54.226 1976 1976 I RenderEngine: version : OpenGL ES 3.1 v1.r29p0-01rel0.###other-sha0123456789ABCDEF0###
11-14 01:04:54.226 1976 1976 I RenderEngine: extensions: GL_EXT_debug_marker GL_ARM_rgba8 GL_ARM_mali_shader_binary GL_OES_depth24 GL_OES_depth_texture GL_OES_depth_texture_cube_map GL_OES_packed_depth_stencil GL_OES_rgb8_rgba8 GL_EXT_read_format_bgra GL_OES_compressed_paletted_texture GL_OES_compressed_ETC1_RGB8_texture GL_OES_standard_derivatives GL_OES_EGL_image GL_OES_EGL_image_external GL_OES_EGL_image_external_essl3 GL_OES_EGL_sync GL_OES_texture_npot GL_OES_vertex_half_float GL_OES_required_internalformat GL_OES_vertex_array_object GL_OES_mapbuffer GL_EXT_texture_format_BGRA8888 GL_EXT_texture_rg GL_EXT_texture_type_2_10_10_10_REV GL_OES_fbo_render_mipmap GL_OES_element_index_uint GL_EXT_shadow_samplers GL_OES_texture_compression_astc GL_KHR_texture_compression_astc_ldr GL_KHR_texture_compression_astc_hdr GL_KHR_texture_compression_astc_sliced_3d GL_KHR_debug GL_EXT_occlusion_query_boolean GL_EXT_disjoint_timer_query GL_EXT_blend_minmax GL_EXT_discard_framebuffer GL_OES_get_program_binary GL_OES_texture_3D GL_EXT_texture_storage GL_EXT_multisamp
11-14 01:04:54.226 1976 1976 I RenderEngine: GL_MAX_TEXTURE_SIZE = 8192
11-14 01:04:54.226 1976 1976 I RenderEngine: GL_MAX_VIEWPORT_DIMS = 8192
BUT:
Code:
11-14 01:04:57.239 1976 1976 E HWComposer: loadLayerMetadataSupport: getLayerGenericMetadataKeys failed: UNSUPPORTED (8)
11-14 01:04:57.242 1976 1976 I HWComposer: Switching to legacy multi-display mode
11-14 01:04:57.242 1976 1976 E HWComposer: isConnected failed for display 0: Invalid display
11-14 01:04:57.243 1956 2065 E display : [PrimaryDisplay] unknown display attribute 7
11-14 01:04:57.243 1956 2065 E display : [PrimaryDisplay] unknown display attribute 8
11-14 01:04:57.243 1956 2065 E display : [PrimaryDisplay] unknown display attribute 9
11-14 01:04:57.243 1956 2065 E display : [PrimaryDisplay] unknown display attribute 10
11-14 01:04:57.243 1956 2065 E display : [PrimaryDisplay] unknown display attribute 11
11-14 01:04:57.243 1956 2065 E display : [PrimaryDisplay] unknown display attribute 12
11-14 01:04:57.248 1976 2142 W SurfaceFlinger: Ignoring VSYNC request while display is disconnected
11-14 01:04:57.249 1976 2142 W SurfaceFlinger: Ignoring VSYNC request while display is disconnected
11-14 01:04:57.249 1976 2143 W SurfaceFlinger: Ignoring VSYNC request while display is disconnected
11-14 01:04:57.249 1976 2143 W SurfaceFlinger: Ignoring VSYNC request while display is disconnected
11-14 01:04:57.250 1976 2142 W SurfaceFlinger: Ignoring VSYNC request while display is disconnected
11-14 01:04:57.250 1976 2142 W SurfaceFlinger: Ignoring VSYNC request while display is disconnected
11-14 01:04:57.250 1976 1976 E HWComposer: getDisplayConnectionType: getDisplayConnectionType failed for display 0: Unsupported (8)
11-14 01:04:57.254 1976 1976 I FramebufferSurface: framebuffer size has been limited to [360x360] from [360x360]
11-14 01:04:58.099 1976 1976 D SurfaceFlinger: Setting power mode 2 on display 0
11-14 01:04:58.099 1956 2065 I hwcomposer: exynos_setPowerMode:: disp(0), mode(2)
11-14 01:04:58.100 1976 1976 D SurfaceFlinger: Finished setting power mode 2 on display 0
This means we still have incompatibility between hwcomposer and android system. I am missing something. I will double check framebuffer and display permissions. And I also noticed that surfaceflinger from Exynos7570 device uses this libraries.
Code:
solis:/system_root/system/bin # readelf -d surfaceflingerj4lte | grep NEEDED
0x00000001 (NEEDED) Shared library: [[email protected]]
0x00000001 (NEEDED) Shared library: [android.hardware.configstore-utils.so]
0x00000001 (NEEDED) Shared library: [[email protected]]
0x00000001 (NEEDED) Shared library: [vendor.samsung_slsi.hardware.configstore-utils.so]
0x00000001 (NEEDED) Shared library: [[email protected]]
0x00000001 (NEEDED) Shared library: [[email protected]]
0x00000001 (NEEDED) Shared library: [[email protected]]
0x00000001 (NEEDED) Shared library: [[email protected]]
0x00000001 (NEEDED) Shared library: [libbinder.so]
0x00000001 (NEEDED) Shared library: [libcutils.so]
0x00000001 (NEEDED) Shared library: [libdisplayservicehidl.so]
0x00000001 (NEEDED) Shared library: [libhidlbase.so]
0x00000001 (NEEDED) Shared library: [libhidltransport.so]
0x00000001 (NEEDED) Shared library: [libinput.so]
0x00000001 (NEEDED) Shared library: [liblayers_proto.so]
0x00000001 (NEEDED) Shared library: [liblog.so]
0x00000001 (NEEDED) Shared library: [libprocessgroup.so]
0x00000001 (NEEDED) Shared library: [libsync.so]
0x00000001 (NEEDED) Shared library: [libtimestats_proto.so]
0x00000001 (NEEDED) Shared library: [libutils.so]
0x00000001 (NEEDED) Shared library: [libsurfaceflinger.so]
0x00000001 (NEEDED) Shared library: [libSurfaceFlingerProp.so]
0x00000001 (NEEDED) Shared library: [libc++.so]
0x00000001 (NEEDED) Shared library: [libc.so]
0x00000001 (NEEDED) Shared library: [libm.so]
0x00000001 (NEEDED) Shared library: [libdl.so]
But newly compiled one uses
Code:
solis:/system_root/system/bin # readelf -d surfaceflinger | grep NEEDED
0x00000001 (NEEDED) Shared library: [[email protected]]
0x00000001 (NEEDED) Shared library: [android.hardware.configstore-utils.so]
0x00000001 (NEEDED) Shared library: [[email protected]]
0x00000001 (NEEDED) Shared library: [[email protected]]
0x00000001 (NEEDED) Shared library: [[email protected]]
0x00000001 (NEEDED) Shared library: [libbinder.so]
0x00000001 (NEEDED) Shared library: [libcutils.so]
0x00000001 (NEEDED) Shared library: [libdisplayservicehidl.so]
0x00000001 (NEEDED) Shared library: [libhidlbase.so]
0x00000001 (NEEDED) Shared library: [libinput.so]
0x00000001 (NEEDED) Shared library: [liblayers_proto.so]
0x00000001 (NEEDED) Shared library: [liblog.so]
0x00000001 (NEEDED) Shared library: [libprocessgroup.so]
0x00000001 (NEEDED) Shared library: [libsync.so]
0x00000001 (NEEDED) Shared library: [libutils.so]
0x00000001 (NEEDED) Shared library: [libsurfaceflinger.so]
0x00000001 (NEEDED) Shared library: [libSurfaceFlingerProp.so]
0x00000001 (NEEDED) Shared library: [libc++.so]
0x00000001 (NEEDED) Shared library: [libc.so]
0x00000001 (NEEDED) Shared library: [libm.so]
0x00000001 (NEEDED) Shared library: [libdl.so]
Either there is a misconfiguration on my device tree or some things have changed with Android 11. I see that system boots to setup screen from adb logs but no display. Let's find what causes this. (kernel, hwcomposer,gralloc, exynos libraries or something else)
GOOOD NEWS AND BAD NEWS:
I successfully built a Lineage 18.1 rom. But due to massive HAL changes, framebuffer and hardware composer incompability, display was never worked. So I decided start from earlier Android version that we hope HWC is working. With the big help of this repository, I prepared an AOSP M build environment with custom surfaceflinger, samsung hardware, and solis device tree (with small changes on smdk7270 device tree). I also worked on kernel. Downgraded binder and mali drivers for Android M. Patched decon framebuffer, lcd and backlight. Built AOSP on Ubuntu 14. Time for good news.
GOOD NEWS: Hello Android on Gear S3
BAD NEWS: Nothing is working except display (touchscreen is also working) and USB. We have a lot of work to do. Now it is time to build and upgrade Android version by version.
I noticed that BEZEL is also working! I think it is working like a middle scroll button of a computer mouse. I did not tested too much. When you rotate bezel, A black mouse pointer comes to screen and page scrolls.
Not sure if you allready find something usefull inside AKI Source...
Gear S3 Root and Kernel Source! (Android Wear Port Thread)
Hey guys! Some of you might know me from the LG G5 scene, but I have since moved on from there and am hoping to make some progress with the Gear S3 :) After doing some digging and paying zero attention in class today, I came across the kernel...
forum.xda-developers.com
SEC_Android_Independent_EVT0.0_E7270_BSP_KERNEL.tar.zip
SEC_Android_Independent_EVT0.0_E7270_BSP_u-boot.tar.zip
GitHub - naverlabs/aki: AKI open source repository
AKI open source repository. Contribute to naverlabs/aki development by creating an account on GitHub.
github.com
Only as info...
Best Regards
Hey, good work! I want to thank you @parasetam0l and @adfree for your hard work, just for a smartwatch that has begun to be forgotten.
I have a bit of experience in coding myself and I'll be ready for helping you in whatever testing you need. (After the soldering part is done and all the installation can be done without any -possible- physical damage)
I can't wait to use Wear OS in my watch, I've been reading and waiting for this to happen for sooo long
Is there any significant difference in source code of the SM-R760 and SM-R770?
Only the first one was uploaded by Samsung and I have the second one.
If I'm not mistaken they are the frontier and classic models so they might be identical in firmware.
Hello all,
I am trying to keep this topic as up to date as possible. Due to my job, I haven't been able to have enough time for this project for the last few weeks. But I am doing little things day by day.
adfree said:
Not sure if you allready find something usefull inside AKI Source...
Gear S3 Root and Kernel Source! (Android Wear Port Thread)
Hey guys! Some of you might know me from the LG G5 scene, but I have since moved on from there and am hoping to make some progress with the Gear S3 :) After doing some digging and paying zero attention in class today, I came across the kernel...
forum.xda-developers.com
SEC_Android_Independent_EVT0.0_E7270_BSP_KERNEL.tar.zip
SEC_Android_Independent_EVT0.0_E7270_BSP_u-boot.tar.zip
GitHub - naverlabs/aki: AKI open source repository
AKI open source repository. Contribute to naverlabs/aki development by creating an account on GitHub.
github.com
Only as info...
Best Regards
Click to expand...
Click to collapse
@adfree
I looked at this repository. Only kernel and UBOOT source. It is also based AOSP 7. Nothing for Exynos 7270 specific device files. For now, no work needed for kernel side and we have combination SBOOT which allows booting Android. Thank you for your help.
lavasbey said:
Hey, good work! I want to thank you @parasetam0l and @adfree for your hard work, just for a smartwatch that has begun to be forgotten.
I have a bit of experience in coding myself and I'll be ready for helping you in whatever testing you need. (After the soldering part is done and all the installation can be done without any -possible- physical damage)
I can't wait to use Wear OS in my watch, I've been reading and waiting for this to happen for sooo long
Click to expand...
Click to collapse
@lavasbey
At this time no testing needed because of nothing to test I am heavily editing gpu and lcd drivers. When they are done, it will be impossible to physically damage to watch. With USB we can always flash our device even it is dead. For wireless download mode I can not promise anything If some testing needed, I will contact you. Thank you for your good wishes and wanting to help.
I will try to explain what I am doing and I want to reach.
As we know, WearOS is based on AOSP source, but its framework part is closed source. We can say that WearOS is 80% same as full Android. For porting WearOS, we need a donor device system dump. I have
Asus Zenwatch 2 dump: WearOS2 Android 6 (too old),
Mi Watch dump: WearOS2 H MR2 Android 9 (Chinese)
TicWatch Pro dump: WearOS2 H Android 9
Galaxy Watch 4 dump: WearOS3 Android 11.
To run WearOS on a new device:
Copy all system and ramdisk files from donor device to new device.
Replace device specific files (init, fstab, rc files, hardware libraries, vendor libraries, binaries etc which we got from our AOSP build)
Get screen, USB, ADB working and solve errors from logs.
Solve driver issues.
Porting WearOS gets easier after working AOSP on device. We can build necessary libraries from source and replace donor device's libraries with our compiled ones.
My first goal is make AOSP 9 working for porting WearOS2. Because latest WearOS2 based on Android H MR2. My next goal is make AOSP 11 working for WearOS3. We can not use smdk7270 or exynos7580 source directly on Android 9 or 11. Too much compile errors. So I will try to build AOSP version by version and solve problems step by step. We see that AOSP 6 is working. I also built AOSP 7 and it is also working.
After Android 8, things changed. Google divided hardware management to HALs, libraries and services. First stage mount, system as root, vndk system showed themselves. I am solving problems on device tree and samsung libraries for building newer AOSP. Whenever we run AOSP 8, it will be easier to reach AOSP 11 and WearOS3.
I just need some more time. Stay tuned for good news.
Granat1 said:
Is there any significant difference in source code of the SM-R760 and SM-R770?
Only the first one was uploaded by Samsung and I have the second one.
If I'm not mistaken they are the frontier and classic models so they might be identical in firmware.
Click to expand...
Click to collapse
Hello @Granat1,
As I discovered SM-R760 uses tizen_solis_defconfig, SM-R770 uses tizen_pop_defconfig. So their kernel configurations are different. I am working on SM-R760 for now so I am not 100% sure. But I know it's just like you said. They should have same hardware and firmware.
EDIT: I read from another thread, tizen_pop_defconfig may be using for SM-R600 (Samsung Gear Sport) and tizen_solis_defconfig is for SM-R760 and SM-R770 (Gear S3 frontier-classic). As I said I am not sure. I am using tizen_solis_defconfig for Gear S3 SM-R760.
Finally,
Display drivers made me tired. I successfully ported Exynos7570 framebuffer and Mali gpu drivers. I replaced dummy LCD driver with LCD driver from Tizen kernel and solved compilation errors. I also patched decon for right RGB colors. Now display is working as expected. It still needs some operation for always on display but that's enough work for the screen for now.
I compiled AOSP9. As I said, with a working Android 9 porting WearOS 2 will get easier. Here is the proof
I can not pass setup screen, because bluetooth is not working. Tizen's bluetooth initialization procedure is different than Android. Gear S3 uses Broadcom BCM43012. Now I am searching Android devices which use this chip then I will fix the bluetooth.
parasetam0l said:
Finally,
Display drivers made me tired. I successfully ported Exynos7570 framebuffer and Mali gpu drivers. I replaced dummy LCD driver with LCD driver from Tizen kernel and solved compilation errors. I also patched decon for right RGB colors. Now display is working as expected. It still needs some operation for always on display but that's enough work for the screen for now.
I compiled AOSP9. As I said, with a working Android 9 porting WearOS 2 will get easier. Here is the proof
View attachment 5570925
I can not pass setup screen, because bluetooth is not working. Tizen's bluetooth initialization procedure is different than Android. Gear S3 uses Broadcom BCM43012. Now I am searching Android devices which use this chip then I will fix the bluetooth.
Click to expand...
Click to collapse
dude you're doing a great job. Can't wait to flash WearOs on my device if it will be a thing in the future!
Dude, thanks a lot for your work! Amazing
I have a active 2 don't know about coding but I think it could work in R820 too ??
pedromms86 said:
Dude, thanks a lot for your work! Amazing
I have a active 2 don't know about coding but I think it could work in R820 too ??
Click to expand...
Click to collapse
Hello, thank you!
This work is Gear S3 (SM-R760, SM-R770) only. It will not work on other devices.
I took a quick look at the features of GWA2 (SM-R820). It has Exynos 9110 with Mali T720MP1 (which is the same as Gear S3). GWA2 also has USB connection (with soldering), SBOOT from combination firmware (necessary for booting something other than tizen) and kernel source (for android specific code). So yes, it is possible to port WearOS. Porting system part will be easy. Difficult part is porting drivers for example sensors.
Thanks for the great work!!
I am looking forward to this project and wishing you luck!
I am wondering if I can install this port for my device in the future? I have Gear S3 Frontier (SM-R765K) Korean version. Also do I need to solder the usb to the device? Or can I flash it via wireless connection?
Thanks for the good work and good luck!
Hi all, this is my fist post....
As subject I have a problem with my poor xiaomi MDZ-24-AA...
no boot...no led...nothing on screen
This is the loop serial output captured with PL2303
GXL:BL1:9ac50e:bb16dc;FEAT:BDFD71BC:0;POC:1;RCY:0;SPI:0;CHK:A7;EMMC:0;READ:0;0.0;0.0;CHK:5E6;READ:0;0.0;0.0;CHK:5E6;READ:0;0.0;0.0;CHK:0;
TE: 2330954
BL2 Built : 10:18:52, Sep 14 2020. gxl g9f162b4-dirty - [email protected]
set vcck to 1120 mv
set vddee to 1000 mv
id=3
DDR4 board
CPU clk: 1200MHz
DDR scramble enabled
DDR4 chl: Rank0+1 @ 1056MHz - FAIL
DDR4 chl: Rank0 @ 1056MHz
bist_test rank: 0 19 07 2b 24 11 38 1a 08 2d 28 14 3c 15 04 26 28 16 3b 1b 08 2e 27 17 38 751 - PASS
Rank0: 1024MB(auto)-2T-18
AddrBus test pass!
eMMC boot @ 2
sw8 s
emmc switch 3 ok
BL2: rpmb counter: 0x00000020
emmc switch 2 ok
Load fip header from eMMC, src: 0x0000c200, des: 0x01400000, size: 0x00004000, part: 2
aml log : R1024 check pass!
New fip structure!
Load bl30 from eMMC, src: 0x00010200, des: 0x01700000, size: 0x0000d600, part: 2
aml log : R1024 check pass!
Load bl31 from eMMC, src: 0x00020200, des: 0x01700000, size: 0x0002b400, part: 2
aml log : R1024 check pass!
Load bl32 from eMMC, src: 0x0004c200, des: 0x01700000, size: 0x0003e200, part: 2
aml log : R1024 check pass!
Load bl33 from eMMC, src: 0x0008c200, des: 0x01700000, size: 0x0007f600, part: 2
sd/emmc cmd 18 arg 0x00000761 status 01ff3000
sdio read data fail
Load fip header from eMMC, src: 0x0000c200, des: 0x01400000, size: 0x00004000, part: 0
emmc switch 0 ok
sd/emmc cmd 18 arg 0x00000061 status a1ff3000
sdio read data fail
Load fip header from eMMC, src: 0x0000c200, des: 0x01400000, size: 0x00004000, part: 1
emmc switch 1 ok
can someone help me ?
Thanks
device always died after trying the file and method at this address
Xiaomi Mi TV Stick - Обсуждение - 4PDA
Xiaomi Mi TV Stick - Обсуждение, [ТВ-приставка]
4pda.to
Step-by-step instructions for restoring a stick with an old bootloader:
#
1. Stick MDZ-24-AA
- Cyclic reboot on the logo;
- Does not enter the recovery;
- Old bootloader installed*;
*If you have a new bootloader, then this method is not for you. It is necessary to unsolder the chip and restore it using the programmer. The author of the video does this too.
2. What is needed for firmware:
- USB-UART cable for firmware, for example PL2303 + drivers;
- micro usb cable for connection with PC;
- Putty program;
- adb drivers;
- backup from the working stick (from the author of the recovery method https://disk.yandex.ru/d/aL5XolrdAbTJ0g )
3. Solder to the connectors on the stick.
Connect RX from PL2303 to TX on the stick,
connect TX from PL2303 to RX on the stick and connect GND.
4. Install the PL2303 drivers.
Install the Putty program.
Install ADB drivers.
(You can download from the link at the bottom of the instructions)
5. Connect the PL2303 to the PC. We check the device manager, if it is not recognized, we put the necessary drivers. We remember the number of the assigned COM port.
6. Run the pre-installed Putty - select the Serial connection, enter the COM port number PL2303, set the speed to 115200 and click Open. Connect micro usb cable to PC. Press the Inter key several times until the command prompt appears. If the commands went, congratulations, you have an old bootloader and you can restore the backup.
7. Enter the command: fastboot
Run the command line, go to the ADB folder with the command: cd c:\adb (the address of the adb folder) and enter the following commands one by one:
fastboot oem unlock
fastboot flashing unlock
fastboot unlock_critical
You can check the unlock status with the command
fastboot oem device- info
8. Reconnect PL2303 to PC. We repeat point 5. Enter the command: update
The stick goes into firmware mode. Open the previously unpacked folder with the author's backup. First, install the driver from the backup folder, this should be done every time you plan to make a dump or upload a dump.
There are batch files in the backup:
- a.bat automatically dumps stick sections;
- b.bat automatically downloads the backup to the stick.
After the end, the firmware window will close.
9. Now we connect the stick to the TV and set it up again.
Necessary programs and drivers for firmware
definitely don't try
won't boot in download or fastboot recovery mode
now i got some progress
will be seen from the log
a pair of pin shorts and
GXL:BL1:9ac50e:bb16dc;FEAT:BDFD71BC:0;POC:3;RCY:0;EMMC:0;READ:0;0.0;0.0;CHK:0;
GXL:BL1:9ac50e:bb16dc;FEAT:BDFD71BC:0;POC:0;RCY:0;USB:0;
let's solve this one more job done I have dump files that I got from my own device, but it doesn't work for me because uboot doesn't work. When I short-circuit 2 pins, the device The GX-CHIP is seen as hardware connected to the computer. Let's find the process we will do next, let's solve the lock of the device
GXL:BL1:9ac50e:bb16dc;FEAT:BDFD71BC:0;POC:3;RCY:0;EMMC:0;READ:0;0.0;0.0;CHK:0;
TE: 128917
BL2 Built : 10:18:52, Sep 14 2020. gxl g9f162b4-dirty - [email protected]
set vcck to 1120 mv
set vddee to 1000 mv
id=3
DDR4 board
CPU clk: 1200MHz
DDR scramble enabled
DDR4 chl: Rank0+1 @ 1056MHz - FAIL
DDR4 chl: Rank0 @ 1056MHz
bist_test rank: 0 12 00 25 2b 1a 3c 13 00 27 2f 1e 41 0f 00 1f 30 1f 42 15 00 2a 2b 19 3e 706 - PASS
Rank0: 1024MB(auto)-2T-18
AddrBus test pass!
eMMC boot @ 0
sw8 s
emmc switch 3 ok
BL2: rpmb counter: 0x00000020
emmc switch 0 ok
Load fip header from eMMC, src: 0x0000c200, des: 0x01400000, size: 0x00004000, part: 0
aml log : R1024 check pass!
New fip structure!
Load bl30 from eMMC, src: 0x00010200, des: 0x01700000, size: 0x0000d600, part: 0
aml log : R1024 check pass!
Load bl31 from eMMC, src: 0x00020200, des: 0x01700000, size: 0x0002b400, part: 0
aml log : R1024 check pass!
Load bl32 from eMMC, src: 0x0004c200, des: 0x01700000, size: 0x0003e200, part: 0
aml log : R1024 check pass!
Load bl33 from eMMC, src: 0x0008c200, des: 0x01700000, size: 0x00080e00, part: 0
aml log : R1024 check pass!
aml log : SIG CHK : 231 for address 0x01700000
Load fip header from eMMC, src: 0x0000c200, des: 0x01400000, size: 0x00004000, part: 1
emmc switch 1 ok
GXL:BL1:9ac50e:bb16dc;FEAT:BDFD71BC:0;POC:0;RCY:0;USB:0;
begins to wait to continue processing
short point for emmc to usb
dijitalxyz said:
device always died after trying the file and method at this address
Click to expand...
Click to collapse
I guess the problem is in the vbmeta partition and the integrity check (Android Verified Boot). During startup, the bootloader checks the partition hashes (system, vendor, dtb etc...) with those stored in vbmeta. In case of a mismatch - bootloop.
This archive from 4pda contains partitions of firmware with build date May 26 2020 (PI.293) (including vbmeta) BUT lacks a dtb partition. Accordingly, after you have completed the instructions for restore, the old dtb from the firmware Sep 14 2020 (PI.536) remains in internal memory. Therefore, the bootloader detects a dtb hash mismatch and goes to bootloop.
You can try edit vbmeta.img for disabling integrity check by adding the AVB disable flag. To do this, open vbmeta.img in the hex editor. Go to the offset 7B, replace 00 with 03. Save it.
Spoiler: Hex
Then you need to get into the flash mode (fastboot or update/UBT) using the uboot console via uart (like in Instruction for restoring point 6-7), and flash this edited vbmeta.
dijitalxyz said:
short point for emmc to usb
Click to expand...
Click to collapse
Hi, did you to restore the stick ???
How did you pair the short points?
is there a way to recover?
GXL:BL1:9ac50e:bb16dc;FEAT:BDFD71BC:0;POC:3;RCY:0;EMMC:0;READ:0;0.0;0.0;CHK:0;
TE: 136033
BL2 Built : 10:18:52, Sep 14 2020. gxl g9f162b4-dirty - [email protected]
set vcck to 1120 mv
set vddee to 1000 mv
id=3
DDR4 board
CPU clk: 1200MHz
DDR scramble enabled
DDR4 chl: Rank0+1 @ 1056MHz - FAIL
DDR4 chl: Rank0 @ 1056MHz
bist_test rank: 0 18 02 2f 28 16 3a 13 00 27 2d 1b 3f 15 00 2b 2e 1d 3f 19 04 2f 29 18 3a 706 - PASS
Rank0: 1024MB(auto)-2T-18
AddrBus test pass!
eMMC boot @ 0
sw8 s
emmc switch 3 ok
BL2: rpmb counter: 0x00000020
emmc switch 0 ok
Load fip header from eMMC, src: 0x0000c200, des: 0x01400000, size: 0x00004000, part: 0
aml log : R1024 check pass!
New fip structure!
Load bl30 from eMMC, src: 0x00010200, des: 0x01700000, size: 0x0000d600, part: 0
aml log : R1024 check pass!
Load bl31 from eMMC, src: 0x00020200, des: 0x01700000, size: 0x0002b400, part: 0
aml log : R1024 check pass!
Load bl32 from eMMC, src: 0x0004c200, des: 0x01700000, size: 0x0003e200, part: 0
aml log : R1024 check pass!
Load bl33 from eMMC, src: 0x0008c200, des: 0x01700000, size: 0x00080e00, part: 0
aml log : R1024 check pass!
NOTICE: BL3-1: v1.0(release):129a6bc
NOTICE: BL3-1: Built : 17:09:37, Apr 25 2019
[BL31]: GXL CPU setup!
NOTICE: BL3-1: GXL secure boot!
NOTICE: BL3-1: BL33 decompress pass
mpu_config_enable:system pre init ok
dmc sec lock
[Image: gxl_v1.1.3377-2941e55e3 2020-07-08 17:19:09 [email protected]]
OPS=0xb4
21 0d b4 00 05 d4 ef 6c f8 a2 76 d1 10 3a 4e ae
[0.732014 Inits done]
secure task start!
high task start!
low task start!
INFO: BL3-2: ATOS-V2.4-239-g48b8c37d #1 Wed Feb 5 09:34:09 UTC 2020 arm
INFO: BL3-2: Chip: GXL Rev: D (21 - B0:2)
INFO: BL3-2: crypto engine DMA
INFO: BL3-2: secure time TEE
INFO: BL3-2: CONFIG_DEVICE_SECURE 0xb200000e
U-Boot 2015.01-g2e3e77d-dirty (Nov 07 2020 - 00:20:15), Build: jenkins-aquaman-664
DRAM: 1 GiB
Relocation Offset is: 36e80000
gpio: pin gpiodv_24 (gpio 43) value is 1
register usb cfg[0][1] = 0000000037f4c4f8
[CANVAS]canvas init
MMC: aml_priv->desc_buf = 0x0000000033e80ab0
aml_priv->desc_buf = 0x0000000033e82df0
SDIO Port B: 0, SDIO Port C: 1
co-phase 0x2, tx-dly 0, clock 400000
co-phase 0x2, tx-dly 0, clock 400000
co-phase 0x2, tx-dly 0, clock 400000
emmc/sd response timeout, cmd8, status=0x1ff2800
emmc/sd response timeout, cmd55, status=0x1ff2800
co-phase 0x2, tx-dly 0, clock 400000
co-phase 0x2, tx-dly 0, clock 40000000
[mmc_startup] mmc refix success
init_part() 297: PART_TYPE_AML
[mmc_init] mmc init success
is there a way to recover?
czemu netflix nie dziala po wymianie emmc
hello why this netflix does not work after replacing the memory I have a damp from a good stick and it does not work on another