Binglong's space

Random notes on computer, phone, and life

Archive for the ‘Computer and Internet’ Category

Update Driver of AMD Radeon HD 6470M in HP EliteBook 8460p for OpenCL

Posted by binglongx on September 1, 2015


I would like to try out OpenCL on my laptop. The HP EliteBook 8460p Windows 7 x64 laptop came with an old factory graphics driver for AMD Radeon HD 6470M chip. The driver was too old and it did not support OpenCL. According to the guideline, I need to:

AMD Driver Installers

The first latest driver installer that I downloaded was amd-catalyst-15.7.1-without-dotnet45-win7-64bit.exe (238MB). Although the package appeared too big, it seemed successful in installation without any error message. But I checked the installation log and there were 4 or 5 obscure error entries. When I ran the installed AMD Catalyst Control Center, it said “Catalyst Control Center cannot be started”:


This was a bad sign. From my past experience with AMD video driver installer, I suspected it again went wrong. After I installed AMD APP SDK and built the HelloWorld OpenCL example in Visual Studio, the example crashed at the call of clGetPlatformIDs. It’s obvious that the OpenCL driver was also not installed correctly.

The GPU Caps Viewer is a very popular tool to check the GPU and driver software status. So I downloaded the latest GPU Caps Viewer 1.23.0 and wanted to check around. However, GPU Caps Viewer also crashed at launching, obviously it did not expect calls to functions like clGetPlatformsIDs would crash.

So I had to go back to Windows Programs and Features, run AMD Catalyst Install Manager to uninstall all AMD driver software components, and try to reinstall them. While uninstallation was ongoing, all the displays went blank (I had two external monitors connected to the dock, and the laptop was on dock). After waiting for 5 minutes the monitors did not seem to come back on, I had to hold the power button of the laptop for 10 seconds or so to force shut down the laptop. When the laptop booted up, it showed an awful 640×480 VGA desktop. The worse, the laptop did not detect my external displays on dock!

Now I decided to download a different driver installer, amd-catalyst-15.7.1-with-dotnet45-win7-64bit.exe (286MB) and hoping better luck. The bulky thing again seemed to install successfully, but the Catalyst Control Center still did not run, and the screen was still VGA. Basically it did not install successfully. I even thought that maybe HP’s driver, rather than AMD’s driver, would work, and downloaded the HP’s corresponding driver sp64287.exe. Upon installation, it did not change anything, and my external displays were still gone.

System Restore

In the end I thought maybe I should quit trying OpenCL on PC. I wanted my full resolution screen and big external displays back! The last resort was Windows System Restore. I wanted to restore to a restore point before all this mess. Luckily I had one such restore point. After restoration and reboot, my default laptop screen was full resolution, but the two external displays were still not detected. System Restore reported that the restoration was not completed successfully, probably due to anti-virus software interference. But this is my work laptop and I could not turn off anti-virus software protection due to lack of security privileges.

I decided to chat with IT for help, to either install the AMD driver properly, or restore to the previous restore point correctly. I was amazed how today’s IT working remotely on my computer, but obviously they did not have much experience to this situation.

Manual Driver Update

While IT was remotely working on my laptop, I suddenly wanted to have another try. In Device Manager, under Display adapters, it had only one entry, Standard VGA Graphics Adapter. This was obviously not correct. Right click on the entry, then choose Update Driver Software, from there I wanted to manually install drivers rather than using AMD’s installer.

So I first used 7-Zip to open the downloaded driver installer amd-catalyst-15.7.1-with-dotnet45-win7-64bit.exe. Although it is an executable file, it is in fact a compressed archive of many driver files. 7-Zip reveals that the file contains quite some directories and file. Skipping the directory with garbled characters (probably 7-Zip’s problem), I extracted the directory with Bin64, Config, Images, and Packages to my hard drive. The drivers seem to be under Packages\Drivers directory.

Now I came back to Update Driver Software, and choose Browse my computer for driver software. Then I chose the parent directory with extracted files from AMD installer. After a few minutes, the driver was installed. Upon reboot, the two external displays come back on, and the screen resolutions are full!

Device Manager shows that the Display adapter is AMD Radeon HD 7400M Series. It is a bit off from 6470M, but it seems to work fine. At least it is not the lame Standard VGA Graphics Adapter.


