Monday, April 27, 2015

Sabah impressions

I'm a nature nut. Trekking in a real, old rainforest has always been something I wanted to do, ideally spotting some wild animals too. That's why I went to Sabah, Borneo last week.

First thing I found was that a big part of the place was either already developed (into a town) or occupied by agriculture (palm oil). Of course the people need to live somehow, but it also means that the days when an orangutan could swing from tree to tree all across Borneo are gone.

After spending one night in Sandakan, I went to Kinabatangan river on an organised tour. It is said that Kinabatangan river is the best place to spot wildlife and I was fairly lucky. It really paid off to buy binoculars, that was one of my brain's brighter moments. One of the first things we saw was a wild orangutan, at a distance. Seeing this is very rare nowadays and I could well be one of the last people who had such opportunity. We also saw a couple of other monkey species, the way they can jump from one tree to another is quite amazing, imagine if you had to do that...

A night walk in the forest around our accommodation gave us a chance to see a few sleepy birds (so sleepy, in fact, that they didn't even care about flashlight or camera flash), insects and a deadly yellow viper. Leeches, which I expected to show up without fault, did not actually arrive. Maybe they don't like my kind of blood.



The orangutan I adopted, Gellison. Well isn't he like me? ;)
Next day I went to Sepilok Orangutan Conservation Centre and saw a bunch of orange flurry apes swinging their way to grab some free bananas during feeding time. On the way out, there was a green pit viper, the kind that can see heat as well as ordinary light. The Conservation Centre is actively trying to help orphaned orangutans to survive and return them back to the wild. And since I love the nature and would like them to thrive again, I made a donation/adopted one. Next to the SORC, there is also a Rainforest Discovery Center where people can have a light trek in a limited area of real primary rainforest. That is also pretty amazing, mostly due to the huge trees which form different levels in the forest for different kinds of animals.

Troubleshooting USB driver in Windows

Disclaimer: techniques described in this article are not supported by me or Microsoft. They are very likely to break your system and make it unusable, so anything you try is at your own risk and assumes that you are able and willing to fix it yourself. That should be pretty obvious anyway.


I still use Windows 7 and recently it has been a bit like being the last survivor in an abandoned city when most other people have left to OS X or the Ubuntu village. And yes, things break or stop working or simply get stuck. The reason is probably that I overload my system with tons upon tons of programs and libraries (can't even count how many programming environments I have set up) and being in a state of general messiness.

The most recent problem I had was the mouse not working after wakeup. Something inside the system was stuck because some system calls seemed to be taking their time.

First thing I thought of was how to restart the PnP hardware service or subsystem. That turned out not really possible but at least I set the ShellHWDetection service to run in its own process instead of sharing a process with other services. This allows me to restart it in case of problems. To do that, use this command in an elevated prompt:

sc.exe config ShellHWDetection type= own

(keep the space after type=, takes effect upon reboot).

You can see services running in each process using the excellent Process Explorer from www.sysinternals.com

I also noticed that I have VMware USB Arbitration Service running and that's clearly a good target for troubleshooting my mouse problem. Since I use VirtualBox, not VMware on my machine, having this service is a bit redundant (it probably comes with vSphere client that I use to administer our ESXi server). Disabling it alone, however, is not enough.

After searching a bit, I was able to find the list of hidden non-PnP drivers in the Device Manager. To get there, right click on your computer on the desktop and select Manage... Then in the list on the left, select Device Manager and finally enable Show hidden devices in the View menu.

This list by itself is pretty interesting on its own but for my problem, I found that I have VMware hcmon installed. Given that I only use vSphere client and having issues with the mouse, I decided to disable it and see if it helps. I also disabled the VirtualBox USB Monitor Driver. Of course I won't be able to use mouse in my VMs now but if this fixes my problem, it'll be an interesting discovery. Some day I should try to disable one service after another in a VM to see how does it crash the system.

So far it seems it has helped :)
Additionally, there's a command that can list all drivers on your system. You can use it to find drivers not signed by Microsoft which could be a cause of trouble. It's

driverquery.exe /fo csv /v


in combination with sigcheck.exe again from SysInternals as described here http://serverfault.com/questions/130042/is-there-a-command-line-equivalent-of-sigverif-exe