Яндекс.Метрика

Android: телефон забывает пароли WiFi после перезагрузки


 
# 7148
# Ленинград
Телефон (Samsung) забывает пароли WiFi после перезагрузки

Давным давно (ну, во времена SGS4 точно) была проблема у самсунгов - при включении WiFi доставала табличка насчёт всякой там секьюрности, а то и вовсе WiFi не включался. В другие времена и на других устройствах (SGS5, Note 4 и т.д.) периодически у некоторых вылезала (да и теперь вылезает) проблема: пароли WiFi после перезагрузки забываются. А иногда и вовсе забываются при вкл-выкл WiFi или даже просто выходе из зоны действия конкретной точки. А после перехода на 5.0.1 вид проблемы несколько изменился - телефоны стали забывать пароли. Решалось в большинстве случаев вот так (рут, разумеется, нужен):

Идём в файлик
Код: выделить все
/system/build.prop

Находим строчку
Код: выделить все
ro.securestorage.support=true

Заменяем true заменить на false, то есть
Код: выделить все
ro.securestorage.support=false

Сохранить, перезагрузить.

Вот и на Note Edge я столкнулся с такой ерундой. На прошивке 4.4.4 (ещё киткат) этой неприятности не было. А вот поставил 5.1.1 (это уже лолипоп) - опаньки, появилась. Порылся по списку приложений и процессов, почистил всем кэш и данные - нет результата. Перепрошивать - ой-вэй. Стояла бы ещё стоковая прошивка - тогда другое дело. Но я уже включил рута (без него мне самсунг вообще на фиг не нужен), а на 511 он включается только кастомным ядром...

Решил попробовать вот этот же метод в данном случае. Опаньки, всё заработало, телефон перестал забывать пароли к сеткам WiFi после перезагрузки. По-моему, это всё проблемы только кастомов. Особо не вникал.
а, может быть, осталось добрых ангелов мало,
вот и случилось так, что сердце моё стало
камнем, камнем...


 
# 7148
# Ленинград
Поковырял вопрос чуть глубже. На самом деле, с этими забываниями паролей всё немного сложнее, чем представляется на первый взгляд. Дело в том, что настройка ro.securestorage.support=false заставляет систему сохранять пароли в незашифрованном виде. То есть, по пути

Код: выделить все
/data/misc/wifi/wpa_supplicant.conf

пароли к подключённым WiFi-точкам будут лежать в незашифрованном читабельном виде. То есть, увидим там записи вида

Код: выделить все
network={
ssid="Такая-то WiFi-точка Доступа"
psk=MyPasswordToWiFi
key_mgmt=WPA-PSK
...}

Это, на мой вкус, кошмар просто. Конечно, пароли начинают запоминаться без проблем, но лежат в читабельном виде. Это вообще ни разу не дело, совсем не дело. А вот если ro.securestorage.support=true, то пароли хранятся в зашифрованном виде, и записи в файле wpa_supplicant.conf будут выглядеть примерно так:

Код: выделить все
network={
ssid="Такая-то WiFi-точка Доступа"
psk=2274c406bac6dbbd64783acab908934
key_mgmt=WPA-PSK
...}


Далее. При нажатии кнопки "ЗАБЫТЬ" выбранная точка доступа и её настройки из этого файла удаляются, однако переносятся в лежащий рядом файл wpa_supplicant.bak.conf. На непроблемных девайсах перезагрузка ничего с этими файлами не делает. А на проблемных оба файла банально очищаются от настроек всех WiFi-точек, которые туда успели попасть до перезагрузки. Отсюда и эффект "незапоминания" паролей. То есть, пароли сохраняются, но в момент запуска системы уничтожаются.

Скорее всего, при запуске системы не отрабатывает какая-то штука по безопасности, и данные в целях безопасности удаляются от греха подальше. Не представляю, по какой причине такое может возникнуть на стоковых прошивках, разве что сам производитель накосячит. А на кастомных - понять можно. Однако вряд ли исправления могут быть внесены в систему правкой в текстовом редакторе каких-то пермишенов или ещё чего-то. Впрочем, настолько глубоко у меня копать нет пока времени.

Однако, фикс мне пришлось пока отключить. Требования безопасности (место работы) не позволяют такими вещами баловаться.
а, может быть, осталось добрых ангелов мало,
вот и случилось так, что сердце моё стало
камнем, камнем...


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

cron