I do not have the fancy Catalyst Control Center software installed, but that’s not a big deal.

The better, when I run GPU Caps Viewer, it does not crash any more:


More details on OpenCL support of AMD Radeon HD 6470M:


This means not only the graphics driver was installed correctly, but also the OpenCL 1.2 driver was also installed correctly. Now the AMD APP OpenCL HelloWorld example code would run:



If you could not install AMD graphics driver correctly using AMD installer, try to extract the driver files in the installer with 7-Zip and manually update the drivers in Device Manager. This even installs OpenCL drivers.

Posted in Computer and Internet | Tagged: , , , , , , , , , , , , , , , , , | 2 Comments »

A Weird Windows Update Problem Causing Application Installation Trouble

Posted by binglongx on August 11, 2015

I have a Windows laptop that was not used often. My wife decided to blow the dust and take it for a trip. Since she wanted to take care of some work in travel, she needed to install the VPN client on it, which is Palo Alto GlobalProtect.

After downloading the installer from her employer’s website, the installation of GlobalProtect went well without any error. However, when the VPN client was launched, it did not run. It showed an error message like “…The application has failed to start because its side-by-side configuration is incorrect. Please see the application event log or use the command-line sxstrace.exe tool for more detail.

With past experience in SxS errors, I knew its much easier first to pull Event Viewer than to run sxstrace.exe. In Event Viewer under Application events, it said that GlobalProtect could not run because its dependency assembly, Microsoft.VC90.MFC, version 9.0.21022.8, could not be found. Obviously, the GlobalProtect installer did not install the SxS assembly correctly although it did not report any error.

So I went online and downloaded the Microsoft Visual C++ 2008 Redistributable package matching to version 9.0.21022.8. However, when I tried to install the package, the installer failed with “Error 1935. An error occurred during the installation of assembly… HRESULT: 0x80071A91”. I should have known that the GlobalProtect installer was not so stupid to forget to install the Visual C++ Redistributable. But it’s still to be blamed for not reporting the error while it was not able to install the VC++ Redistributable.

What could prevent the VC++ Redistributable from installing? This normally means the file system is not in a consistent state for SxS installation. This link suggests a few approaches to try:

  • I tried Method 1, fsutil resource setautoreset true C:\, to clear the file system transaction log, and it did not work.
  • I did not bother to try Method 2 to manually inspect the registry items under HKEY_LOCAL_MACHINE\COMPONENTS, which is normally tedious, risky and unfruitful.
  • I also tried Method 3 – I was able to uninstall the Visual C++ 2010 and Visual C++ 2013 Preview Redistributable packages. But after reboot, I still could not install Microsoft Visual C++ 2008 Redistributable. No matter the plain one or SP1, the installation resulted in the same error.

Now the only option was to perform Windows Update first and then try to install VC++ Redistributable.

I went to Windows Update. Since the laptop had not been used for a while, there were 146 recommended updates to be installed. I chose to install all, but it never showed any progress even after one hour. Although this discussion suggests that it might only be a UI issue and the underlying updates would still be advancing, my experience was not aligned to that. After long waiting, the error message popped up “Code 80071A30 Windows Update ran into a problem”. This link suggests two methods:

  • I tried Method 1, run the Windows Update Troubleshooter. Unfortunately, the tool reported no error, and did not work for me.
  • Method 2 is quite involved. It requires restarting Windows into Clean Boot, performing updates in Clean Boot, and restarting back to normal boot. Since there was no other way, I had to try this.

In Clean Boot, I tried Windows Update, but it again ran into problems. Now the error message was “Code 80248007 Windows Update ran into a problem”. Obviously, Windows Update was very very sick! Eventually with Resource Monitor (resmon.exe) and Task Manager, I realized Windows Update was constantly using almost 100% of CPU and having very high disk usage.

I had to stop Windows Update. Using Additional Manual Steps of this article, I was able to:

  • Stop the Windows Update service;
  • Delete temporary update files in subdirectories DataStore and Download under C:\Windows\SoftwareDistribution;

I did not bother to restart Windows Update service at the moment, because I needed to enable the VPN client GlobalProtect for my wife’s trip tomorrow and I could not afford any more delay!

