[Tool] Samloader (SamFirm / Frija replacement)

Search This thread

Neil Zhang

New member
Nov 8, 2018
4
2
Hey, what is "region" ? I'm guessing it a "country" -region ?
In the Github readme page it's using "BTU" as an example, but what is BTU ? How do I define this variable ? Is there a list ?
I'm using Samsung S8 Japanese version btw.
For example, this is part of "region" code from s10 5G, BTU is United Kindom. You can always get the region code and other information from sammobile or other "ROM downloading" web-site.

 
  • Like
Reactions: Primokorn

ap4ss3rby

Senior Member
Sep 9, 2015
158
49
Thank you so much for samloader. That said is it possible to show me how to use or add resume functionality?
 

breversa

Senior Member
Mar 21, 2012
565
171
LG G4
Fairphone 2
What I am doing wrong ?

Bash:
$ samloader -m "SM-A405FN" -r "XEF" -v "A405FNXXU4CUJ2/A405FNOXM4CUJ2/A405FNXXU4CUJ2/A405FNXXU4CUJ2" -O . download
usage: samloader [-h] -m DEV_MODEL -r DEV_REGION {download,checkupdate,decrypt} ...
samloader: error: argument command: invalid choice: 'A405FNXXU4CUJ2/A405FNOXM4CUJ2/A405FNXXU4CUJ2/A405FNXXU4CUJ2' (choose from 'download', 'checkupdate', 'decrypt')
 
Last edited:
  • Like
Reactions: Elmarigo

breversa

Senior Member
Mar 21, 2012
565
171
LG G4
Fairphone 2
Hum… not much better:
Bash:
$ samloader download -m "SM-A405FN" -r "XEF" -v "A405FNXXU4CUJ2/A405FNOXM4CUJ2/A405FNXXU4CUJ2/A405FNXXU4CUJ2" -O .
usage: samloader [-h] -m DEV_MODEL -r DEV_REGION {download,checkupdate,decrypt} ...
samloader: error: the following arguments are required: -m/--dev-model, -r/--dev-region
 

breversa

Senior Member
Mar 21, 2012
565
171
LG G4
Fairphone 2
Okay, it appears that the order of arguments matters!

Here's what worked for me:
Bash:
$ samloader -m "SM-A405FN" -r "XEF" download -v "A405FNXXU4CUJ2/A405FNOXM4CUJ2/A405FNXXU4CUJ2/A405FNXXU4CUJ2" -O .

download needs to be after -m and -r but before -v and -O

EDIT:
Same goes for decrypt:

Bash:
$ samloader -m "SM-A405FN" -r "XEF" decrypt -v "A405FNXXU4CUJ2/A405FNOXM4CUJ2/A405FNXXU4CUJ2/A405FNXXU4CUJ2" -i "SM-A405FN_2_20211030045838_jg43vcqbiw_fac.zip.enc4" -o "SM-A405FN_2_20211030045838_jg43vcqbiw_fac.zip"
 
Last edited:

prasannaek

Member
Jan 11, 2012
18
1
can't frija V1.4.4 . it gives a massage"join with us on escord" and applcation automatically closed. Need Help
 

Attachments

  • Untitled.png
    Untitled.png
    113.1 KB · Views: 40

timg11

Senior Member
Jul 20, 2010
196
21
Google Pixel 3 XL
Google Pixel 5
I'm trying samloader to get firmware for Samsung SM-T733 Tab S7 FE.

Downloaded from https://github.com/samloader/samloader and installed in Ubuntu system.

Code:
pip3 install git+https://github.com/samloader/samloader.git

Attempt to run gives error 403:
Code:
tim@Tethys-Lx64:~$ python3 -m samloader  -m "SM-T733" -r "XAA" checkupdate
Traceback (most recent call last):
  File "/usr/lib/python3.8/runpy.py", line 194, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/usr/lib/python3.8/runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "/home/tim/.local/lib/python3.8/site-packages/samloader/__main__.py", line 6, in <module>
    main()
  File "/home/tim/.local/lib/python3.8/site-packages/samloader/main.py", line 71, in main
    print(versionfetch.getlatestver(args.dev_model, args.dev_region))
  File "/home/tim/.local/lib/python3.8/site-packages/samloader/versionfetch.py", line 23, in getlatestver
    raise Exception("Model or region not found (403)")
