[Moto G5S  Guides, News, & Discussion] mcgradylu:
My device is moto g5s xt1799-2.

I download this file and unzip it.

I see it contain 'NON-HLOS.bin' and 'fsg.mbn' files.

These two files are related to the baseband, IMEI, network, fingerprint. Since moto's baseband can only be upgraded but not be downgraded, if you upgrade it and it's not match your device's firmware, your network and signal will be empty, your IMEI will turn 0.

The only solution is restore the 'EFS' and 'Persist' partitions backup via twrp. So you must make a twrp backup in twrp before you try the method.

Why do I know that? Long story. Ha~ Some apps don't offer 32bit version anymore since early this year. The latest version of those apps don't support my device. Since moto doesn't offer a firmware upgrade for xt1799-2 (the last firmware is android 7.1.1 zui), I need to upgrade my os version. (Actually it doesn't matter with the android os version. The 32bit os version is the problem! ) First I flash the lineageos 18.1, but I see from its website that device should be in 8.1.0 os version, but you know, moto doesn't give our xt1799-2 users. I ignore that and try to flash it. Then it stuck it the lineageos boot animation. Then I search on the net and find if any way to upgrade my xt1799-2 to 8.1.0 oreo, and find a page. I follow the method and upgrade my device to oreo 8.1.0. Since I was new to it at that time, I did follow all the steps it listed and flash the 'NON-HLOS.bin' and 'fsg.mbn' files. Only to find that it's still 32bit os version! One app I use most runs inefficiently in stock oreo 8.1.0 and the os kills my background app. So I want to downgrade to zui 7.1.1 os, and find that my IMEI turns 0 and network signal is empty. Worst of all, the battery drains 3-5% per several minutes (not hour)!!! I even can't unplug my device from the power. Then I search from the web. and do many tests and find out that is because I flash the BP (baseband part: 'NON-HLOS.bin' and 'fsg.mbn' files). And know that moto's BP can only be upgraded but not be downgraded. So I keep the baseband version stay in stock oreo 8.1.0 and only downgrade the AP (system part). Then I found my fingerprint is not working. Then I downgrade the BP and it's back but no signal and IMEI 0. Since I didn't know that issue before and didn't backup the 'EFS' and ‘Persist’ partitions in twrp (I even don't know twrp at that time.). Finally, I search from the net that the solution is to flash a full upper firmware which network, signal, and IMEI are all fine and stay in that version (For my case is moto stock oreo 8.1.0 ). Then make an 'EFS' and 'Persist' backup in twrp.

Thanks to the twrp backup. I flash many third party roms recently (More than 10 roms.) Sometimes when I flash back to stock oreo 8.1.0, I can see my baseband change itself. Like, 57R baseband version for my xt1799-2 in moto stock oreo 8.1.0 everything is fine. But it will change to 57e, sometimes 57U when I flash the AP(system part). Both of them network signals are empty. Then I need to restore my 'EFS' and 'Persist' backup in twrp, power off the device and boot into the system. Then you will see in the 'About phone' page', it's back to 57R, everything is fine again. And you power off not restart, and boot to bootloader, you will see the baseband is back to 57R.

Another weird thing is that I have another moto g5s xt1799-2. I keep the baseband version of it in zui's last firmware 7.1.1(NZS26.68-117) that is 54R. When I flash AP (system part) of stock oreo 8.1.0, its signal it empty sometimes is full, but both can't make a call and surf internet. But when the 54R device flashes a third party 8.1.0 rom, like crDroid and AICP, VoLTE works! But when the 54R device flashes a third party 9.0 and 10 rom, no network signal again! So I don't think it's the matter with the baseband version, otherwise the third party 8.1.0 rom will no signal, but it doesn't happen. VoLTE works in the third party 8.1.0 rom, but not the moto stock oreo 8.1.0 rom.