Although Windows Update was no longer running, the Windows Module Installer service was still have high CPU and disk usage. According to this article, I changed Windows Update to Check for updates but let me choose whether to download and install them. Eventually after rebooting, the laptop did not show high CPU usage and Windows Update no longer ran.

Now I was able to install Microsoft Visual C++ 2008 SP1 Redistributable package successfully. GlobalProtect started fine! GlobalProtect had some glitch, in that it did not try to connect to the VPN server after entering credentials. But after reinstalling GlobalProtect, it works flawlessly. I will figure out how to re-enable Windows Update when her trip is over. Later.

Summary: Windows Update went wrong and kept crunching on CPU and disk, so VC90 redistributable could not be installed successfully. I had to stop Windows Update manually to allow correctly installing the software.

Update 8/16/2015: Checking Windows Update status reported 146 updates totaling 700+MB. Worried about the perpetual 0% downloading updates message, I decided to manually install tens of updates each time such that I could see progress. The Windows 8.1 Windows Update has some unfriendly UI if you want to select/deselect certain updates for installation and requires too many clicks, when you have a lot of different categories of available updates. Anyway I was able to install all the updates in 4 batches and 3 reboots with some patience. It might be okay if I chose to install all 146 updates in one shot; I just did not try. After that I turned on the Windows Update to automatic, hopefully this will not come to me again.

Posted in Computer and Internet | Tagged: , , , , , , , , , , , , , | Leave a Comment »

Direct Link/Host File on Google Drive

Posted by binglongx on August 9, 2015

Sharing Preview URL

It is easy to upload a file to Google Drive and share with anyone. After you share the file, you’ll get a URL sharing link like:

This shared file is an HTML file that allows easy navigation of C++ Quiz questions through JavaScirpt and IFRAME. The reason that I have to share the file through Google Drive instead of a blog post is that the file uses JavaScript and JavaScript is not allowed in posts.

I highlight the FILE_ID in the URL link above, which uniquely identifies the exact file I share. It should be obvious to find the corresponding FILE_ID when you share a file.

If you send out the URL link above to your friends, when they click the link, the browser will show a Google Drive preview of the file. Depending what type the file is, the preview may or may not be the action you want your friends to see. For example, the link above actually points to an html file. The Google Drive preview of the html file just shows the contents of the file as text, which is pretty much useless – I would like the browser to load and render the html file in most cases.

Host URL

If you would like to let the browser directly load and render your html file that you share on Google Drive, you can use a URL similar to this:

When you click the link above, the html file is loaded directly in the browser. In fact, right now it redirects to a non-obvious URL like this:

The html is loaded through https instead of http. This can cause trouble if iframes in the html use http src’s. Other lax browsers may warn and continue to render the iframes, but Chrome would just show blank iframes.

If you want to host a website, basically a Google Drive directory with a bunch of html and supportive files, you share the directory as host above. The index.html file in the directory is loaded if someone clicks the host link. Keep in mind your little website is served through https, not http.

Direct Download URL

Since my html is not really for https, I would like people to download the file and open locally in browser, rather than hosting as https. Below is the link that would download the file if clicked:

The file could be of any type. After it is downloaded, you decide how to open the file in your local OS.


Other than previewing a file shared on Google Drive, there are URLs to host or direct download the file. Just replace the FILE_ID with your own file’s id.

P.S.: To upload a new version of the file to Google Drive, choose the file in Google Drive page, then choose More actions | Manage versions… | Upload new version. This will keep the FILE_ID unchanged.

Posted in Computer and Internet | Tagged: , , , , , , , , , , , , | Leave a Comment »

Remove Malware JumboSale From Chrome

Posted by binglongx on August 8, 2015

My wife’s Windows 8.1 PC got some pesky malware, JumboSale, with the Google Chrome internet browser. When she used Chrome, the normal webpage was inserted with extra ads blocks with “ads by JumboSale”, or sometimes just stubborn popups with fake claims like “Your Windows is infected by a virus and please call 844-xxx-xxxx” even with women voice reading that repeatedly.

