<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.9.3">Jekyll</generator><link href="http://n7.pm/feed.xml" rel="self" type="application/atom+xml" /><link href="http://n7.pm/" rel="alternate" type="text/html" /><updated>2023-10-19T16:02:42+00:00</updated><id>http://n7.pm/feed.xml</id><title type="html">fox8091</title><subtitle>Ramblings about personal projects</subtitle><author><name>fox8091</name></author><entry><title type="html">Disabling soldered Wi-Fi in software</title><link href="http://n7.pm/qca6174/" rel="alternate" type="text/html" title="Disabling soldered Wi-Fi in software" /><published>2023-10-19T00:00:00+00:00</published><updated>2023-10-19T00:00:00+00:00</updated><id>http://n7.pm/qca6174</id><content type="html" xml:base="http://n7.pm/qca6174/">&lt;p&gt;Laptops with soldered Wi-Fi chipsets can be a huge pain, as when the Wi-Fi chipset dies, it renders the machine near unusable. This was the case for a system owned by a friend of mine, leading to consistent hangs during the boot process under Windows and kernel hangs under Linux. They managed to solve the issue for Linux by blacklisting the kernel driver (&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ath10k_pci&lt;/code&gt; in the case of the Qualcomm Atheros QCA6174 in their system), however, they were unable to solve the issue under Windows. Given that I have decent experience with Windows internals, and have previously dealt with device blacklisting as used for Hackintosh setups (macOS running on non-Apple hardware), I offered to help.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/posts/qca6174/laptop_hang.jpg&quot; alt=&quot;Laptop failing to boot&quot; /&gt;&lt;/p&gt;

&lt;p&gt;My first thought was to block driver installation for the affected device with the &lt;a href=&quot;https://learn.microsoft.com/en-us/windows/client-management/mdm/policy-csp-deviceinstallation#preventinstallationofmatchingdeviceids&quot;&gt;PreventInstallationOfMatchingDeviceIDs&lt;/a&gt; Group Policy. This allowed Windows to boot, however, it immediately threw a MACHINE_CHECK_EXCEPTION BSOD when connected to the internet due to Windows attempting to probe the device during Windows Update. My next idea was to blacklist Windows driver updates via &lt;a href=&quot;https://learn.microsoft.com/en-us/windows/client-management/mdm/policy-csp-admx-devicesetup#driversearchplaces_searchorderconfiguration&quot;&gt;DriverSearchPlaces_SearchOrderConfiguration&lt;/a&gt; (Or more accurately in this case, by setting the backing registry key &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;HKLM\SOFTWARE\Policies\Microsoft\Windows\DriverSearching\SearchOrderConfig&lt;/code&gt; to 0). While both of these seemed to help, neither entirely prevented Windows Update from attempting to install drivers for the Wi-Fi card. To deal with this, an additional Windows Update for Business Group Policy, &lt;a href=&quot;https://learn.microsoft.com/en-us/windows/deployment/update/waas-configure-wufb#exclude-drivers-from-quality-updates&quot;&gt;ExcludeWUDriversInQualityUpdate&lt;/a&gt;, needed to be enabled. Following this, the laptop happily booted into Windows, even when connected to the internet.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/posts/qca6174/laptop_booted.jpg&quot; alt=&quot;Laptop booted into Windows&quot; /&gt;&lt;/p&gt;

&lt;p&gt;All in all, this was a fun deep-dive into Windows policy options, and a great exercise in working around hardware issues in software. If you happen to face similar issues, the registry file to enable these tweaks is provided &lt;a href=&quot;/files/DisableWifi.reg&quot;&gt;here&lt;/a&gt;. Do note however that this is not entirely plug and play, as &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;PCI\\VEN_168C&amp;amp;DEV_003E&lt;/code&gt; must be replaced with the hardware ID for your Wi-Fi chipset.&lt;/p&gt;

&lt;p&gt;If you have any questions or comments regarding this endeavour, please feel free to reach out via the email provided at the bottom of the page.&lt;/p&gt;</content><author><name>fox8091</name></author><category term="Hardware" /><category term="Windows" /><category term="Drivers" /><summary type="html">Laptops with dead Wi-Fi chipsets are near useless. Windows hangs during boot, and Linux requires relatively obscure workarounds. Let's fix that.</summary></entry></feed>