Exception: Model or region not found (403)

I looked in the source at /home/tim/.local/lib/python3.8/site-packages/samloader/versionfetch.py

This code creates the following URL:
Code:
https://fota-cloud-dn.ospserver.net/firmware/XAA/SM-T733/version.xml

When I put that URL into a browser, it returns:

<Error>
<Code>AccessDenied</Code>
<Message>Access Denied</Message>
<RequestId>FZXR7YAAHGMG4RXY</RequestId>
<HostId>
rKhM/myQ0GABm0yUVzXVcHaTE7R+QcX3IzsRO/8zXjtONGQ1aTcbME5luQmXLa8PcjoNm3x4mEg=
</HostId>
</Error>

Is this server no longer available, or has it moved?

EDIT - the proper region code is XAR. With that query, the URL returns data. I was working with frija when I discovered XAR was needed, so I didn't actually go back to try to download the firmware with samloader.
 
Last edited:

smarf11

Member
May 9, 2023
5
0
Hey team.
Forgive my ignorance as I am a bit of an android/linux rookie.
I'm not sure if it is a problem my end or if the server is down. No matter what region or model. This is the output I get:

Code:
samloader -m SM-G975F -r NZC checkupdate                                                       ✔ 
Traceback (most recent call last):
File "/home/fred/.local/bin/samloader", line 8, in <module>
sys.exit(main())
File "/home/fred/.local/lib/python3.10/site-packages/samloader/main.py", line 71, in main
print(versionfetch.getlatestver(args.dev_model, args.dev_region))
File "/home/fred/.local/lib/python3.10/site-packages/samloader/versionfetch.py", line 24, in getlatestv
er
req.raise_for_status()
File "/usr/lib/python3.10/site-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://fota-cloud-dn.ospserver.net/firm
ware/NZC/SM-G975F/version.xml


URL spits out:

This XML file does not appear to have any style information associated with it. The document tree is shown below.

Code:
<versioninfo>
<url>https://fota-cloud-dn.ospserver.net/firmware/</url>
<firmware>
<model>SM-G975F</model>
<cc>NZC</cc>
<version>
<latest o="12">G975FXXSGHWC1/G975FOXMGHWA3/G975FXXSGHWB3</latest>
<upgrade>
<value rcount="3" fwsize="1381041546">G975FXXS9EUB1/G975FOXM9EUA4/G975FXXU9EUA4</value>
<value rcount="3" fwsize="180498937">G975FXXSDFUI5/G975FOXMDFUI5/G975FXXSDFUI5</value>
<value rcount="3" fwsize="1381145998">G975FXXU9EUA4/G975FOXM9EUA4/G975FXXU9EUA4</value>
<value rcount="1" fwsize="1426646688">G975FXXSEGVA9/G975FOXMEGVA4/G975FXXUEGVA2</value>
<value rcount="2" fwsize="2336048019">G975FXXSEFUL1/G975FOXMEFUJ2/G975FXXSEFUJ2</value>
<value rcount="3" fwsize="772897097">G975FXXSBFUE6/G975FOXMBFUE6/G975FXXSBFUE6</value>
<value rcount="1" fwsize="1204728996">G975FXXUFHVE1/G975FOXMFHVE1/G975FXXUFHVE1</value>
<value rcount="1" fwsize="1143932490">G975FXXUFHVG4/G975FOXMFHVG4/G975FXXUFHVG4</value>
<value rcount="3" fwsize="188634912">G975FXXSCFUH5/G975FOXMCFUH3/G975FXXUCFUH3</value>
<value rcount="1" fwsize="1425361119">G975FXXUEGVA4/G975FOXMEGVA4/G975FXXUEGVA2</value>
<value rcount="3" fwsize="167765605">G975FXXSEFUJ2/G975FOXMEFUJ2/G975FXXSEFUJ2</value>
<value rcount="3" fwsize="773038481">G975FXXUAFUE3/G975FOXMAFUE3/G975FXXUAFUE1</value>
<value rcount="1" fwsize="1227792606">G975FXXUEHVC6/G975FOXMEHVC6/G975FXXUEHVB9</value>
<value rcount="3" fwsize="889430710">G975FXXU9FUBD/G975FOXM9FUBD/G975FXXU9FUBD</value>
<value rcount="1" fwsize="247596015">G975FXXUGHVJ5/G975FOXMGHVJ5/G975FXXUGHVJ1</value>
<value rcount="1" fwsize="219369124">G975FXXSGHWA3/G975FOXMGHWA3/G975FXXSGHWA1</value>
<value rcount="3" fwsize="188340961">G975FXXUCFUH3/G975FOXMCFUH3/G975FXXUCFUH3</value>
<value rcount="3" fwsize="771988420">G975FXXSBFUF3/G975FOXMBFUE6/G975FXXSBFUE6</value>
</upgrade>
</version>
</firmware>
<polling>
<period>1</period>
<time>15</time>
<range>23</range>
</polling>
<ActiveDeviceInfo>
<CycleOfDeviceHeartbeat>0</CycleOfDeviceHeartbeat>
<ServiceURL/>
</ActiveDeviceInfo>
<WiFiConnectedPollingInfo>
<Cycle/>
<Activated>FALSE</Activated>
</WiFiConnectedPollingInfo>
</versioninfo>