With my previous experience in fighting malware, I first tried similar measures: reboot Windows to Safe Mode, use Autoruns to identify suspicious items and so on. There are other websites regarding removing JumboSale, such as this and this. It was however not fruitful. It was not found in Windows’s installed programs. And no suspicious entry was found in Autoruns. After rebooting Windows back to Normal Mode, JumboSale came back to Chrome. The malware is really sneaky.

Chrome Menu | More Tools | Extensions did not show any trace of the JumboSale extension:


But Chrome Menu | More Tools | Task Manager showed JumboSale extension running (and still showing annoyances):


According to Google, they have Chrome Cleanup Tool. Running the tool did not find anything:


However, after the tool exited, I was able to update Chrome to latest version (I remember it said something like administrator did not allow updating Chrome), and Chrome was reset:


Now the JumboSale annoyances are gone.

Conclusion: Update Chrome to the latest version and reset settings to remove the secret JumboSale adware. The JumboSale extension must have used some nonpublic or flawed accesses in probably older Chrome versions.

Posted in Computer and Internet | Tagged: , , , , , , , , , , , | Leave a Comment »

Manual Installation of Foscam FI9821P and FI9816P

Posted by binglongx on July 30, 2015

The latest Foscam IP Wireless cameras, for example FI9821P and FI9816P, come with Foscam Remote Install service and Android/iOS Foscam App assisted QR scan via EZLink setup. These approaches shall make bringing the cameras online in a typical home network easier. I however do not like to call somebody over the phone or sign up an Foscam Cloud account when I just need to see the camera video initially. I think that is too involved. I still prefer traditional installation of the cameras, where I control every step.

The conventional setup of the Foscam wireless IP cameras starts with wired cable, just like installing Brother HL-2170W wireless laser printer. This is what I do:

  • Download Foscam Search Tool. Go to Foscam Support page. The page is quite cluttered at present, just search “Search Tool” in page. I use the Windows version Search Tool PC. Extract SearchTool.exe and run it. This tool can find Foscam IP cameras on your home network.
  • Power on FI9821p or FI9816p, and connect the camera to your home network with an Ethernet cable.
  • Now in the Search Tool window, you should see the camera appear. The most important information is the IP address and port where the camera listens. In my example, the port is 88. In fact my router is able to show the new camera’s IP address, but I would not know that I should use Port 88 without this Search Tool or referring to the user manual. Note that if your right click the camera entry in the Search Tool you can do quite a lot of other things with the camera.


  • Use a web browser to access the camera using the IP address and port number indicated by Search Tool. Here I use Internet Explorer. Google Chrome does not work for me because the camera wants to install an browser add-on, which Chrome would choke on. Click Allow to install the add-on.


  • The initial admin username and empty password would work out of factory when you click Login (Don’t worry about the stream at the moment). But it asks you to setup a new username and provide a corresponding password. After you do that, the default admin username is disabled, and you should use the new username and password to login.


  • Now you should be able to get into the camera! The Setup Wizard would welcome you. No worry, everything starting from here is straight forward.


  • The first two steps in Setup Wizard allow you to change camera name and date/time settings, very simple.
  • The third step in Setup Wizard is important if you intend to use it as wireless camera. Make sure you attached the Wi-Fi antenna to the camera, and click Scan. It should show your home Wi-Fi information. Fill in the SSID and encryption information and click Next. The last step of Setup Wizard should show that the camera get DHCP on your home router.


  • Once you get out of the Setup Wizard, you can finally see the video.


  • For me, I need to do a little bit more. Since I need to access the camera from the Internet while I am away from home, I will need to set up port forwarding on my router, and I need a fixed IP on camera instead of DHCP. I probably also need to change the port number as well since I will have multiple cameras on my home network. These can be changed in Settings | Network. Click Save.


  • Now you can disconnect the Ethernet cable from the camera. Wait for about 1 minute, the camera should automatically switch to use Wi-Fi. You should be able to access the camera using the IP address and port set previously.

After the camera is setup, there are a lot to be explored in settings. It would be better to refer to the official user manual if you find something unobvious.

Posted in Computer and Internet | Tagged: , , , , , , , , , , , , | Leave a Comment »

Windows 10 Insider Preview on VirtualBox

Posted by binglongx on June 29, 2015

I downloaded Windows 10 Preview through Windows Insider Program. With Oracle VirtualBox at my disposal, I can install Windows 10 Preview as a guest OS in the virtual machine and have a quick impression on Windows 10 without risking my current working system.

