Thursday, July 21, 2016

Window 10 Unable To Connect To WiFi

If you are facing wireless connectivity issues with your Windows 10 where even previously working connection now failed to connect with " " error, check if you have a Qualcomm Atheros wireless adapter. If you do then you will need to replace the driver.

1. Download the drivers from the official website of the manufacturer. Some devices, like Dell 1705 adapter is actually a Qualcomm Atheros adapter

2. Delete the existing Microsoft driver

- Open Device Manager
- Double click on the wireless adapter
- Select the Driver tab
- Select Driver Details button
- Take note of the list of driver files and their location
- Open up File Explorer and navigate the driver files location
- Delete all driver files in the list earlier

3. Uninstall the wireless adapter

- right click on the device and select Uninstall
- select 'Delete the driver software for this device'

4. Install the driver downloaded in Step 1.

Windows 7 BSOD when waking up from hibernation or unable to wake up from sleep

If you are facing issues with your Windows 7 either

- ending up with a blue screen of death when waking up from hibernation with iusb3xhc.sys error OR

- unable to wake up from sleep

then you may have your USB driver corrupted.

What you need to do is completely remove the USB extended driver.

1. Go to Device Manager
2. Find the USB extended device, right click and select Properties > Driver > Driver details
3. Take note of the driver files location
4. Open up file explorer and nagivate to the location in Step 3
5. Delete all the files found in Step 2.
6. Go back to device properties
7. Select uninstall and select delete the driver software for this device
8. Download drivers from your notebook official site and install.

Wednesday, July 20, 2016

Asterisk: Creating A Conference That External Callers Can Call In

If you need to create a Conference that external callers can call in, you will need to create both an Extension as well as a Conference.

1. Create a Conference as per normal
2. Create an Extension as per normal
3. Edit the "Follow Me" settings of the Extension and under "Destination if no answer", point it to the Conference number.
4. Give the Extension (not Conference) number to your external callers

That's it

Friday, April 29, 2016

Replacing TM Malaysia provided router for Unifi service

If you plan to replace the router provided by TM Malaysia with your own router, you have to ensure that the replacement router has the option to choose TM Unifi as the ISP or at least allow you to configure the WAN interface with a VLAN tag.

Below is how you can replace the router with a Linux based router for internet access, which is tagged to VLAN 500.

1. Create the VLAN interface 

Run the following command to create a VLAN interface.  Replace the x with your actual interface eg eth0, which will then make the VLAN interface as 'eth0.500'. The '.' is an indication that it is a VLAN interface.

[root@router ~]# vi /etc/sysconfig/network-scripts/ifcfg-x.500

Enter the following details


2. Create the PPP interface

Run the following command to create the PPP interface

[root@router ~]# vi /etc/sysconfig/network-scripts/ifcfg-ppp0

Enter the following details. Remember to change as needed.


3. Create the PPP password files

Create the password files with the following command, one for CHAP and and one for PAP

[root@router ~]# vi /etc/ppp/chap-secrets

[root@router ~]# vi /etc/ppp/pap-secrets

Enter your username and password as provided by TM for both files.

"yourusername@unifibiz" * "password" *

4. You can now start the PPP interface

[root@router ~]# ifup ppp0

5. Check if the connection is successful

You can check if the connection is successful by running the following command. If the connection is successful, the ppp0 will be up and obtained an IP address

[root@router ~]# ifconfig ppp0
ppp0      Link encap:Point-to-Point Protocol
          inet addr:x.x.x.x  P-t-P:x.x.x.x  Mask:
          RX packets:908071 errors:0 dropped:0 overruns:0 frame:0
          TX packets:397529 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3
          RX bytes:1039747302 (991.5 MiB)  TX bytes:91079309 (86.8 MiB)

Wednesday, April 27, 2016

How to detect a scam email?

If you received a notification from 'PayPal' on some irregularities with your account, don't be so quick to follow what was asked of you because it is most likely a scam

There are several ways to detect a scam. Some are very easy, like the one shown below, while some needs a bit more work.

1. Bad grammar 

Noticed how the word 'noticed' was spelled 'noticied'? Apparently a lot of scammers do not come from the English speaking part of the world.

2. Fake sender