Any help would be greatly appreciated
✌️
 

alecxs

Forum Moderator
Staff member
Feb 17, 2016
4,623
7
3,860
gitlab.com
try with
Code:
samloader -m SM-G975F -r NZC download -v G975FXXSGHWC1/G975FOXMGHWA3/G975FXXSGHWB3/G975FXXSGHWC1 -O .
Screenshot_2023-05-09-08-57-55-631_tk.zwander.samsungfirmwaredownloader.jpg
 

smarf11

Member
May 9, 2023
5
0
try with
Code:
samloader -m SM-G975F -r NZC download -v G975FXXSGHWC1/G975FOXMGHWA3/G975FXXSGHWB3/G975FXXSGHWC1 -O .

Thanks.I'm not too sure of the reason for no output with the 975F? I also have a galaxy s4 and s7. The same method does not work. Has the firmware been removed for those devices? I was able to a couple years back with samloader but not now. I've lost those backups.


Code:
samloader -m GT-I9505 -r NZC download -v I9505XXSHPL1/I9505NZCHOJ1/I9505XXSHPL1 -O ~/Downloads
Traceback (most recent call last):
  File "/home/fred/.local/bin/samloader", line 8, in <module>
    sys.exit(main())
  File "/home/fred/.local/lib/python3.10/site-packages/samloader/main.py", line 37, in main
    path, filename, size = getbinaryfile(client, args.fw_ver, args.dev_model, args.dev_region)
  File "/home/fred/.local/lib/python3.10/site-packages/samloader/main.py", line 90, in getbinaryfile
    raise Exception("DownloadBinaryInform returned {}, firmware could not be found?".format(status))
Exception: DownloadBinaryInform returned 400, firmware could not be found?
 
Last edited:

Viriathe

Member
May 13, 2023
6
11
Hey team.
Forgive my ignorance as I am a bit of an android/linux rookie.
I'm not sure if it is a problem my end or if the server is down. No matter what region or model. This is the output I get:

Code:
samloader -m SM-G975F -r NZC checkupdate                                                       ✔
Traceback (most recent call last):
File "/home/fred/.local/bin/samloader", line 8, in <module>
sys.exit(main())
File "/home/fred/.local/lib/python3.10/site-packages/samloader/main.py", line 71, in main
print(versionfetch.getlatestver(args.dev_model, args.dev_region))
File "/home/fred/.local/lib/python3.10/site-packages/samloader/versionfetch.py", line 24, in getlatestv
er
req.raise_for_status()
File "/usr/lib/python3.10/site-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://fota-cloud-dn.ospserver.net/firm
ware/NZC/SM-G975F/version.xml


