[Android General] jordanManfrey:
WORKAROUND: Wifi Connection drops and high System Interrupts CPU usage

Part 1: WiFi woes

Ever since I received my X10HD a month ago, I've been trying to track down a solution or at least a workaround for the flaky WiFi performance in Windows. I'm not sure if everyone suffers from the same issue, but given that the workaround is driver-related I'd be surprised if they aren't.

For instance, try entering this in the command line:

ping -t google.com

Getting request timeout errors every several pings? So was I. And nothing seemed to fix it.

EDIT: I finally found a real solution to this!! Original "disable the battery driver" solution is hidden below.

Source: http://h30434.www3.hp.com/t5/Window...Fi-slowdown-when-using-bluetooth/td-p/4859579

Open up regedit, go to

HKLM\System\CurrentControlSet\Control\Class

And search (use Ctrl+F) for "bLeisurePs"

Change the value from "2" to "0".

In Device Manager, disable the Realtek Wifi device and re-enable it.

No more packet loss!!!

Original solution:

I tried installing half a dozen versions of the RTL8723BS drivers, messing with the WiFi power management options, driver options, anything I could think to try, but to no avail.

Then, I decided to see if any other tablets with the same hardware had this issue. I quickly found out that the HP Stream 7 had the same problem. Then I saw a post mentioning that disabling the Microsoft ACPI-Compliant Control Method Battery driver seemed to restore reliable network performance.

http://h30434.www3.hp.com/t5/Windows-Tablets/Stream-7-wifi-drops/td-p/4762494/page/12

So I went into Device Manager, disabled the Microsoft ACPI-Compliant Control Method Battery driver, ran the ping again, and voila. Immediate hostname resolution. No more timeouts. 0% packet loss.

Of course, there is one major downside: you can't see the remaining battery power when the driver is disabled. I discovered that re-enabling the battery driver immediately displayed the battery level again, and disabling it immediately fixed WiFi performance.

So I went hunting for tools that allowed for command-line enabling and disabling of drivers, with the idea that I could make a pair of shortcuts on my desktop and start screen to quickly enable or disable the driver (navigating Device Manager on a tablet is not fun).

The solution was a Microsoft tool called "DevCon.exe". The current version comes with Visual Studio 2013 or WDK 8.1 (Windows Driver Kit). WDK 8.1 is a big boy (~500MB) and kind of overkill just to get your hands on the 77KB devcon.exe, so I uploaded it to mega for your convenience:

https://mega.co.nz/#!DcdWWTxZ!DT2lo7MI3cCjegUCGMRSjM8HDP1MWJNs2LbzKSwOApI

If you don't want to trust some random guy on the internet's executable, go ahead and grab the Windows Driver Kit here:

http://go.microsoft.com/fwlink/p/?linkid=393659

Instructions on where to find the x86 version of DevCon.exe after install can be found here:

https://msdn.microsoft.com/en-us/library/windows/hardware/ff544707(v=vs.85).aspx

Once you have devcon.exe, you'll need to make two shortcuts to it: one that includes the arguments to enable the driver, and one to disable it.

To make the "enable" shortcut, right click>properties on the shortcut to devcon.exe and add the following text to the end of the "Target" field under the "Shortcut" tab in the properties window:

enable *PNP0C0A

Example:

[IMG="Shortcut enabling battery driver"]http://i.imgur.com/M71O17p.png[/IMG]

Note: the "PNP0C0A" comes from the "Device instance path" property when you right click > Properties > Details on the "Microsoft ACPI-Compliant Control Method Battery" driver in device manager. I'm not sure if this is the same for all tablets (I don't have another one to check). If it's different, replace the "PNP0C0A" portion of the shortcut's target field with whatever you find there.

Example:

[IMG="Where to find the battery device instance id"]http://i.imgur.com/GKU2mSO.png[/IMG]

Also, under the compatibility tab in the shortcut properties window, you should check the "Run this program as an administrator" box. Devcon.exe should ask for admin privileges even if this box isn't checked, but it doesn't hurt.

Click Apply and OK, now repeat the process for your other shortcut to devcon.exe that disables the battery. The only difference: replace "enable" with "disable", like so:

disable *PNP0C0A

Now you can simply double click/tap the "Enable Battery" shortcut when you need to check battery life, and the "Disable Battery" shortcut when you're done. It's not an ideal solution, but I'll take it over awful WiFi reliability any day.

Battery life doesn't seem to be affected by running the tablet with the battery driver disabled. I get the same ~10% per hour screen-on usage I was getting before. Also, you can change the Wireless Adapter settings in your Power Profile to any power savings scheme you like, and it doesn't seem to affect connection reliability.

Part 2: A System Interrupted

This issue is a holdover from other Teclast tablets like the X98 Air II. You might not have ever noticed it, but your battery life did.

If you put your tablet to sleep or hibernate, then wake it back up, a lot of times you'll see an entry in the Task Manager called "System Interrupts" using anywhere from 6-25% of your available CPU, constantly. I tried using DPC latency analysis tools to find the root of the issue, but couldn't pin it down to any single driver.

There's an easy fix for this that you might not like, but works well. Change the power button settings to always shut down the tablet. And I mean REALLY shut down the tablet. That means disabling Fast Startup mode. Instructions Here:

http://winaero.com/blog/how-to-disable-or-enable-fast-startup-in-windows-8-1/

Note that even with fast startup disabled, it takes maybe 15 seconds at most to boot into Windows. I'll take that over losing an entire CPU core to bad drivers.

You'll might have to disable Connected Standby to change what the power buttons do, I can't remember since I disabled connected standby on my tablet a while ago. For instructions on how to do that look here. If you're shutting down the tablet instead of sleeping it, you might as well do this anyway:

https://forums.lenovo.com/t5/ThinkPad-Tablets/How-to-disable-connected-standby/m-p/1367197

Hope these tips helped!

-manfrey