Install Windows 10 in VirtualBox

This is what I did to setup a virtual machine.

  • Download Windows 10 Preview ISO file. I use the 64-bit version Windows10_InsiderPreview_x64_EN-US_10130.iso.
  • Make sure you installed latest VirtualBox. I have VirtualBox 4.2.16 (x64) on my Windows 8.1 x64.
  • In VirtualBox, click New button (or Machine | New… menu item). This brings the Create Virtual Machine dialog box.
  • I choose the machine Name Windows10Preview, Type Microsoft Windows, and Version Windows 8.1 (64-bit). My VirtualBox does not directly support Windows 10 yet, so pretend to be Windows 8.1 for now. I tried Other Windows and the virtual machine would not boot.


  • Go through other regular settings, including Enable 3D Acceleration and Enable 2D Video Acceleration, and create the virtual machine. Then select the virtual machine, choose Settings | Storage, for Controller: IDE, mount the downloaded ISO as the CD drive. This is to let installer in the ISO run and install Windows 10 to the virtual machine when it boots.


  • Now start the virtual machine in VirtualBox. Go through the Windows installation routine. Eventually, you arrive at Windows 10:


That’s quite smooth.

You can unmount the ISO file from the IDE CD drive of the virtual machine now.

Change Screen Resolution for Windows 10 Virtual Machine

Due to the fact that Windows 10 is not natively supported by my VirtualBox, there is an immediate annoyance. The guest Windows 10 box has very limited choices for its screen resolution. My physical display is 1920×1080, but the Windows 10’s Microsoft Basic Display Adaptor only support video modes like, 640×480, 800×600, 1024×768, 1152×864, 1280×1024, and 1600×1200. None of them is suitable for my display.

Following the guide here, this is how I changed the screen resolution to match my display.

  • Shut down Windows 10 virtual machine if it was not.
  • Make sure that virtual machine is selected in VirtualBox, but not started:


  • In the host Windows system, run cmd.exe to open up a command line console window. Change directory to the VirtualBox installation directory (C:\Program Files\Oracle\VirtualBox on my Windows 8.1 x64), then run command VBoxManage.exe setextradata to add a custom video mode to the guest virtual machine you created. You can use VBoxManage.exe getextradata to verify the virtual machine has the data you set. This is what I run for my virtual machine “Windows10Preview”:
cd "C:\Program Files\Oracle\VirtualBox"
VBoxManage.exe setextradata "Windows10Preview" CustomVideoMode1 1920x1080x32
VBoxManage.exe getextradata "Windows10Preview" CustomVideoMode1
VBoxManage.exe getextradata "Windows10Preview" enumerate
  • This is a screenshot of my command line window:


  • Now start the virtual machine in VirtualBox. Go to Display Settings, you will find that the new resolution is available:


  • If you dig deeper, you can list all modes in the Microsoft Basic Display Adapter, and find the new resolution there:


  • Use that resolution, and the screen looks much better:



It’s quite easy to install Windows 10 Preview in VirtualBox, and following a few steps the virtual Windows 10 can use the full physical display resolution. I think a later version of VirtualBox will make this much easier.

Posted in Computer and Internet | Tagged: , , , , , , , , , , , | Leave a Comment »

Aukey Turbo Charger PA-U28 Impression

Posted by binglongx on June 7, 2015

As mentioned in an earlier post, Aukey Turbo Charger PA-U28 is a USB charger that supports Qualcomm Quick Charge 2.0 (QC2.0). This means it can charge QC2.0 compatible devices much faster, such as Moto X 2nd generation (Moto X2) phone.

The original wall charger coming with Moto X2 (rated 5.0V/1150mA) charges Moto X2 rather slowly. This is one measured example:

Charging Time (minutes) Battery Level
+  0 4%
+ 20 23%
+ 30 32%
+ 87 83%
+128 99%

On contrast, the Aukey Turbo Charger charges much faster. This is one measured example:

Charging Time (minutes) Battery Level
+  0 5%
+ 20 42%
+ 45 72%

In both examples, the Moto X2 phone was idle with Wi-Fi on while charging.