URL spits out:

This XML file does not appear to have any style information associated with it. The document tree is shown below.

Code:
<versioninfo>
<url>https://fota-cloud-dn.ospserver.net/firmware/</url>
<firmware>
<model>SM-G975F</model>
<cc>NZC</cc>
<version>
<latest o="12">G975FXXSGHWC1/G975FOXMGHWA3/G975FXXSGHWB3</latest>
<upgrade>
<value rcount="3" fwsize="1381041546">G975FXXS9EUB1/G975FOXM9EUA4/G975FXXU9EUA4</value>
<value rcount="3" fwsize="180498937">G975FXXSDFUI5/G975FOXMDFUI5/G975FXXSDFUI5</value>
<value rcount="3" fwsize="1381145998">G975FXXU9EUA4/G975FOXM9EUA4/G975FXXU9EUA4</value>
<value rcount="1" fwsize="1426646688">G975FXXSEGVA9/G975FOXMEGVA4/G975FXXUEGVA2</value>
<value rcount="2" fwsize="2336048019">G975FXXSEFUL1/G975FOXMEFUJ2/G975FXXSEFUJ2</value>
<value rcount="3" fwsize="772897097">G975FXXSBFUE6/G975FOXMBFUE6/G975FXXSBFUE6</value>
<value rcount="1" fwsize="1204728996">G975FXXUFHVE1/G975FOXMFHVE1/G975FXXUFHVE1</value>
<value rcount="1" fwsize="1143932490">G975FXXUFHVG4/G975FOXMFHVG4/G975FXXUFHVG4</value>
<value rcount="3" fwsize="188634912">G975FXXSCFUH5/G975FOXMCFUH3/G975FXXUCFUH3</value>
<value rcount="1" fwsize="1425361119">G975FXXUEGVA4/G975FOXMEGVA4/G975FXXUEGVA2</value>
<value rcount="3" fwsize="167765605">G975FXXSEFUJ2/G975FOXMEFUJ2/G975FXXSEFUJ2</value>
<value rcount="3" fwsize="773038481">G975FXXUAFUE3/G975FOXMAFUE3/G975FXXUAFUE1</value>
<value rcount="1" fwsize="1227792606">G975FXXUEHVC6/G975FOXMEHVC6/G975FXXUEHVB9</value>
<value rcount="3" fwsize="889430710">G975FXXU9FUBD/G975FOXM9FUBD/G975FXXU9FUBD</value>
<value rcount="1" fwsize="247596015">G975FXXUGHVJ5/G975FOXMGHVJ5/G975FXXUGHVJ1</value>
<value rcount="1" fwsize="219369124">G975FXXSGHWA3/G975FOXMGHWA3/G975FXXSGHWA1</value>
<value rcount="3" fwsize="188340961">G975FXXUCFUH3/G975FOXMCFUH3/G975FXXUCFUH3</value>
<value rcount="3" fwsize="771988420">G975FXXSBFUF3/G975FOXMBFUE6/G975FXXSBFUE6</value>
</upgrade>
</version>
</firmware>
<polling>
<period>1</period>
<time>15</time>
<range>23</range>
</polling>
<ActiveDeviceInfo>
<CycleOfDeviceHeartbeat>0</CycleOfDeviceHeartbeat>
<ServiceURL/>
</ActiveDeviceInfo>
<WiFiConnectedPollingInfo>
<Cycle/>
<Activated>FALSE</Activated>
</WiFiConnectedPollingInfo>
</versioninfo>

Any help would be greatly appreciated
✌️
Hello
It's seem now USERAGENT is mandatory
add it on file site-packages/samloader/versionfetch.py
example:
[arch@archLinux A52S]$ grep -B4 User-Agent /home/arch/.local/lib/python3.11/site-packages/samloader/versionfetch.py def getlatestver(model: str, region: str) -> str: """ Get the latest firmware version code for a model and region. """ req = requests.get("https://fota-cloud-dn.ospserver.net/firmware/" \ + region + "/" + model + "/version.xml", headers={"User-Agent": "Kies2.0_FUS"})

