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$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, 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..

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"


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 🙂


This blog post isn’t about sleep

Sleep is weird isn’t it? Leaving aside all the deep scientific questions surrounding it, sleep is just a bit weird.

Have you ever had a night where you don’t dream? Where you close your eyes and open them again, and somehow six hours have passed? I used to get them all the time growing up, but now it tends to be the other way around – I close my eyes and try to sleep, the seconds feeling like those hours.

I just don’t sleep all that well anymore. It’s half midnight as I write this in the living room, having spent the last couple of hours willing myself to fall asleep.

Or maybe I get too much sleep? At some point last week, I fell asleep at about 5:00AM and slept through until 1:00AM the next day. I’m no doctor, but that can’t be good for you..

Whatever, this blog post isn’t meant to be about sleep.

I’ve been toying with writing about myself (how self-centered, I know..) but putting it off for a couple of reasons. Leaving aside the fact that I hardly think I’m interesting enough to write about, my concerns are more along the lines of prospective employers/clients reading the thoughts which fill my mind and deciding to give me a wide berth.

Like a block his number and never ever hire him sort of wide berth.

You see, my mind isn’t that special – it’s not impressively smart nor is it freakishly broken. It’s just not quite right, but there’s nothing special about that, as lots of people suffer from much worse. I’ve got ADHD, but then again so have a lot of people. I’ve been diagnosed with severe manic depression, but again, lots of people deal with that on a daily basis.

Growing up, I was fairly normal (as normal as an introverted, geeky person could be). Around the middle of secondary school, I started having issues with friends. This is something which I know needs to be explored in therapy properly one day because I just can’t get my head around what went wrong.

Side note: a lot of people see therapy as something someone needs to do to get better, or they see it as a big deal. Lots of people seem to dislike therapy, and it carries a bit of a taboo (or is that just mental health in general?). I’d ask you to see therapy as a tool, because for a lot of people that’s all it is – the therapy I’ve had over the years has been a tool to help me understand my own mind.

During this time, I alienated a lot of my secondary school friends. Unfortunately, it’s much easier for these people to see me even now as the person I was rather than the person I have become.

In 2019, I had my first psychotic episode.

Before I continue, I’d like to clarify what that means, as the word “psychotic” gets thrown around a lot. Psychotic symptoms are thoughts which are out of step with reality, normally categorised as “delusions” (false beliefs) or “hallucinations” (false perceptions).

So, early 2019 – something inside my mind snapped. I began to accept my delusions as facts. It took months of therapy, some of which is still ongoing, to work out what went wrong, and why. I think it’s worth saying that therapy did not “fix” my mind, the thing which snapped remains snapped, but an understanding of what happened helped me move past my delusions.

I hurt people during that episode and the long recovery afterwards. I also learnt the hard way one of the most important lessons someone who has suffered a psychotic episode can learn – we are all accountable for our actions, regardless of our mental state.

Up until that lesson was learnt, I felt that my psychosis gave me a free pass to “write off” the things I had said due to my delusions. Where I’d had the false belief that a friend did something out of malice to punish me, for example, I would believe that the cruel words I had said to them in that moment should just be forgotten, as it was “only my condition talking”.

As much as perhaps in an ideal world this would be the case, here in the real world it doesn’t work that way – I had said these things, therefore I had to be accountable. It’s a tough pill to swallow, but your mental state is not an excuse, nor can it be a crutch.

So, where am I now? It’s the end of 2020, and this has been a tough year for everyone. On the whole, right now, I’m doing good – a month or so ago, not so much. The psychosis which I’d spent months working through at the end of 2019 and start of 2020, which I’d perhaps naively thought had gone for good, reared its head again and I wasn’t prepared.

Not just unprepared to handle it, but unprepared to accept that it could happen – I had fooled myself into believing that once I was “better” after my episode in 2019 that I was cured. Perhaps this was a delusion as well? A friend told me recently that last year I at least accepted I wasn’t well, that this time around was scarier as I did not recognise my illness. That friend unfortunately took the entire force of my psychotic outburst.