Aukey QC charger charges the phone much faster. When the battery level is low, it charges almost twice as fast as the factory non-QC charger (20 minutes to up the battery level by 37% vs. 19%). The phone was also hot when charged with Aukey charger; while it was not even warm when charged with the Moto X2 charger. When the battery level is higher, Aukey QC charger starts to slow down.

Posted in Computer and Internet | Tagged: , , , , , , , , | Leave a Comment »

USB Chargers

Posted by binglongx on May 13, 2015

A Myriad of USB Chargers

With the popularity of microUSB based charging on latest smart phones, tablets, and even some 2-in-1 laptops/tablets, I have basically quite some chargers around in home. These chargers normally have a USB A female socket and use a USB to microUSB cable, to charge the devices that has a microUSB female port. I just simply call them USB chargers.

Most of these USB chargers can be characterized with the rated output voltage and current. Below are some that I have:


Charger Voltage (V)

Charger Current (A)

LG Optimus V 5.1 0.70
Motorola DEFY XT 5.1 0.85
Samsung Galaxy Rush 5.0 1.00
Moto X 2nd Generation 5.0 1.15
Hisense SERO 7 Pro 5.0 2.00
Asus Transformer Book T100 5.0 2.00
HP Touchpad 5.3 2.00

As you can see, they have similar output voltages. Most of them have 5.0V rating. HP Touchpad has the highest output voltage, 5.3V. Their output currents can vary a lot though.

All the manufacturers warn that only their approved chargers can be used to charge the devices, to avoid damaging the device or charger. Of course this should be followed if possible. But I think we all have the chances that we want to just charge it with any convenient charger that we can grab close by. Can we do that?

USB Charging Basics

The USB interface has 4 wires/pins, Vcc(i.e., Vbus, +5V), D-, D+, Ground. Although USB was mainly designed for data communication, the presence of Vcc and Ground allows supplying power from one device to another device. The USB standard only allows the A-type socket to provide power. That’s why all these charges have a USB-A socket.

Any A-type socket may be ready to provide power, so it is dangerous to connect two A-type sockets using a USB A to A cable. That’s why most USB cables have only one A-type end; the other end is either B-type or micro-B type.

The device that receives power from USB normally have either USB-B type or microUSB-B type connector. In fact, ITU and other standard bodies endorse micro-B USB as data exchange and charging interface for the phones (and tablets). There are exceptions, such as Apple products that use the proprietary Lightning port, but they also provide microUSB to Lightning adaptors.

Connectivity aside, the actual charging involves drawing power in a way such that both the charger and the device agree. Unfortunately, this is very messy in the USB world. You can check The Basics of USB Battery Charging: A Survival Guide for details, but this is a short summary.

  • The dumbest charger/device just provides/draws power without any negotiation. The charger just leaves D+/D- float (not connected). The device may use D+/D- for data communication, but when in charging it does not check or makes no use of the two wires. Basically, it just uses USB as two wires and that’s it. This is not compliant to any USB standard. I suspect most cheap USB chargers are still like this.
  • USB 1.0/2.0 Power Specs. The initial USB 1.0/2.0 specs define two power supplying modes: 5V 100mA (Low Power) and 5V 500mA (High Power). A device can draw 100mA once connected to a USB power source; then it establishes USB digital data communication with the source through D+/D-, and use a digital protocol to negotiate with the source. It may be allowed to draw 500mA, or instructed to keep in the Low Power mode.
  • USB BC 1.1. The USB 1.0/2.0 Power Specs do not provide enough power to more power hungry devices, so a new spec, BC 1.1 comes to help. In BC 1.1, the device needs to check D+/D- (and sometimes additionally perform digital negotiation) to draw power from the source. There are three types of USB power sources:
    • Dedicated Charging Port (DCP). DCP internally shorts D+ and D- with a resistor of 0-200 Ohm. The device can detect the short and discover the source is a DCP. No digital communication is necessary. A DCP can supply up to 1.5A. DCP is still relatively dumb, and a lot of wall plug or car chargers belong to this category. A DCP does not perform data communication, i.e., is purely a power source.
    • Charging Downstream Port (CDP). A device needs to negotiate with CDP using hardware handshake through manipulating and monitoring D+/D- levels, however, no digital communication negotiation is needed. CDP can supply up to 1.5A. CDP powering and USB data communication can co-exist. Newer PCs and laptops have USB ports as CDPs to charge other devices.
    • Standard Downstream Port (SDP). SDP is basically the USB 1.0/2.0 Power Specs port (100mA or 500mA). BC 1.1 requires both D+ and D- to be grounded with 15k-25k Ohm resistor, and the device can detect that. From there, USB 1.0/2.0 Power Spec negotiation through digital communication is performed to determine whether possible to get to High Power mode. SDP powering and USB data communication can co-exist. Older PCs and laptops have USB ports as SDPs to charge other devices.
  • Manufacturer specific protocols
    • Apple chargers. Apple chargers pull D+/D- to certain levels, and Apple devices detect the levels to determine how much current to pull from the charger. See iCharging: The mysteries of Apple device charging for details.
    • Qualcomm Quick Charge. Qualcomm Quick Charge is open USB charging technology, see below.

