Posting this because a lot of us have the greyed-out Wi-Fi toggle on Phone (2), and support keeps telling people to factory reset. I pulled a full bugreport and the logs settle it. This is hardware. A reset will not fix it.
SETUP
Phone (2), Nothing OS 4.1, build Pong-B4.1-260818-1726-EEA. Bugreport taken 14 Sep 2026.
SYMPTOM
Tap the Wi-Fi toggle, it accepts the tap, then greys out and never reaches the enabled state. No networks listed. Intermittent over long periods: it worked fine for about a week, then died again two days ago.
WHAT I RULED OUT FIRST
- Bluetooth works normally.
- Wi-Fi MAC address is present and valid, so the persist partition and calibration data are intact.
- Fails in safe mode too, so no third-party app is involved.
- Network settings reset, repeated reboots, long power-off cycles: no effect.
- “Google Wi-Fi Provisioner” doesn’t exist on this build, so that fix going around the forum doesn’t apply here.
THE ACTUAL CAUSE, FROM THE KERNEL LOG
msm_pcie_link_train: PCIe RC0 link initialization failed LTTSM STATE: LTSSM_DETECT_QUIET
cnss: Failed to enable PCIe RC0, err = -1
modprobe: Failed to load module qca_cld3_qca6490.ko: Invalid argument
And the Android layer downstream of it:
E android.hardware.wifi@1.0-service: Failed to load WiFi driver
E WifiVendorHal: Failed to start vendor HAL
E WifiNative: Failed to start Hal
LTSSM_DETECT_QUIET is the very first stage of PCIe link negotiation, where the controller looks for a receiver termination at the other end. Getting stuck there means the controller sees nothing electrically present on the bus. Not a firmware problem, not a driver version problem — the endpoint simply does not answer.
I counted 16 link training attempts in the log, 16 failures, all at the same state, zero successes. The SoC-side PHY initialises fine every time (“PCIe RC0 PHY is ready!”), so the controller is healthy. The fault is on the endpoint, which is the QCA6490 Wi-Fi/BT module.
Everything else follows mechanically: no PCIe link means modprobe can’t load the kernel module, so the vendor HAL never starts, so WifiService stays stuck in ENABLING — and that’s exactly why the toggle greys out and never comes back.
WHY BLUETOOTH STILL WORKS
BT on the QCA6490 runs over UART/SLIMbus, not PCIe. The module is powered, but its Wi-Fi side is dead on the bus. Same reason the MAC address still shows: it’s read from persist without ever touching the chip.
WHY IT COMES BACK SOMETIMES
This is the part that matches what so many of you describe — power the phone off for 12-24h and Wi-Fi works for a few days. A dead component never does that. Fatigued BGA solder under the module does exactly that: the joint re-contacts through a thermal cycle, holds for a while, then the microcrack reopens. Expect the working windows to get shorter over time.
WHAT TO DO WITH THIS
Stop factory resetting, stop flashing fastboot ROMs, stop chasing developer-options workarounds. None of it can bring back a PCIe endpoint that doesn’t respond.
If you want to check your own device: enable USB debugging, then
adb bugreport
and search the output for “link initialization failed” or “qca_cld3”. If you see LTSSM_DETECT_QUIET, you have the same fault and you have evidence.
Take that to support. This is the thing that was missing from all the tickets that got refused — it’s a documented hardware failure, not a software bug, and it’s not something a user can cause. The fix is a reflow/reball of the module or a board replacement.
Happy to compare logs if anyone else pulls a bugreport.