it should works
[arch@archLinux A52S]$ samloader -m SM-G975F -r NZC checkupdate G975FXXSGHWC1/G975FOXMGHWA3/G975FXXSGHWB3/G975FXXSGHWC1 [arch@archLinux A52S]$ samloader -m SM-A528B -r XEF checkupdate A528BXXU3EWC6/A528BOXM3EWC6/A528BXXU3EWC6/A528BXXU3EWC6 [arch@archLinux A52S]$
 

Gerdje_

Senior Member
Jan 20, 2018
55
11
I'm getting the 'DownloadBinaryInform returned 400' error aswell. Changed the USERAGENT as mentioned above by @Viriathe. I just can't download any firmware, even after changing CSC.
I'm on Linux.
Code:
    python3 /home/xxxx/.local/bin/samloader -m SM-973F -r BTU download -v G973FXXSGHWC1/G973FOXMGHWA3/G973FXXSGHWB3/G973FXXSGHWC1 -O /home/xxxx/Downloads/

    Traceback (most recent call last):

    File "/home/xxxx/.local/bin/samloader", line 33, in <module>

    sys.exit(load_entry_point('samloader==0.4.1', 'console_scripts', 'samloader')())

    File "/home/xxxx/.local/lib/python3.7/site-packages/samloader/main.py", line 37, in main path, filename, size = getbinaryfile(client, args.fw_ver, args.dev_model, args.dev_region)

    File "/home/xxxx/.local/lib/python3.7/site-packages/samloader/main.py", line 90, in getbinaryfile raise Exception("DownloadBinaryInform returned {}, firmware could not be found?".format(status))


    Exception: DownloadBinaryInform returned 400, firmware could not be found?
 

Viriathe

Member
May 13, 2023
6
11
I'm getting the 'DownloadBinaryInform returned 400' error aswell. Changed the USERAGENT as mentioned above by @Viriathe. I just can't download any firmware, even after changing CSC.
I'm on Linux.
Code:
    python3 /home/xxxx/.local/bin/samloader -m SM-973F -r BTU download -v G973FXXSGHWC1/G973FOXMGHWA3/G973FXXSGHWB3/G973FXXSGHWC1 -O /home/xxxx/Downloads/

    Traceback (most recent call last):

    File "/home/xxxx/.local/bin/samloader", line 33, in <module>

    sys.exit(load_entry_point('samloader==0.4.1', 'console_scripts', 'samloader')())

    File "/home/xxxx/.local/lib/python3.7/site-packages/samloader/main.py", line 37, in main path, filename, size = getbinaryfile(client, args.fw_ver, args.dev_model, args.dev_region)

    File "/home/xxxx/.local/lib/python3.7/site-packages/samloader/main.py", line 90, in getbinaryfile raise Exception("DownloadBinaryInform returned {}, firmware could not be found?".format(status))


    Exception: DownloadBinaryInform returned 400, firmware could not be found?
don't worry, I get exactly the same error if I run
Code:
samloader -m SM-973F -r BTU download -v G973FXXSGHWC1/G973FOXMGHWA3/G973FXXSGHWB3/G973FXXSGHWC1 -O toto.zip.enc4

whereas with an extra G
Code:
samloader -m SM-G973F -r BTU download -v G973FXXSGHWC1/G973FOXMGHWA3/G973FXXSGHWB3/G973FXXSGHWC1 -O toto.zip.enc4
it works fine
 
  • Like
Reactions: Gerdje_

