Having the Samfirm Tool been deprecated, Frija was released as a Samfirm alternative. Since both the tools work only with Windows, macOS and Linux users found themselves in a no man’s land. Github user nlscc just released a Python-based tool called Samloader that can easily download Samsung firmware binaries (BL, AP, CP, and CSC) by fetching files from Samsung FUS (Firmware Update Server). It’s a great Frija alternative that works flawlessly on Mac, Linux, Windows, and even Android. Follow this Samloader tutorial to learn how to use it on macOS, Linux, and Windows PC.
Being coded in Python, Samloader is a very tiny script (less than 50KB) and can be run via Terminal or Command Prompt on Mac, Windows, and Linux. Unlike Samfirm and Frija tool, Samloader has no user GUI and that’s why noobs might find it a bit more complicated to use. The most striking feature of this minimal Samsung firmware downloader is its cross-platform compatibility. Besides the major Operating Systems mentioned above, Samloader can also be used on Android to download Samsung firmware using apps like Termux and Terminal Emulator.
Features of Samloader
Samloader is a portmanteau formed by combining two words Samsung + Downloader. It’s is basically a simple Samsung Firmware download tool that gets its job done nicely. The tool is the result of reverse-engineering of the process used by Samsung Smart Switch to authenticate the algorithms of the update server. Being based on Samfirm, Frija uses Windows DLL and an old algorithm that might stop working in the future. Samloader is an open-source project. Since it uses the latest algorithm from Smart Switch, it’s kind of a future-proof Samsung firmware download tool.
Here’s what Samloader can do:
- Check the latest available firmware update for your Samsung device model.
- Download the Samsung stock firmware from Samsung FUS in an encrypted format with ‘.zip.enc4‘ extension.
- It can then decrypt the downloaded encrypted (enc2 or enc4) firmware into flashable packages namely, BL, AP, CP, CSC, and Home CSC.
Download Samsung Firmware on Mac
The unavailability of a proper Samsung firmware download tool and a firmware flashing tool for macOS has always been a problem for users. Samloader fills the void by giving us a great Frija alternative to download the latest firmware for Samsung devices using the Mac Terminal. You can then install the firmware using Heimdall or JOdin3 for Mac.
Let’s see how to install, set up, and use Samloader on Mac to check Samsung firmware updates and download them.
- Download the latest 64-bit Python installer for macOS.
- Double-click the downloaded python-3.9.0-macosx10.9.pkg file to install it.
- Now launch the Mac Terminal. If you don’t know how to do that, navigate to Finder > Go > Utilities and click on Terminal.
- Execute the following command in the Terminal window to clone the Samloader repository using Git.
pip3 install git+https://github.com/nlscc/samloader.git
- Your Mac might prompt you to download an additional program called Git installer. Samloader Git will be downloaded and installed on your computer.
- You’ll get the “Successfully installed…” message in the Terminal. In case you get a warning telling you to upgrade the PIP version, you can ignore it. However, if you wish to upgrade PIP, copy and paste the text highlighted in green (in the screenshot above) into the Mac Terminal window and hit the Enter key.
- Anyway, it’s time now to check for the latest available firmware update version for your Samsung smartphone or Galaxy Tab. Type the following command in the Terminal.
samloader -m [model_number] -r [CSC] checkupdate
- For instance, if your Samsung device’s model number is SM-N986U, you should replace [model number] in the above code with SM-N986U. In the same way, you are supposed to replace [CSC] with the CSC code of your Samsung device. Thus, the command you execute would look like this.
samloader -m SM-N975F -r INS checkupdate
- Samloader will return the latest firmware version available for your Samsung device. In my case, the firmware version for my Galaxy Note 10+ is
- Now that you have the Samsung firmware version to download, you need to execute another command mentioning the device model number, CSC code, full firmware version you got above, and the location path on your computer where you want to save the firmware. If you have any problem typing the location path of a file or directory, check out my guide describing easy ways to find and copy file path on Mac.
samloader -m [model_number] -r [CSC] download -v [firmware_version] -O [output_directory]
- Having replaced the required fields highlighted in the above command with actual information, your command should look like shown below.
samloader -m SM-N975F -r INS download -v N975FXXU6DTJ4/N975FOXM6DTJ4/N975FXXU6DTJ2/N975FXXU6DTJ4 -O /Users/rakeshshukla/Desktop/
- Samloader will now connect and authenticate to the Samsung FUS and start downloading the firmware. You need to be patient as it’ll take a while to complete the download depending on your network speed.
- When the download is finished, you’ll see the encrypted firmware file in the output location or directory.
- Since the downloaded Samsung firmware is encrypted, you need to decrypt it to get the Odin-flashable firmware binaries (BL, AP, CP, CSC, HOME_CSC).
- To decrypt the .enc2 (older firmware) or .enc4 encrypted firmware, use the following command.
samloader -m [model_number] -r [CSC] decrypt -v [firmware_version] -V 4 -i [encrypted_firmware_name] -o [firmware_name]
- Replace the highlighted entries in the above code appropriately and paste the edited code into the Mac Terminal. In case the firmware you downloaded has .enc2 encryption, replace ‘4‘ the above line with ‘2‘.
samloader -m SM-N975F -r INS decrypt -v N975FXXU6DTJ4/N975FOXM6DTJ4/N975FXXU6DTJ2/N975FXXU6DTJ4 -V 4 -i SM-N975F_1_20201016232934_i2b0cuyqhv_fac.zip.enc4 -o SM-N975F_1_20201016232934_i2b0cuyqhv_fac.zip
- Samloader will now start decrypting the Samsung firmware and you’ll get a .zip file.
- Just extract the firmware zip file to get all 5 binaries, namely BL, AP, CP, CSC, and Home_CSC.
Done! You’re all set to flash the newly downloaded Samsung firmware using Odin.
How to Use Samloader on Windows
If you are a Windows user, you must have used Samfirm or Frija in the past to download Samsung firmware. Samloader is quite a new Python-based Samsung firmware downloader without any user interface. Let’s check out how to use it on a Windows PC.
- Download and install the stable Python release for Windows.
- Also, install Microsoft Visual C++ Tools because some Python libraries require it. If it’s not installed, you might get the following error.
distutils.errors.DistutilsPlatformError: Microsoft Visual C++ 14.0 is required. Get it with "Build Tools for Visual Studio": https://visualstudio.microsoft.com/downloads/
- When it’s installed, also install Git for Windows. It’s required only if you want to install Samloader.git using the next step. You can skip this step otherwise.
- Launch the Command Prompt and execute the following command to clone Samloader Git on your PC.
pip3 install git+https://github.com/nlscc/samloader.git
- Samloader will be installed on your Windows PC. In case you aren’t able to install Samloader this way, download the latest version from Github.
- Extract the downloaded zip and open the extracted folder. Launch a Windows Powershell window inside the folder. Just type “cmd” in the ‘samloader-master‘ folder address bar and hit the Enter key to do that.
- When the command window is launched, issue the following command to install Samloader.
pip3 install .
- Alternatively, you can also install Samloader without launching the command window and navigating to the ‘samloader-master‘ folder.
pip3 install <path-to-samloader> (such as: pip3 install C:\samloader-master)
- Now that Samloader has been installed on your PC, you can check for the latest update available for your Samsung Galaxy phone or Tab.
- Execute the following command in the command window. I’ve already attached the screenshots above.
samloader checkupdate [model_number] [CSC] or samloader -m [model_number] -r [CSC] checkupdate
- Make sure that the command you issue to check update looks like this. If you are not sure about the exact model number or CSC, read our tutorial to check it.
samloader checkupdate SM-N975F INS or samloader -m SM-N975F -r INS checkupdate
- Samloader will give the latest firmware version available for your Samsung Galaxy device.
- Now use one of the following commands to download the Samsung firmware. The ‘.‘ in the first commands means that the firmware will be downloaded to the Samloader folder.
samloader download [firmware_version] [model_number] [CSC] . or samloader -m [model_number] -r [CSC] download -v [firmware_version] -O [output_directory]
- Having replaced the highlighted fields with appropriate values, the command you execute should look like this. The first command will save the firmware file to the “samloader-master” directory, while the second will save it to your selected location.
samloader download N975FXXU6DTJ4/N975FOXM6DTJ4/N975FXXU6DTJ2/N975FXXU6DTJ4 SM-N975F INS . or samloader -m SM-N975F -r INS download -v N975FXXU6DTJ4/N975FOXM6DTJ4/N975FXXU6DTJ2/N975FXXU6DTJ4 -O C:\Users\Rakesh Shukla\Desktop\
- Samsung firmware download will initiate and depending on your internet speed, it might take from some minutes to a few hours. Wait until the encrypted firmware gets downloaded.
- Once the Samsung firmware download is finished, you’ll have to decrypt it. While older Samsung firmware has .enc2 (decrypt2) encryption, the newer ones have .enc4 (decrypt4). To do that, you’ll have to use another command.
samloader decrypt2/decrypt4 [firmware_version] [model_number] [CSC] [encrypted_firmware_name] [firmware_name] or samloader -m [model_number] -r [CSC] decrypt -v [firmware_version] -V 2/4 -i [encrypted_firmware_name] -o [firmware_name]
- Having replaced the highlighted values, the command you have to issue will be as shown below.
samloader decrypt4 N975FXXU6DTJ4/N975FOXM6DTJ4/N975FXXU6DTJ2/N975FXXU6DTJ4 INS SM-N975F_1_20201016232934_i2b0cuyqhv_fac.zip.enc4 SM-N975F_1_20201016232934_i2b0cuyqhv_fac.zip or samloader -m SM-N975F -r INS decrypt -v N975FXXU6DTJ4/N975FOXM6DTJ4/N975FXXU6DTJ2/N975FXXU6DTJ4 -V 4 -i SM-N975F_1_20201016232934_i2b0cuyqhv_fac.zip.enc4 -o SM-N975F_1_20201016232934_i2b0cuyqhv_fac.zip
- Wait until Samloader decrypts the downloaded firmware. You’ll then be able to extract the firmware zip file to get the flashable firmware packages with .tar.md5 extension.
Fixing Samloader Not Recognized Error
If you have not set up Python and Samloader on your Windows PC properly, you might encounter the following error while checking for Samsung firmware update in the Command Prompt window.
samloader : The term 'samloader' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again. At line:1 char:1 + samloader -m SM-N975F -r INS checkupdate + ~~~~~~~~~ + CategoryInfo : ObjectNotFound: (samloader:String) , CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException
You can easily fix the “Samloader is not recognized…” error by adding Samloader to the Windows command search path via the Environment variables setting on your PC and try again.
Using Samloader on Linux
Since I have already described the steps to use this fantastic cross-platform Samsung firmware downloader, there’s no need to repeat them again. If you’re using one of the Linux distros, you can download Samsung firmware using Samloader. You can follow the steps given above for Mac. You can find the steps to install Python on Linux in this official Python installation documentation.
This is all about Samloader, a Samsung firmware downloader for Mac, Linux, and Windows. In case you encounter any issues while following the steps given in this tutorial, please leave a comment below.
Read Next: Samsung Secret Codes you Must Check Out