The sender is not from but from PayPal and all these organisation has their own domain. They will not use any other email domains.

3. Fake link. 

If you hover of the 'Login PayPal', you can see at the bottom showing the actual link which is not pointing to PayPal.

4. Fake URL

If you click on the link, it will bring you to the actual URL and as you can see, it is not but, which is clearly bogus.

Monday, April 18, 2016

Cisco VPN Client v5.x on Windows 10

To install Cisco VPN client v5.x on Windows 10, follow the following steps

1. Launch the MSI not the EXE

2. Install DNE which you can obtain here else you will get errors while installing.

3. Once you have successfully installed the VPN client, you will need to edit the registry else you will get error while trying to connect

Friday, April 8, 2016

Simple WPAD script for direct connection to anything local

Below is a simple wpad script to let users have direct connection to anything local and the rest through proxy. You can continue to add statements but remember to add the corresponding brackets and the start and end.


isPlainHostName(host) - the destination hostname. Any plain hostname (without FQDN) will be going direct

isInNet(myIpAddress() - the source address. This may be a local network where you do not want the users to use the proxy.

isInNet(host) - the destination address. The three shown are all the private address
function FindProxyForURL(url, host)
if (((((isPlainHostName(host) ||
dnsDomainIs(host, "") ||
isInNet(myIpAddress(), "x.x.x.x", "m.m.m.m") ||
isInNet(host, "", "") ||
isInNet(host, "", "") ||
isInNet(host, "", ""))))))
return "DIRECT";
else return "PROXY your-proxy-server-ip:3128";

Monday, April 4, 2016

ClearOS 7 - Webconfig OpenVPN page returning error

If your ClearOS webconfig OpenVPN page is returning error, be it the app configuration page or the user certificate page URL below


then most probably you have renamed or created a different configuration file name other than the default filename which are client.conf and client-tcp,conf

If you would like to custom name the configuration files, you will have to edit the file


and edit the line below to suit your configuration filename

 const FILE_CLIENTS_CONFIG = '/etc/openvpn/your-config-filename.conf';

What you need to know about 10GBe home broadband

More ISPs are offering 10 Gbps fiber home broadband at pretty affordable prices ($189-$199) but before you sign up, the following are what you need to take note of

1. Most networking products like routers, desktops and notebooks currently support only up to 1 Gbps therefore if you do not upgrade them, 1 Gbps will the maximum speed you will be getting.

2. While you can upgrade your desktop by buying a 10Gbe NIC like the Intel X540 series, you can't do so with your notebook or routers

3. There are very limited number of routers that do support 10Gbe WAN port and they are very very expensive.

So until most end user products make 10 Gbps mainstream, it is not really advisable to sign up now. Price will also be much lower later as compared to what is available now.

Tuesday, February 23, 2016

Missing printers in Windows 7

If you are facing issues where your printers are all missing even after you re-add them, then you can try the following troubleshooting steps

Restart Print Spooler

1. Click on the Start button> Run and type 'services.msc'
2. Look Printer Spooler and check that the state is 'Running'.

3.  If it is not running, right click on it and then select 'Start'

If the above solved you problem and the printers re-appears, then that is it.

If the printers went missing again after you tried to start a print job, then check if the Print Spooler is stopped again. If it is it, then do the next step

Clearing Spooler

1. Click Start > Run and type explorer.exe
2. Go to C:\Windows\System32\spool\PRINTERS folder and delete all the files within

The above should solve the problem

Sunday, January 31, 2016

Custom Polycom digit map to allow any number to be dialled

Digit maps, or Dial Patterns which is the more common term used by other phones, are templates that match different sequences of digits that users dial as part of their interaction with their phone system. Digit maps only apply to off‐hook dialing, i.e., when the user first takes the phone off‐hook and then begins dialing digits. With off‐hook dialing, when there is a match between the digits dialed and the digit map, the SoundStructure VoIP Interface sends the digits to the PBX to initiate the call.  If there is not a match, the system waits for the user to enter more digits or press the send key to indicate dialing is complete

Polycom conference phones has a default digit maps


To understand what the above does, read the manual here

The above patterns may not fit your organisation and may be redundant if you have specific dial patterns back end and even not work for certain dial patterns.

You can't do away with the digit maps if you want to allow users to dial any number because it is a mandatory input. So to achieve the same result, you can key in the following


What the above does is

x - allow users to key in any digit
.  - similar digits as before and thereafter (wildcard)
T - wait 3 seconds (the default digit map timeout) before sending the whole string over to the phone system

The last character T is required else any digits entered will straightaway be sent to phone system and may be interpreted by the phone system to be an non-existent extension resulting in an error message.

Saturday, January 23, 2016

Xiaomi Mini WiFi vs D-Link DIR-865L

I am not a heavy internet user as I don't really download much but I do watch a lot of online streaming content and my 25 Mbps cable connection just couldn't keep up so I upgraded to a 1000 Mbps fiber internet.

Even though the Xiaomi Mini WiFi router that I am currently using support AC1200 wireless connectivity with speeds up to 300Mbps and 867 Mpbs on the 2.4 GHz and 5 GHz channel respectively, it is still limited by its FE WAN interface which limits internet connectivity to 100 Mbps.

Other than that, the Mini performs really well. Wireless connectivity from 13 meters away and behind a wall which is where my furthest device, a TV box, is placed, is really good. I mean, really, really good, even with the room door closed.

The router is small and compact and looks extremely simple and sleek. Firmware update is frequent and the management app is fantastic. Even though the web UI is in Chinese (which I turn to Google Translate for help), there is practically nothing that I would want to complain about, other than FE WAN interface. Seriously, that's it. I mean if the mini supports gigabit WAN, I would stick to it until the next internet upgrade which probably means many years to come. And a brand new unit will only cost you SGD30-40, a ridiculously affordable price.

But as I have the other theoretical 900 Mbps left unused, I went looking for replacement, with a simple criteria which is - it supports a gigabit WAN interface and at least AC1200 wireless. And as I don't believe is spending a bomb on a router that can become obsolete within a year, this should be easy.

I ended up with the D-Link DIR-865L. It is a pretty old model (released in 2012) but it has all the features that I need which is gigabit WAN interface and AC1750 wireless. On paper, it looks good. And it comes cheap too as a used item. I got mine for $25.

To be honest, D-link has never impressed me with their wireless products, ever. Although all their previous wireless routers that I had a chance to try out never gave me the experience like I had with the Xiaomi, they can't be that bad all the time right? Or so I thought.

The DIR-865L range is worse than the Mini with my TV box. Even though there is connectivity, it is practically unusable. I plugged back my Mini after just 15 mins. I'll give it another tinker before I decide if I should Carousell it off or use the Mini as an extender instead to bypass the 100 Mbps limitation which will be a waste of energy for no reason.

So the DIR-865L is bigger, more expensive and supposedly faster but can't even beat a cheap mini router like the Mini in terms of range.

In the short time I had with the D-Link, I noticed that the internet upstream was only 10 Mbps when tested with I had to set the WAN connectivity manually to 1000 Mbps instead of Auto to fix this problem.  I am not sure if my Huawei ONT has anything to do with it. So for those currently using the DIR-865L, try testing your internet speed at and see if you face the same issue.

Also, I found out that changing the 802.11 mode will cause the Security Mode to be set to None. That is a bug if you ask me. The security mode should remain regardless.

Another bug I found is that after changing the transmission rate for the 2.4Ghz channel, some of my devices are not able to connect even though the settings are reverted. The only way it to reboot the router.

So bottom line is, if you do not have any devices placed far away like mine, then maybe the DIR-865L may work well for you. It didn't for me, at least on default settings. I am not putting up any high hopes that tinkering with it further will make any difference.

Now if only Xiaomi will release a version 2 of the Mini with gigabit WAN interface.

Tuesday, January 5, 2016

Lenovo ThinkPad Docking Stations

Lenovo Docking Stations for ThinkPad laptops comes in 3 models - Basic, Pro and Ultra. Below are the differences

 Lenovo ThinkPad Docks
Power button
Key lock indicator

Docking status indicator

Eject button
Sliding adjuster
Docking station connector
System lock

Security lock slot

Always On USB 2.0 connector
USB 2.0 connector
USB 3.0 connector
Ethernet connector
AC power connector
DisplayPort connector

HDMI connector

DVI connector

VGA connector
Audio connector