The Magic WiFi And Bluetooth Fix For Any Android Device

Clicking the WiFi or Bluetooth buttons on your newly flushed/reset phone,
and the button keeps turning-back to disabled-state?

-before you’ll snap your tablet in half
in a pure-rage against the machines, try the following solution

  1. Root your device, and grab yourself a root-access capable file-browser,
    I’m using Xplore File-Manager (the first time you should set its settings to have full root access + automatic r/w mount in-case needed), btw. setting a file or a folder’s permissions is easily-done by a long-pressing the file (or folder) and selecting the “permissions” entry, from the pop-up menu.
  2. change the permissions for the following folders to 7755:
    /data/wifi/, /data/etc/wifi/, /data/misc/wifi/, /etc/wifi/
    and /system/etc/wifi/ (if exist).
  3. change the permissions for wpa_supplicant.conf and bcm_supp.conf to 0777,
    those files are under (any) of the wifi/ folders.
  4. reboot your device and try your luck.

Still no luck?

  1. rename all wpa_supplicant.conf to old_wpa_supplicant.conf
    and all bcm_supp.conf to old_bcm_supp.conf.
  2. rename .system.wpa_supplicant (if exist) to old_.system.wpa_supplicant and .system.bcm_supplicant (if exist) to old_.system.bcm_supplicant,
    those are usually found under /etc/secure_storage/.
  3. This Step IS OPTIONAL:
    Look for files with .prop extension, usually you’ll find default.prop and build.prop under /system.

    Make sure the following line:
    ro.securestorage.support=false
    exist in every prop files (also make sure it is set to false).

  4. a reboot is required.

Consider using a permissive-kernel, since some files
under /data and /system,
may be reverted to their previous unmodified state,
as an enforced-security, this is common in Samsung devices with Android ver5.1+
Installing a permissive-kernel will usually solve it.


Some quirky Android devices may have those files somewhere else,
so after you follow the generic instructions above,
use the Xplore File-Manager find-functionality with *wpa_sup* (and *bcm_sup*) from the / (the root or “top-most” of all folders..), just to be sure…

OK!
if you’ve follows all the instructions above,
and rebooted your device, you should have BOTH your WiFi and Bluetooth working properly now.


*If you CAN actually enable WiFi and root-access is an issue for you,
You can try to cure a kept-disconnecting network by hard-stopping the WiFi’s power-saving mode.
It can be done using the WiFi menu, or more easily- through a “secret-code” typed into the phone dial-pad: “dial” *#0011# and on the service-mode screen press the left-menu button, quickly choose “WiFi” and click the WiFi power-save mode button to disable it.
Exit the menu, turn ON your WiFi discard/forget all of your remembered networks, turn your WiFi OFF and ON again and connect to your network, entering its details, passwords etc..


Ps.
Here is *my* prop file (64bit Note5, so don’t use it as-is)
you don’t have to do anything with it,
and usually if you install a permissive kernel, it will
make sure there is a prop file in your device with those values after each reboot,

#
# ADDITIONAL_DEFAULT_PROPERTIES
#
telephony.lteOnCdmaDevice=0
persist.radio.apm_sim_not_pwdn=1
persist.radio.add_power_save=1
rild.libpath=/system/lib64/libsec-ril.so
rild.libpath2=/system/lib64/libsec-ril-dsds.so
persist.security.ams.enforcing=0
ro.secure=0
ro.allow.mock.location=1
ro.debuggable=1
ro.adb.secure=0
persist.sys.usb.config=mtp,adb
ro.zygote=zygote64_32
ro.smps.gain.spk=0.8
dalvik.vm.dex2oat-Xms=64m
dalvik.vm.dex2oat-Xmx=512m
dalvik.vm.image-dex2oat-Xms=64m
dalvik.vm.image-dex2oat-Xmx=64m
ro.dalvik.vm.native.bridge=0

# SELinux / KNOX
ro.securestorage.knox=false
ro.build.selinux=0
ro.config.tima=0
ro.config.rkp=false
ro.config.kap_default_on=false

# Keep WIFI settings on flash/reboot
ro.securestorage.support=false

# Screen mirroring / AllShare Cast fix
wlan.wfd.hdcp=disable

# RAM Management (experimental)
ro.config.fha_enable=true
ro.sys.fw.use_trim_settings=true

:]