A lot of USB wall chargers are dumbest chargers. The have arbitrary amperage ratings and non-5V voltage ratings, therefore are not conformant to the USB standards.

In general, higher charger output voltage means more capable in charging devices. For example, if I try to charge HP Touchpad with SERO 7 charger, most likely it would not charge anything, because the output voltage is just too low out of the charger. One the other hand, my HP Touchpad charger is the most powerful one and charges all the devices in my home. I was even successful in reviving almost dead battery of LG Optimus and breaking its boot loop as described in a previous post.

The output current dictates how fast the charger charges the device. For example, with the same output voltage, a 2.0A charger can charge 2 times as fast as a 1.0A charger. Normally more powerful devices have batteries of higher capacities, and use chargers with higher current ratings, so they do not need long time to recharge.

Asus Transformer Book T100 and BatteryBar

A lot of devices are also dumbest devices per USB charging. It draws power from the charger as long as it deems safe, without complying to the USB standards.

For some devices that try to be conformant, they may appear as picky ones, because they only draw a safe amount of current if they cannot determine the source type when the source is the dumbest charger.

The Asus Transformer Book T100 is 2-in-1 laptop/tablet that is “notorious” for picking chargers. Basically, its accompanying charger is slow in recharging the tablet. People try to use some other chargers with higher currents (and similar voltages), but they often find that it is charged even slower, drawing merely 500mA. Some people come up with mods to short D+ and D- in a dumbest charger, therefore per BC 1.1 DCP, T100 can draw up to 1.5A. Some other people report that not only T100 may be picky on chargers, but also picky on USB cables.

I am not sure if it’s really the different charging protocol, or just the voltage loss is too much on long USB cables of inferior quality (thinner metal wires therefore bigger resistance). And I do not want to modify my chargers. Luckily there is an application called BatteryBar in Windows, which can report the charging rate in real-time. BatteryBar Pro is $8, but I find the free BatteryBar Basic version is good enough for my purpose. It is only for Windows though.

Once installed, BatteryBar displays a toolbar on Windows bar. If you click it, it shows more information. While charging, the most important information is the wattage. For Asus T100 and HP Touchpad charger, I do find that a 6-feet-long USB cable would yield only about 2500mW (i.e., 500mA at 5V) charging, but a 3-feet-long USB cable would give about 5000mW (1000mA) charging. That’s a difference between 12+ hours and 6 hours for a full recharge. Asus T100 and Aukey Turbo Charger (see below) work at about 5000mW as well.

Qualcomm Quick Charge

Qualcomm’s Quick Charge technology provides another way to charge the devices faster by boosting the line voltage.

Qualcomm Quick Charge uses the same conventional USB A to microUSB-B cable. However, if both the charger and device are Quick Charge compliant, they can negotiate about faster charging. Quick Charge 1.0 allows up to 10W (5V/2A) charging. Quick Charge 2.0 can use various voltages up to 12V, at 3A current, the charging speed is 36W.

Similar to Apple charging protocols, Qualcomm Quick Charge uses the D+/D- levels to negotiate the charging speed. Below is an illustration (image courtesy Qualcomm Quick Charge 2.0 protocol specification and support).

Quick Charge 2.0 Specification Diagram

