WiFi не работает на Samsung Galaxy S3: «WifiStateMachine (2240): не удалось загрузить драйвер»

Описание проблемы:

У меня проблема с WLAN на моем Samsung Galaxy S3 (GT-I930). Я не могу активировать Wi-Fi. Logcat показывает мне, что драйвер не может быть загружен (подробное ведение журнала WiFi было активировано с помощью параметров разработчика):

D/WifiService( 2240): setWifiEnabled: true pid=3142, uid=1000<br>
E/WifiService( 2240): Invoking mWifiStateMachine.setWifiEnabled<br>
E/WifiStateMachine( 2240):  InitialState !CMD_START_SUPPLICANT 0 0<br>
E/WifiStateMachine( 2240): Failed to load driver

Команда netcfgне отображает wlan0интерфейс:

lo       UP     127.0.0.1/8   0x00000049 00:00:00:00:00:00
sit0     DOWN     0.0.0.0/0   0x00000080 00:00:00:00:00:00
ip6tnl0  DOWN       0.0.0/0   0x00000080 00:00:00:00:00:00
rmnet0   DOWN       0.0.0/0   0x00001090 00:00:00:00:00:00
rmnet1   DOWN       0.0.0/0   0x00001090 00:00:00:00:00:00
rmnet2   DOWN       0.0.0/0   0x00001090 00:00:00:00:00:00

В дополнительных настройках WLAN отсутствует доступный MAC-адрес.

Статус WiFi, доступ к которому можно получить с помощью **#*#*4636#*#***сервисного кода на телефонной клавиатуре, содержит следующую информацию:

Состояние Wi-Fi: Отключено
Состояние сети:
Состояние запрашивающего устройства: UNINITIALIZED
RSSI: -127
BSSID:
SSID:
Скрытый SSID: false
IPaddr: 0.0.0.0
MAC-адрес:
Идентификатор сети: -1
Скорость соединения: -1 Мбит/
с Результаты сканирования:

Версия для Android:

Телефон рутирован, ClockworkMod Recovery (CWM) установлен. Я пробовал разные пользовательские ПЗУ (см. следующий пункт «история»). Текущая версия Android — 5.0.2 (ПЗУ: Liquid Smooth Lollipop, версия ядра: 3.0.31-CM-gdd7ad6a)

История

Сначала я рутировал свой телефон и прошил Cyanogenmod 10.2 cm-10.2.0-i9300 (Стабильная версия, Android 4.3)). Все работало нормально (включая WiFi) и плавность и красота Cyanogenmod меня порадовали.

Из любопытства попробовал Cyanogenmod cm-11-20150614-NIGHTLY-i9300 (Android 4.4) и столкнулся с проблемой в первый раз. После возвращения из режима полета WiFi был прерван. Я предположил, что ночная сборка все еще глючная, и перепрошил Cyanogenmod 10.2. Тем не менее, я не смог вернуть Wi-Fi.

После этого я вернулся к стоковому ПЗУ , но не повезло. Wi-Fi был по-прежнему мертв.

Я начал думать, что это может быть проблема с оборудованием, и купил новую антенну WLAN, а также новый динамик WLAN . Поменял детали и попробовал еще раз с Cyanogenmod 10.2. Угадайте, что, Wi-Fi снова работал. Но, к сожалению, не очень долго. Я не совсем уверен, но предполагаю, что Wi-Fi снова отключился после выхода из режима полета.

Затем я попробовал два других пользовательских ПЗУ: SlimKat 4.4. Slim-i9300-4.4.4.build.9.0-OFFICIAL-8312 и Liquid Smooth Lollipop (5.0.2), который до сих пор стоит на телефоне.

На Liquid Smooth мне пару раз удавалось вернуть Wi-Fi (это означало, что я мог видеть локальные сети в пределах досягаемости и даже подключаться к одной из них), но ненадолго, и в конце концов он снова умер навсегда.

Я действительно смущен вопросом: это проблема программного или аппаратного обеспечения? Я отправил модуль динамика WLAN обратно продавцу и попробовал другой, но с тех пор не смог восстановить WLAN.

Другие вещи, которые я пробовал

Я пробовал некоторые приложения для исправления WLAN (без успеха):

  • Wi-Fi Fixer
  • Блейд Wi-Fi Исправление
  • Исправление и восстановление FXR WiFi 1.5.0

Я попробовал некоторые бесполезные вещи с wpa_supplicant.confфайлом, о котором я читал на другом форуме.

Кроме того, я также гуглил и, кажется, просмотрел всю первую страницу результатов поиска по многим поисковым запросам.

Логкэты

Я вставил подробные логарифмы в Pastebin:

  • Liquid Smooth boot в тот день, когда WLAN работала в течение короткого промежутка времени: https://pastebin.com/dT9Ucbs5
  • Liquid Smooth успешно активирует WLAN (ищите «банан», который является SSID, с которым я связан): https://pastebin.com/yQsgkQiV
  • Плавная загрузка Liquid и неудачная активация WLAN (самый свежий лог): https://pastebin.com/ikDr9vJi
  • Вывод dmesg: https://pastebin.com/0caXAPAd . Появляется сообщение: "не удалось включить универсальный адаптер DHD"