In doing so, I recognised the delusions and could begin to work to bring them under control again.

In doing so, I hurt someone close to me irreparably.

Never has the painfully learnt lesson been more applicable.

We are all accountable for our actions, regardless of our mental state

So what’s the purpose of this blog post? Is it simply a rant? A way of getting catharsis from these pent up feelings? I’m not sure, but perhaps someone will read this and begin to challenge their own delusions, or at least understand that they’re not alone in feeling these things.

Mental health issues are slowly becoming less of a taboo, but we’re still a long way from having a healthy public discourse about them. Repressing these issues, which I’m fairly confident in saying affects everyone at some point in their lives, is dangerous.

Feeling these things can be so lonely, especially when you are able to separate your delusions from your own thoughts. You can see the pain you inflict from both the position of the aggressor and the outsider, but you have no place as either.

Social media is filled with empty platitudes when it comes to mental health awareness days – statements from people entoning that “You Matter.”, “You Are Not Alone.” – the same people who will so often shun a genuine call for help.

Please don’t offer your words in a Tweet or a Facebook update. Instead, ask your friend who seems to be struggling a bit how they’re doing today – then ask them again.

If you’re having a hard time, visit and talk to The Samaritans – help is available right now.


Panic! At The December 2020 Core Update

I’ve actually got a draft post which I started yesterday about Technical SEO to finish, but something caught my interest today – Google announced the roll out of their December 2020 Core Update.

Like any Core Update, this is going to be a large change to their search and ranking algorithm, and the Panic! has already begun 😁

I keep a vague, interested yet sceptical eye on some of the more technical aspects of the SEO world – I’m putting my money on the update to include some of these:

Web Vitals

As already hinted at and incorporated in some other algorithm changes, it’s fairly likely that this Core Update is going to push Web Vitals to the forefront of the performance-led ranking. I’m still waiting for the “Fast Site” badges in Google Chrome…


We’ve already seen Google (and by extension, the Google Chrome browser) lean heavily on webmasters to ensure their sites are secure, and penalising those which aren’t. If not already firmly in their algorithm, non-HTTPS websites are going to get a big bump.

Tarling Consultancy Ltd

Oh God, I’ve started my own company

November 2020 was a weird month for me (2020 was just weird anyway..) – I left my job of four years to move back home to Cornwall.

The idea of IT and development contracting has always appealed to me, there’s a lot of money to be made and flexibility to be had, and being able to move back closer to where I grew up and spend time with my family has always been an end goal. If this year has taught me anything, I think it’s that we all take our families for granted.

So I sit here writing this on my first Monday not in the office, and to be honest it’s a bit emotional – leaving somewhere I’ve worked day after day for four years is emotional, I’ll miss being in the office and working with those people. Excuse the gushy clichés, but I can never thank my employer enough for the opportunities they gave me, the crash course in learn it quick and apply it quicker, and the push to succeed.

Onwards and upwards though.

I registered Tarling Consultancy Ltd on the Government website for the absolute bargain of £12, and plumbed in my details as requested. Easy. Done. Or so I thought..

Ignorance is bliss, and although I “knew” about all the obligations about company accounts and tax now facing me, it wasn’t until I spoke with an accountant that I realised just how much work goes into running a one person limited company – and that was before I was VAT registered. God knows what my previous employer’s accountants had to deal with!

I’m awful at blogging, but here’s something I’m fairly sure I might be able to stick to – documenting the decent into madness fun which is running a company.

Here’s where we are to date, in roughly the order I did them:

  1. Register a limited company
  2. Register all the domains
  3. Get a business bank account
  4. Sign up to Sage Cloud Accounting (not an affiliate link, just genuinely a good service!)
  5. Speak to an accountant
  6. Realise that for all the web design and development I’ve done, marketing yourself is tricky

What’s next? Well, other than actually getting some slightly longer contracts, I need to finish my website(s) and start marketing myself.

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

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