Top Liked Posts

  • There are no posts matching your filters.
  • 35
    Hello,
    I recently wanted to download some firmware for my Samsung device, but I realized that there is no 100% open source program to do so. In fact, all the tools that claim to do so require a library that is packed by Themida (so it is difficult to check what this might be doing), in order to authenticate to the server. This is a native DLL, meaning that it is only compatible with Windows x86. Additionally, many of these tools are actually using stolen decompiled code from SamFirm, which, apart from being possibly illegal, means they would be difficult to maintain and run slowly.
    So, I decided to reverse engineer Smart Switch to figure out exactly how the download is taking place, and wrote a cross-platform tool that does this without using the Windows DLL that the other tools have, making it compatible with Linux and MacOS. I also realized that the newer versions are actually using a new version of the authentication algorithm, meaning possibly at some point the old tools might stop working as Samsung drops support for it.
    You can find it at:
    Code:
    https://github.com/nlscc/samloader
    To install, go to the downloaded repository and run:
    Code:
    pip3 install .
    See the README or look at the code for usage. You might want to know that my old github account, nm111, was unfortunately deleted, and I lost access to my old XDA account. You can see the verified email is the same however.
    Feel free to use the algorithms I figured out in your own code, so long as you don't use it in proprietary programs. It is licensed under GNU GPLv3 or later.
    This works for all phones, not just S10+, but I couldn't find a better forum and this is where Frija posted.
    5
    Hey team.
    Forgive my ignorance as I am a bit of an android/linux rookie.
    I'm not sure if it is a problem my end or if the server is down. No matter what region or model. This is the output I get:

    Code:
    samloader -m SM-G975F -r NZC checkupdate                                                       ✔
    Traceback (most recent call last):
    File "/home/fred/.local/bin/samloader", line 8, in <module>
    sys.exit(main())
    File "/home/fred/.local/lib/python3.10/site-packages/samloader/main.py", line 71, in main
    print(versionfetch.getlatestver(args.dev_model, args.dev_region))
    File "/home/fred/.local/lib/python3.10/site-packages/samloader/versionfetch.py", line 24, in getlatestv
    er
    req.raise_for_status()
    File "/usr/lib/python3.10/site-packages/requests/models.py", line 1021, in raise_for_status
    raise HTTPError(http_error_msg, response=self)
    requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://fota-cloud-dn.ospserver.net/firm
    ware/NZC/SM-G975F/version.xml


    URL spits out:

    This XML file does not appear to have any style information associated with it. The document tree is shown below.

    Code:
    <versioninfo>
    <url>https://fota-cloud-dn.ospserver.net/firmware/</url>
    <firmware>
    <model>SM-G975F</model>
    <cc>NZC</cc>
    <version>
    <latest o="12">G975FXXSGHWC1/G975FOXMGHWA3/G975FXXSGHWB3</latest>
    <upgrade>
    <value rcount="3" fwsize="1381041546">G975FXXS9EUB1/G975FOXM9EUA4/G975FXXU9EUA4</value>
    <value rcount="3" fwsize="180498937">G975FXXSDFUI5/G975FOXMDFUI5/G975FXXSDFUI5</value>
    <value rcount="3" fwsize="1381145998">G975FXXU9EUA4/G975FOXM9EUA4/G975FXXU9EUA4</value>
    <value rcount="1" fwsize="1426646688">G975FXXSEGVA9/G975FOXMEGVA4/G975FXXUEGVA2</value>
    <value rcount="2" fwsize="2336048019">G975FXXSEFUL1/G975FOXMEFUJ2/G975FXXSEFUJ2</value>
    <value rcount="3" fwsize="772897097">G975FXXSBFUE6/G975FOXMBFUE6/G975FXXSBFUE6</value>
    <value rcount="1" fwsize="1204728996">G975FXXUFHVE1/G975FOXMFHVE1/G975FXXUFHVE1</value>
    <value rcount="1" fwsize="1143932490">G975FXXUFHVG4/G975FOXMFHVG4/G975FXXUFHVG4</value>
    <value rcount="3" fwsize="188634912">G975FXXSCFUH5/G975FOXMCFUH3/G975FXXUCFUH3</value>
    <value rcount="1" fwsize="1425361119">G975FXXUEGVA4/G975FOXMEGVA4/G975FXXUEGVA2</value>
    <value rcount="3" fwsize="167765605">G975FXXSEFUJ2/G975FOXMEFUJ2/G975FXXSEFUJ2</value>
    <value rcount="3" fwsize="773038481">G975FXXUAFUE3/G975FOXMAFUE3/G975FXXUAFUE1</value>
    <value rcount="1" fwsize="1227792606">G975FXXUEHVC6/G975FOXMEHVC6/G975FXXUEHVB9</value>
    <value rcount="3" fwsize="889430710">G975FXXU9FUBD/G975FOXM9FUBD/G975FXXU9FUBD</value>
    <value rcount="1" fwsize="247596015">G975FXXUGHVJ5/G975FOXMGHVJ5/G975FXXUGHVJ1</value>
    <value rcount="1" fwsize="219369124">G975FXXSGHWA3/G975FOXMGHWA3/G975FXXSGHWA1</value>
    <value rcount="3" fwsize="188340961">G975FXXUCFUH3/G975FOXMCFUH3/G975FXXUCFUH3</value>
    <value rcount="3" fwsize="771988420">G975FXXSBFUF3/G975FOXMBFUE6/G975FXXSBFUE6</value>
    </upgrade>
    </version>
    </firmware>
    <polling>
    <period>1</period>
    <time>15</time>
    <range>23</range>
    </polling>
    <ActiveDeviceInfo>
    <CycleOfDeviceHeartbeat>0</CycleOfDeviceHeartbeat>
    <ServiceURL/>
    </ActiveDeviceInfo>
    <WiFiConnectedPollingInfo>
    <Cycle/>
    <Activated>FALSE</Activated>
    </WiFiConnectedPollingInfo>
    </versioninfo>

    Any help would be greatly appreciated
    ✌️
    Hello
    It's seem now USERAGENT is mandatory
    add it on file site-packages/samloader/versionfetch.py
    example:
    [arch@archLinux A52S]$ grep -B4 User-Agent /home/arch/.local/lib/python3.11/site-packages/samloader/versionfetch.py def getlatestver(model: str, region: str) -> str: """ Get the latest firmware version code for a model and region. """ req = requests.get("https://fota-cloud-dn.ospserver.net/firmware/" \ + region + "/" + model + "/version.xml", headers={"User-Agent": "Kies2.0_FUS"})

    it should works
    [arch@archLinux A52S]$ samloader -m SM-G975F -r NZC checkupdate G975FXXSGHWC1/G975FOXMGHWA3/G975FXXSGHWB3/G975FXXSGHWC1 [arch@archLinux A52S]$ samloader -m SM-A528B -r XEF checkupdate A528BXXU3EWC6/A528BOXM3EWC6/A528BXXU3EWC6/A528BXXU3EWC6 [arch@archLinux A52S]$
    3
    Also works with Termux!

    How to:
    First enable the storage permission for Termux in "Settings > Apps > Termux > Permissions > Storage".
    Now set up Termux to install Samloader with commands below.
    Code:
    pkg upgrade
    pkg install git
    pkg install python
    pip install --upgrade pip
    Now you can install Samloader
    Code:
    pip3 install git+https://github.com/nlscc/samloader.git
    To update Samloader
    Code:
    pip3 install --upgrade git+https://github.com/nlscc/samloader.git

    Example:
    Check update
    Code:
    samloader -m SM-G975F -r NZC checkupdate
    Download
    Code:
    samloader -m SM-G975F -r NZC download -v G975FXXS9DTI8/G975FOXM9DTI8/G975FXXS9DTI8/G975FXXS9DTI8 -O /storage/emulated/0/Download/
    Decrypt
    Code:
    samloader -m SM-G975F -r NZC decrypt -v G975FXXS9DTI8/G975FOXM9DTI8/G975FXXS9DTI8/G975FXXS9DTI8 -V 4 -i /storage/emulated/0/Download/SM-G975F_1_20200921075534_uii8oafhih_fac.zip.enc4 -o /storage/emulated/0/Download/SM-G975F_1_20200921075534_uii8oafhih_fac.zip
    2
    I made a bash script to use with Termux which automates everything directly on your device.

    It even offers to install samloader and its dependencies if they are not already installed.

    You can check it out here:
    https://github.com/lekron42/samloader_termux
    2
    FKN AWESOMEEEEE :cool: :cool: :cool: working on mint GENIUS WORK!!!!!
    Captura de pantalla de 2021-02-09 19-59-26.png