Буду очень признателен за любую помощь или совет. Что я могу еще попробовать? Что может быть причиной проблемы? Я что-то упустил из виду?

+1 за вашу должную осмотрительность! Я думаю, что это не аппаратная проблема, вспышка редко убивает одну часть вашего телефона. Может ли это быть проблемой ядра? Вы знаете, был ли он изменен во время прошивки CM11.2?
Рамона, привет, опубликуй, пожалуйста, вывод mount | grep efs Также дайте мне ссылку на ром, который вы прошивали, когда это началось?
@ZeroPaladn К сожалению, я не знаю, было ли ядро ​​изменено во время прошивки. @moonbutt74 Вывод маунта | grep efs есть /dev/block/mmcblk0p3 /efs ext4 rw,nosuid,nodev,noatime,user_xattr,acl,barrier=1,journal_async_commit,data=ordered 0 0. Я получил CM 10.2 отсюда , CM 11 отсюда . Спасибо вам обоим за ваши комментарии.
Рамона, хорошо, я получаю оба сейчас, я хочу сравнить boot.img, быстрый вопрос, если вы можете, сделайте резервную копию текущего ПЗУ и сделайте чистую прошивку cm-10.2.0-i9300, что означает сброс до заводских настроек и / или очистку до установить новый ром.
Я откопал сообщение на форуме , которое проходит через аналогичную задачу, в нем также упоминается испорченное ядро. Вы можете попробовать повторить шаги из сообщений №8 и №12 (сначала прочтите их оба).

Ответы (2)

Посмотрев на ваш dmesg, если я правильно понимаю, ваше устройство WiFi идентифицируется как mmc2внешняя карта

<6>[   18.525295] c1 mmc2: card inserted.
<4>[   18.525962] c1 wifi_platform_set_power = 1
<4>[   18.525970] c1 ------------------------------------------------------------------------------------------------
<4>[   18.525978] c1 brcm_wlan_power Enter: power on
<6>[   18.525983] c1 111brcm_wlan_power Enter: power on
<4>[   18.525988] c1 gpio_table = [2]
 
<7>[   18.526198] c1 WLAN: GPIO_WLAN_EN = 1
<4>[   18.730036] c1 wifi_platform_bus_enumerate device present 1
<4>[   18.730044] c1 gpio_table = [6] 

И циклически включается и выключается, потому что в него подается неправильное/чрезмерное напряжение.

<6>[   16.407671] c1 mmc2: card inserted.
<3>[   16.635241] c0 mmc2: cmd 52 command index error error
<3>[   16.636109] c0 mmc2: cmd 52 command index error error
<3>[   16.641166] c0 mmc2: cmd 8 command crc error
<3>[   16.641729] c0 mmc2: cmd 5 command end bit error
<3>[   16.642015] c0 mmc2: cmd 5 command end bit error
<4>[   16.642068] c0 mmc2: host doesn't support card's voltages
<3>[   16.642080] c0 mmc2: error -22 whilst initialising SDIO card
<3>[   16.643112] c0 mmc2: cmd 55 command end bit error

С новым оборудованием вам потребуется новая сборка ядра с правильной поддержкой устройств, скомпилированной в ядро. Я не уверен, повреждает ли это «зацикливание» ваше новое оборудование. В вашем вопросе было не совсем ясно, но я предполагаю, что это были внутренние изменения в аппаратном обеспечении вашего телефона? Вам, вероятно, потребуется узнать особенности этого нового оборудования, найти драйвер/источник ядра/поддержку и перенести его в ваш текущий исходный код, а также скомпилировать новую сборку, модули и все такое.

По сути, любая комната, которую вы прошиваете на этом «новом» устройстве, скорее всего, выйдет из строя в отделе WiFi, и даже перепрошивка на сток через / официальный выпуск прошивки вряд ли это исправит.

Да, аппаратное обеспечение OP изменилось - они заменили WiFi «антенну и динамик» после того, как стандартная прошивка не решила проблему. Если аппаратное обеспечение не совсем такое же, как у оригинала, тогда да, потребуется перекомпиляция ядра с соответствующим драйвером.
Спасибо за понимание! К счастью, я не выбросил оригинальное оборудование. Теперь я вставил его обратно в телефон и прошил Android Revolution HD 53.0 ROM, основанный на стандартном ядре. Флэш должен быть чистым, я сделал wipe data (сброс к заводским настройкам), wipe cache и wipe dalvik cache. По крайней мере, теперь я больше не вижу никаких сообщений, связанных с Wi-Fi, в dmesg , и я вернул свой mac-адрес. Однако logcat теперь сообщает мне Wi-Fi driver is unstable. Ха-ха, это действительно сводит меня с ума....

Переименование data\misc\wifi\wap_supplication.confфайла решило проблему для некоторых людей.

Система Android по умолчанию воссоздает wap_supplication.confфайл после его переименования или удаления. В моем случае, так или иначе, это сработало, но на короткое время. Наконец, я только что перезагрузил беспроводной адаптер, так что, скорее всего, это аппаратная проблема.

Во что переименовать data/misc/wifi/wpa_supplicant.conf? Я видел решения, чтобы полностью удалить это, но не переименовывать.