I’d recently been having some issues with my Google Pixel 3XL - I’ve had the phone a while, so it’s fairly common for some little issues to crop up nearing the end of a contract (just as the warranty expires of course..)
This however was a bit of a shitty one. The bluetooth and WiFi would suddenly turn off (normally when I’m driving somewhere and relying on the bluetooth for Waze) and just would not turn back on.
Unfortunately, this is apparently a known issue with the Pixel phones and the Android 11 update. Joy.
I’d tried the ol’ turn it off and on again, resetting the WiFi and bluetooth settings etc.
Sometimes this worked, sometimes it’d just take a few hours and then come back. I’d even tried a full factory reset to see if it’d stop it for good.
Today however it has persisted through it all… and knowing that sending it off to get repaired wasn’t going to happen, I thought “fuck it, I’m going to find out what’s going on”.
I launched the adb shell
and started logcat
:
03-01 13:32:04.439 1054 1054 E [email protected]: Failed to write driver state control param: Invalid argument
03-01 13:32:04.440 1054 1054 E [email protected]: Failed to load WiFi driver
03-01 13:32:04.440 1054 1054 E [email protected]: Failed to initialize firmware mode controller
03-01 13:32:04.440 1054 1054 E [email protected]: Wifi HAL start failed
03-01 13:32:04.442 1528 1828 E HalDevMgr: Cannot start IWifi: 9 ()
03-01 13:32:04.442 1528 1828 E WifiVendorHal: Failed to start vendor HAL
03-01 13:32:04.442 1528 1828 E WifiNative: Failed to start vendor HAL
03-01 13:32:04.442 1528 1828 E WifiNative: Failed to start Hal
03-01 13:32:04.443 1528 1828 E WifiClientModeManager: Failed to create ClientInterface. Sit in Idle
03-01 13:32:04.443 1528 1828 D WifiScanRequestProxy: Sending scan available broadcast: false
03-01 13:32:04.445 1528 1847 D WifiHandler.WifiScanningService: handleMessage Received message=159775 sendingUid=1000
03-01 13:32:04.445 1528 1828 I WifiScanRequestProxy: Scanning is disabled
03-01 13:32:04.446 1528 1847 I WifiScanningService: Received a request to disable scanning, UID = 1000
03-01 13:32:04.446 1528 1847 I WifiScanningService: wifi driver unloaded
03-01 13:32:04.447 1528 1828 D WifiClientModeManager: received an invalid message: { when=-20s604ms what=2 arg1=2 target=com.android.wifi.x.com.android.internal.util.StateMachine$SmHandler }
03-01 13:32:04.447 1528 1828 D WifiController: STA disabled, return to DisabledState.
03-01 13:32:04.447 1528 1828 D WifiController: EnabledState.exit()
03-01 13:32:04.447 1528 1828 D WifiController: DisabledState.enter()
03-01 13:32:05.156 1046 1118 I CHRE : @ 2299.644: [cc] onArResult activity=5, conf=421
03-01 13:32:05.973 1528 2212 I WifiService: getConnectionInfo uid=10146
03-01 13:32:05.974 1528 2212 V WifiService: getConnectionInfo: hideBssidSsidAndNetworkId=true, hideDefaultMacAddress=true
Interesting, but not entirely useful - a quick Google of things like “[email protected]: Failed to load WiFi driver
” didn’t turn up any results which weren’t related to custom ROMs.
I was starting to think rooting my phone was going to be the only way of fixing a failing WiFi driver. Thankfully rooting Google devices is fairly easy, so following a guide from xda-developers.com, I got into the fastboot bootloader.
The command “fastboot flashing unlock
” didn’t work for me, as I hadn’t enabled this in the developer options. Sigh. Another quick reboot to enable that and oh… the WiFi and Bluetooth is working again…
I’m not sure if doing a “hard reboot” into the bootloader is any different than a normal reboot, but maybe it helped?
UPDATE 06/03/2021
The issue came back, and some further searching found this thread with a weird suggestion:
Temporary fixes are to restart the phone and when the Google Logo appears, tap the back of the phone.
It works. Turn off your phone, turn it back on and when the Google logo appears, tap anywhere on the back of your phone (a bit harder than typing on a old keyboard or something).
There’s also a video (archived) on YouTube by “To create a” (copied below) showing a board repair for this problem.
Seems it’s more hardware than software…