Categories
Technology

Issues with Google Pixel 3 XL’s WiFi and Bluetooth

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 on YouTube by “To create a” showing a board repair for this problem. Seems its more hardware than software..

Categories
Guides Technology

Using PHP 8 with Laragon

Laragon is local WAMP development server (and a much better one than XAMMP..) – I use it for most of my development work.

Recently I’ve moved a couple of my ongoing projects over to PHP 8, and was caught out slightly by some unexpected behaviour.

Laragon makes it pretty easy to add a new PHP/Apache version, but it makes a slight mistake when generating the mod_php config.

You need to change

LoadModule php8_module "C:/PATH/TO/laragon/bin/php/php-8.0.2-Win32-vs16-x64/php8apache2_4.dll"

to

LoadModule php_module "C:/PATH/TO/laragon/bin/php/php-8.0.2-Win32-vs16-x64/php8apache2_4.dll"

Otherwise you will get an error when starting Apache 🙂

Categories
Guides Linux Technology

How to rotate the WaveShare WS170120 HDMI/USB touchscreen on a Raspberry Pi 4

We’re developing a new product at work, and used a WaveShare WS170120 7″ HDMI/USB touchscreen and a Raspberry Pi 4 during the control prototyping.

The 7″ touchscreen had to be rotated by 90 degrees, and working out how to do this wasn’t that straightforward, so I thought I’d publish it just in case it helps anyone out.

Rotating the display output

To rotate the display, this command should be run at boot:

xrandr --output HDMI-1 --rotate right

More information on the xrandr command can be found at https://xorg-team.pages.debian.net/xorg/howto/use-xrandr.html

Rotating the touchscreen overlay

This was a bit more difficult – several forum posts were either out of date or only gave part of the required information.

This command should also be run at boot:

xinput set-prop 'WaveShare WS170120' 'Coordinate Transformation Matrix' 0 1 0 -1 0 1 0 0 1

A good resource for the xinput command can be found at https://linuxhint.com/change_mouse_touchpad_settings_xinput_linux/