Devices using latest Snapdragon SoCs support Quick Charge 2.0, including phones and tablets. Other devices may support Quick Charge as well. You can check here for certified devices.

You can also find Quick Charge certified chargers here. Quick Charge 2.0 certified chargers can output different voltages. If you check the fine text on the charger, you will not see one voltage like 5V, but instead you will see 5V, 9V and 12V with respective current ratings. The key to charge faster is that the charger outputs high voltage with high current, and the device’s charging circuit would convert it to low voltage with even higher current to charge the battery.

As long as both charger and device conform to Quick Charge, they can come from different vendors. This should make you worry less when exchanging charges for your Quick Charge enabled device.

Qualcomm Quick Charge is backward compatible with conventional USB charging.

  • If the charger is conventional, Quick Charge device behaves like a conventional device, and charging is slow.
  • If the charger is Quick Charge certified but the device is conventional, charging falls back to 5V and is slow. Your device will not be fried.
  • If both charger and device are Quick Charge enabled, they negotiate at a high power charging and charging is fast.
  • Quick Charge 2.0 is also backward compatible with Quick Charge 1.0.

AndroidAuthority has a nice article explaining Quick Charge. The FAQ of Qualcomm Quick Charge can be found here.

The devices keep being more powerful and requiring larger battery capacity, and technologies like Quick Charge will be more popular. In fact, both Moto X 2nd Generation and Asus Transformer Book T100 supports Quick Charge 2.0, per device list. I just bought a Quick Charge certified Aukey charger off Amazon for a little over $10. This charger is able to output 12V/1.5A, i.e., 18W, which is promising.


In one occasion, the Aukey Turbo Charger charged Moto X2 from 5% to 42% in 20 minutes (both the phone and charger got hot). In the next 25 minutes, it continued to charge to 72%. This seems to be pretty good. It however yields only about 5000mW on Asus T100 according to BatteryBar.

Posted in Computer and Internet | Tagged: , , , , , , , , , , , , , , , | 2 Comments »

Delete Wireless Network Profile in Windows 8

Posted by binglongx on May 13, 2015


If you cannot find “Forget this network” when you want to delete a Wi-Fi profile, just use the command line below:

netsh wlan delete profile name=”Your_SSID”

I use “Command Prompt (Admin)” from the Windows button to run the command above.


How to Manage Wireless Network Connections & Profiles in Windows 8

Windows 8 – Manage Wireless Networks?

Posted in Computer and Internet | Tagged: , , , , , , , | Leave a Comment »

Dropbox Referral Program For 500MB Extra Free Bonus Space

Posted by binglongx on February 12, 2015

Dropbox is a cloud storage service. It is like a remote online drive that you can put your files there. It is slower than your local hard drive, but it is super reliable. A basic personal account is free to open, and it has 2GB free space.

I have been using Dropbox for quite a few years. There are many nice features of it. For me, the most convenient feature of Dropbox is automatic uploading of photos that I take on my mobile phone. I just install the Dropbox app on my Android phone, and set up the automatic uploading. Whenever I take a picture, it would be backed up to my online Dropbox account automatically. It saved a lot of photos when my microSD card in my phone went wrong some time ago.

If you open an account at Dropbox right now, you get 2GB free space. However, if you create a Dropbox account through a referral link from an existing Dropbox user, you will get extra 500MB space, i.e., 2.5GB total free space. The existing user will also get 500MB extra space for free.

If you so happen to need a Dropbox account, you can use my referral link To get the 500MB extra space, you need to:

  • Use the referral link to create a new Dropbox account; and
  • Install the Dropbox desktop application on a Windows, Linux or Mac computer; and
  • Sign in to the installed application with the newly created Dropbox account.

That’s it. You will see 2.5GB (instead of 2.0GB) space available in your Dropbox account. And thanks, this will also add 500MB to my Dropbox account. If you need more space, you can publish your referral link to earn bonus space.

Please note that, for this to work, you have to install the Dropbox desktop application on a desktop computer. Installing the Dropbox app on your Android or iOS phone or tablet does NOT qualify for the referral program.

For details, you can also check with Dropbox Referral Program.

Posted in Computer and Internet | Tagged: , , , , , , , , , , , , , , | Leave a Comment »


Get every new post delivered to your Inbox.

Join 52 other followers