[Sprint Samsung Galaxy S6] tdhite:
[ZIP] [FLASHABLE] [ROOT] [04-28-2017] (Re)Enable Hotspot (Stock or Custom) [MM &amp; N]

Introduction

This flash fixes the telephony database (i.e., /data/data/com.android.providers.telephony/databases/telephony.db) and if necessary injects busybox and init.d support into ROMs. The purpose is to properly enable hotspot tether support. It fixes the hotspot support on each reboot so if you lose hotspot due to, for example, a factory data reset, this will repair the database at the next boot.

DISCLAIMER

Always read the DISCLAIMER file before committing to the use of this flashable mod.

What It Does NOT Do

The flash does not add the hotspot menu item to ROMs that do not otherwise have it. In other words, if you do not have a 'Hotspot' menu in your Settings or other toggle items, this flash will not add those. You need to talk to your ROM developer in order to get those.

What It Does

The flash does two basic things for ROMs WITH built in init.d support:

Installs a working sqlite3 executable at /system/xbin/sqlite3;

installs an init.d script at /system/etc/init.d/01-hotspot to correct telephone database settings;

installs an init.d script at /system/etc/init.d/02-hotspot to add a quick setting tile for hotspot;

sets global setting tether_dun_required to 0 (zero).

Most custom kernel flashes modify the init files to support calling on /system/xbin/run-parts to run the scripts in /system/etc/init.d -- check the boot image you are using.

The flash does quite a bit more for ROMs missing init.d support (e.g., stock):

Installs a working busybox (and all applets) at /system/xbin;

Installs a working sqlite3 executable at /system/xbin/sqlite3;

Injects init.d support into the boot image (boot.img);

installs an init.d script at /system/etc/init.d/01-hotspot to correct telephone database settings;

installs an init.d script at /system/etc/init.d/02-hotspot to add a quick setting tile for hotspot;

regularly checks and keeps global setting tether_dun_required at 0 (zero);

add build.prop setting to enable USB tethering.

The script at /system/etc/init.d/01-hotspot logs its operations to logcat so you can see what it did, if anything at all. Make sure you have logging enabled if you use a kernel that supports such changes (e.g., my SkyHigh port).

Hope this helps those who are having troubles with hotspots after wiping data before or after flashing ROMs.

Instructions for ROMS that

DO HAVE

init.d Support

Download the hotspot-v5.zip file from Android File Host (MD5 sum: 201820413864c9d60e971d06a59ac8ff)

Copy the hotspot.zip file to your phone, assume to /sdcard/hotspot-v5.zip

Boot into TWRP Recovery

Install the zip (e.g, from /sdcard/hotspot-v5.zip)

Reboot to system (Android)

Instructions for ROMS that

DO NOT HAVE

init.d Support Built-In

Download the hotspot-busybox-initd-v6.zip file from Android File Host (MD5 sum: 60f01ccdfe88a22673ef0efe6e390309)

Copy the hotspot-busybox-initd-v6.zip file to your phone, assume to /sdcard/hotspot-busybox-initd-v6.zip

Boot into TWRP Recovery

Install the zip (e.g, from /sdcard/hotspot-busybox-initd-v6.zip)

Reboot to system (Android)

Previous Versions:

Instructions for ROMS that

DO HAVE

init.d Support

Download the hotspot-v4.zip file from Android File Host (MD5 sum: 40082313f82c7cbe7b866d77e250f16e)

Copy the hotspot.zip file to your phone, assume to /sdcard/hotspot-v3.zip

Boot into TWRP Recovery

Install the zip (e.g, from /sdcard/hotspot-v4.zip)

Reboot to system (Android)

Instructions for ROMS that

DO NOT HAVE

init.d Support Built-In

Download the hotspot-busybox-initd-v4.zip file from Android File Host (MD5 sum: c495361fdd3cc72e52e868473fe5fb92)

Copy the hotspot-busybox-initd-v4.zip file to your phone, assume to /sdcard/hotspot-busybox-initd-v3.zip

Boot into TWRP Recovery

Install the zip (e.g, from /sdcard/hotspot-busybox-initd-v3.zip)

Reboot to system (Android)

Version 3 for ROMS that

ALREADY HAVE

init.d Support Built-In: Android File Host (MD5 sum: 77611280dac47c6ca328aff73d721d56)

Version 3 for ROMS that

DO NOT HAVE

init.d Support Built-In: Android File Host (MD5 sum: 48a3e3ba78892927a3b26e45b2052e30)

Version 2 hotspot-busybox-initd-v2.zip: Android File Host (MD5 sum: 5b978c9312f79f6d26f541811160350a)

Version 1 hotspot-busybox-initd.zip: Android File Host (MD5 sum: 45b8bea3e01fa74e443ea1ec9791561f)

ROMS Tested

TeamSPR ROM

Stock, rooted 6.0.1

Stock, rooted 5.1.1

Note: Some recent ROMS include this script in the init.d support already (e.g., TeamSPR v3).

If you verify on another, please let me know and I'll add it to this list.

Notices

The flash for ROMs not having init.d support includes:

The busybox program in binary form. Busybox is a GPLv2 licensed tool, which provides you the option to receive source code underlying the binary executable. That source code can be found here: http://git.busybox.net/busybox/. If you want that source code and cannot obtain, feel free to ask me and I will get you a copy by reasonable means, at your cost.

The sqlite3 program in binary form. SQLite is a public domain program. You can read its license here: https://www.sqlite.org/copyright.html.

The programs known as mkbootfs, mkbootimg and unpackbootimg. These are all licensed under the Apache 2.0 License. The sources may be found here: https://github.com/osm0sis/Android-Image-Kitchen/blob/master/authors.txt.