Saturday, October 16, 2010

Acer AOD255 Netbook

Today I bought the Acer Aspire One AOD255 netbook. This is my first netbook. It has the new Atom N550 dual core processor, 1GB of DDR3 RAM (wish it has 2GB), 250GB HDD and integrated graphics. The interesting thing is that it has dual boot options (Windows 7 starter and Android). It cost me SGD519, they throw in 3 freebies, a headphone, a cheap cooling stand with two USB powered fans and a free one year subscription of Norman anti-virus suite.

I was a bit curious about the Android installed. So I boot the default Windows 7 Starter, ran the Acer Android configuration program, then reboot to Android. Apparently either Acer has done a poor job or Android is not really meant for netbooks, I played with the Android installed for about two minutes and I can only say it is really a crap. It can connect to the wireless network but the browsing speed is rather slow. It is also very awkward to use and took me a while to figure out that ESC key is the key to close an application. So I was back to Windows 7 Starter after two minutes. So far I think none of the Instant On Linux option installed in the netbooks (or some motherboard) are worth the time to play with. But this Acer Android thingy seems to be quite bad. But maybe Acer will update the bundled Android and I will play it a bit more later.

The first thing to do under Windows is of course to remove the trial software packages (McAfee Antivirus and Norton Online Backup). Then after installing some essential software (Firefox, Chrome, Microsoft Security Essential, MinGW, etc), I am in business. I chose not to use Norman since I believe Security Essential takes less resource. I mainly use Firefox but I might want to use Chrome a bit more on this netbook. MinGW installation took quite a bit of time (using mingw-get-inst GUI) but finally it was okay.

The netbook is not that fast but still can run Windows 7 adequately. I actually upgraded to Windows 7 Ultimate and it still runs fine. The upgrade process is rather long. Last time it took me much less time to upgrade from Home Premium to Ultimate on the Asus K40ID notebook.

Right now I am thinking I will use this netbook mainly for internet browsing and a bit of software testing (libusb-win32, libusb-1.0 and others).

Monday, October 11, 2010

Ubuntu 10.10 Installed

Ubuntu 10.10 installation on my Acer desktop is rather smooth. I was using upgrade install for the 10.04 LTS release. Since there is an empty partition this time (giving up FreeBSD), I am using fresh install this time. Firstly I downloaded the ISO, installed it to an 8GB USB Flash Disk, boot the USB drive, played a bit with the live session. Then I installed it to the empty partition. It was a very smooth process.

Still the open source Nvidia driver is quite flaky (even the font it not clear) for my old shared Nvidia graphics card, so I opted to install the proprietary driver which is much more usable. After switching to a normal theme (to be able to close the window from the upper-right corner) and disabling the visual effect and installing a bunch of software packages, I am in business. Thanks to the fast broadband (16Mbps) and fast Ubuntu Singapore mirror, the whole process is actually not long.

As for the first impression, I have not yet noticed any real difference. It is just quite smooth.

Friday, September 10, 2010

TDM64 and MinGW-w64

I was trying to find a good distribution of MinGW-w64 under Windows (32bit and 64bit). I think TDM64 seems to be quite good now.

Website and download:

Special features:
1) It runs under 32bit (x86) and 64bit Windows (x64)
2) It is multilib enabled, which means that it can produce both 32bit and 64bit binary. The default is 64bit.
3) It is a native 64bit compiler, at least under Windows x64.
4) Easy to be installed -- it has an installer.

Sunday, August 29, 2010

MinGW Win32 installation to build libusb-1.0 Windows Backend

libusb-1.0 Windows backend currently supports Cygwin, MinGW and MinGW-w64, MSVC and WDK as the building tool. Cygwin, MSVC and WDK are more straightforward to install under Windows. But MinGW and MinGW-w64 are less straightforward.

One way to solve this issue is to use cross-compile under Linux. Leading Linux distros have MinGW and even MinGW-w64 packages. And the auto-tools (automake, autoconf, libtool) are normally installed under Linux. For MinGW-w64 build, one think to take note is that you probably need to update the libtool to 2.2.8 and later. Ubuntu 10.04 still ships an older version of libtool which does not recognize 64bit library properly.

Native build with MinGW/MSys from is really not that difficult once you have the base system and auto-tools installed. Pete Batard has a blog entry talking about the setup.

I just checked again and now it seems MinGW people has recognized the problem and come up with a new automatic installer for the MinGW/Msys base system installation. The name is mingw-get. It is currently in alpha but rather usable. I just used it to set up a new MinGW/MSys base system under Windows 7 32bit.

mingw-get can be downloaded from MinGW Sourceforge site.

Once you have the base system, you need to install auto-tools for MinGW (not the MSys version). The auto-tools may need some MSys dependency packages as well (eg: perl, crypt, etc). After that, it is quite simple to build libusb-1.0 Windows backend.

As for MinGW-w64 64bit build, it is similar. You can download the 32bit MSys base system and MinGW-w64 64bit Windows binary snapshots from its Sourceforge website.

Alternatively, you can get 64bit binary from the following website (only for 64bit Windows).

After that, you still need to get 32bit auto-tools installed. I recommend you to use the ones from and not the ones from MinGW-w64 sites as I have encountered problems with them.

If you are more adventurous, you can try the multilib option to build 32bit and 64bit using the same toolchain. Pete has a blog entry for this. I have not tried this and will probably not try this myself.

There is an existing package WPG System64 which include multilib based MinGW-w64 and all the tools (and more) to build libusb-1.0 Windows backend. However, we found out that the MinGW-w64 compiler included is a bit outdated that the output is not compatible with the current MinGW-w64 compile. So it is not recommended any more.

Friday, August 6, 2010

libftdi-0.18 and libftdi-1.0 Win32 and Win64 binaries download

I have uploaded some Windows (32bit and 64bit) binary of libftdi and libftdi-1.0 to my Google Code picusb page. Most of them are cross-built under Linux with MinGW and MinGW-w64. So if you have some difficulties getting libftdi or libftdi-1.0 to be built under Windows, you may want to try out the binaries I built.

Windows 7 32bit installed

Last week I installed Windows 7 32bit Ultimate on my two-year old Acer M1641 desktop, it was a smooth process. The only unrecognized device of the original PC after the Win7 installation was a mysterious "co-processor" device. After installation of the Nvidia NForce chipset driver everything on the original PC was recognized. The added old Compro X50 PCI TV/FM card was also not recognized. Luckily Compro provides the driver and necessary applications for this 5-year old product.

There was a glitch, after the installation, the grub bootloader is gone, only Vista and Win7 are shown in the Windows bootloader. So I have to recover the grub bootloader so that I can boot into various Linux versions (Ubuntu 9.10 32bit, Ubuntu 10.04 64bit and Arch Linux).

I am now using Windows 7 Home Premium 64bit for my Asus laptop. Same as the experiences there, I do not see too much differences between Vista and Win 7. Being a new installation with less "junks", it seems to be a bit faster.

Other than that, one of the major difference is the XP mode. The nice thing about XP mode is that now it supports USB. This is not a fast PC to run the virtual XP mode since it lacks the Hardware Assisted Virtualization Technology feature and the amount of RAM is not that big. Still allocating 512MB to the XP mode seems to let the virtual XP run relatively smooth. But this is just a test and I do not really need XP or miss XP.

Overall, the first impression of Win 7 is positive. But heh my first impression with Vista was also not bad even though many people have negative views on Vista.

Monday, May 3, 2010

Upgrade to Ubuntu 10.04 LTS 64bit

Today I upgraded one of my desktop partition from Ubuntu 9.10 64bit to 10.04 64bit. The upgrade process is relatively smooth. Download from local Singapore mirror is quite fast. Installation is not that fast (more than 2 hours for 2700 packages, no KDE, just Gnome). But all in all the process is quite ok.

Just a minor glitch -- I was not using Network Manager but wicd. Prior to the upgrade, I uninstalled wicd and did not install Network Manager. Therefore, after reboot, I did not have the wired network. Still two commands away, I had the network up again (sudo ifconfig eth0; sudo route add default gw Then I installed Network Manager and next reboot my wired network is automatically up.

BTW, the mirror seems to have problem with one qt4 package right now (libqt4-xmlpatterns). So I had to uninstall it before the upgrade.

The default theme has the window buttons in the left side. I still prefer them to be on the right side. So I change the theme back to Human.

Thursday, April 22, 2010

libusb-win32 project has two new admins

Stephan Meyer has kindly added Travis and I to the project admin team of libusb-win32 project.

Travis is the developer of libusbdotnet, a great project which should be of interests to the users of libusb-win32.

Travis will mainly handle the code development and I will mainly handle the support/testing side.

We think libusb-win32 project can still be relevant now and we intend to further the development of libusb-win32.

One of the initial goal will be to solve the existing bugs especially the bugs with the filter driver which has caused some big problems under Vista and Windows 7.

We hope to get your continuing support. Please use the mailing list to share you suggestions to the project.

Sunday, April 11, 2010

Ubuntu 9.10 x64 for the Asus K40ID Notebook

Today I installed Ubuntu 9.10 64bit for the new Asus K40ID notebook. It was relatively a smooth process with only one problem related to X.

Firstly I shrunk the Windows 7 data partition (Asus keeps OS in C and others in D, with another hidden Fat32 recovery partition) with Windows 7's built-in disk manager. It was a nice add-on since Vista. Then I boot the install CD (cum Live CD), check everything is fine (including X and wireless). Then I partitioned the empty disk (swap, Linux1 and Linux2). Linux 2 is empty now since Ubuntu 10.04 LTS is on the way. Then I installed Ubuntu 9.10 x64 to the Linux1 partition. Everything is fine. However, after reboot, the screen just flickered and could not go into X. So I had to boot into recovery mode, used the wire connection, installed the Nvidia proprietary driver.

After that, I have no issues any more. X is fine. Wireless is fine. The Fn key also seems to function well. Sound is fine.

Saturday, April 3, 2010

New Asus Notebook with Windows 7 x64

Today I bought a low/medium-end notebook: Asus K40ID series, Core 2 Duo 6750 CPU (2.1GHz), Nvidia Geforce GT320M graphics card (VRAM 1GB), 14" HD LED Backlight (1366x768), 320GB HDD, 2GB RAM, 8x DVD RW, 802.11n Wifi and Bluetooth. The OS is Windows 7 Home Premium 64bit. I hope this 64bit thingy will not cause big problem for me due to the potential driver issues. The good thing about Asus is the 2 year parts and labor warranty by default.

I do not trust the quality of notebooks by any vendor. The first notebook I bought is from Dell (Inspiron 600M) early 2003 running XP Home, it broke down twice in the first year. Then it kept alive until 2008 with a problem of the on-board keyboard controller (random key coming out). I still keep it but it is useless now.

The second one I bought is Compaq Presario V3619AU from HP/Compaq in Dec 2008. It is still alive but was sent back twice for repair (after running quite well for 1.5 years) due to overheating issues. The first time they change the AMD CPU, the second time they changed the motherboard. But it still has the overheating issues from time to time. It is covered by 3 year warranty as I paid for it.

The notebook at work is a 4-year old Dell Latitude D610 running XP Pro. It is not bad, Dell's business notebook seems to be much better than the consumer ones. With 2GB RAM and XP Pro, it runs quite well, not very fast but acceptable, even after 4 years. The HDD is a bit small at 80 GB. The battery life is of course quite short now. The accessories are quite bad though as I have changed the dock once and the external keyboard once.

As for Windows 7, my first impression is that it is not much different from Vista (my Acer M6141 Desktop is running Vista Home Premium 32bit). Unlike many people, I have very few problems with Vista. It works quite well on my low-end Acer M1641 Desktop. I feel that Windows 7 with this faster Asus notebook is not at all faster than my Vista desktop.

Asus does installed some junks like the 60 day trial version of Office 2007 and the Anti Virus package and some other things, almost exactly the same thing as the Acer desktop when I bought it. So the first thing to do is to uninstall these two packages. Normally I would install the AVG Anti Virus Free version as the anti-virus, anti-spyware package. This time I choose to install Microsoft Security Essential (just to see if it consumes less memory). I consider myself a pro-user of Windows and normally I do not need to worry about Virus and Spyware. If Microsoft Security Essential proves to be inadequate, then probably I will go back to AVG Anti-Virus Free.

Saturday, March 6, 2010

picusb Google code page updated

I have created this page quite some time ago. But I did not put anything inside. Now I will start to put some contents inside, mainly related to some open source codes related to USB PIC MCUs.

Some files for download:

Sunday, February 21, 2010

libusb 1.0 Windows backend reaches pre-release mode

Pete Batard announced the news and Pete Stuge has come out a good integration plan. Hopefully the Windows backend will sooon be integrated into the main tree.

At the same time, I think if you are interested in the Windows backend, you can already try it. It mostly works for me. The only issue I have right now is the HID backend where feature reports do not seem to work.

FreeBSD 8.0 First Impression

Now I used FreeBSD 8.0-Release (updated to 8.0-RELEASE-p2) and it seems to be much better than last time, especially in the USB front. I also like the freebsd-update capability. It seems to be faster than last time.

What I like compare to Linux: maybe the BSD license itself. But now I feel GPL/LGPL are not bad either.

What is not working: my SATA DVD-RW is not recognized at all. This is an Acer M1641 desktop with NVidia 620i/Geforce 7050 based chipset and FreeBSD seems to have big problems with NForce 620i and 630i.

What I do not like: the port system. I have since removed most of the packages initially installed (LXDE, KDE3, KDE 4, QT33, QT4, etc) due to the mass upgrade of libjpeg. It caused big problems to many packages. So now I have a bare-minimum Gnome 2.26 based desktop (dare not update to 2.28). Mass upgrade takes a long time and often the ports are broken. ARCH seems to do a much better job since binary updates are provided. I still like Ubuntu's package system (deb/apt, Synaptic) the best.

My libusb testing on FreeBSD: pk2cmd seems to behave like last time, but now I do not need to recompile the kernel. libusb based programs work better but there are still problems.

My OpenOCD test on FreeBSD: FT2232D seems to work, J-Link V3 does not work. J-Link V7 seems to work. All of them works under Linux.

My main interests with FreeBSD will be more libusb/MCU related -- to get OpenOCD (J-Link and FTDI, for ARM MCU development) and PICkit 2 (and other PIC related things, for PIC development) to work well under FreeBSD. Now it seems that FreeBSD is an possible platform for MCU development.

Monday, February 15, 2010

FreeBSD 8.0 Installed

After about 1.5 years gap with FreeBSDs, yesterday I finally got FreeBSD 8.0 Release version installed. My main interests are to get some libusb based programs to work under FreeBSD, including the USB demos from Microchip, pk2cmd for PICkit 2.

The installation itself is not flawless. Initially I tried with ACPI disabled (last time it helped) but this resulted in General Protection Fault on this Acer M1641 PC (Nvidia 620i/Geforce 7050 integrated chipset). With ACPI enabled, the install CD can boot up. But the installed could not find the SATA DVD-RW. Luckily the network card was recognized. So I used network install and it was not too bad, faster than I expected. I then spent some time to get Nvidia driver port to work. I have to disable the Linux emulation support in nvidia-driver since I could not download the large Linux emulation base packages (linux_base-f10) due to dead mirrors.

There are some other minor things to fix up, like I need to mount procfs to /proc (edit /etc/fstab) to get the gdm login screen to be able to properly shutdown/reboot the PC.

I tried a few simple programs based on libusb 0.1 and they seem to work fine under FreeBSD 8.0 release. Last time I had to patch the kernel and use the then alternative USB stack from Hans Petter Selasky (FreeBSD USB developer).

Then I tried to build pk2cmd and it seemed to work. The "-s" option does not see to work just as the release note of pk2cmd 1.20 says. I have not tried updating the firmware which was not working last time I tried it.

libusb 1.0 API has not fully been synced by the FreeBSD /usr/include/libusb.h. Luckily Hans says that he will make the libusb 1.0 compatible layer available to FreeBSD.

USB permision setup is now much easier than last time. By default, it seems USB device will have a ugen driver associated. The /dev/ugen* device belong to the operator group. So it is quite easy to add the user to the operator group and then the user can run libusb based program without root privilege.

I had problems to build OpenOCD git code, luckily Tomek Cedro provided a port so that I could build OpenOCD 0.4.0-rc2. I had to update the port system to build libftdi 0.17. This seems to be a prerequisite for OpenOCD.

Overall this time I have more positive views about FreeBSD. It is not as smooth as Ubuntu, but at least it is quite usable.

$ uname -a
FreeBSD MyFreeBSD.WORKGROUP 8.0-RELEASE-p2 FreeBSD 8.0-RELEASE-p2 #0: Tue Jan 5 16:02:27 UTC 2010 i386

[mcuee@MyFreeBSD /usr/home/mcuee/Desktop/build/pk2cmd/pk2cmdv1.20LinuxMacSource]$ ./pk2cmd -?V

Executable Version: 1.20.00
Device File Version: 1.55.00
OS Firmware Version: 2.32.00

Operation Succeeded

Friday, February 12, 2010

Happy Chinese New Year!

Happy Chinese New Year! Wish you a very prosperous year of Tiger!

Thursday, January 14, 2010

libusb 1.0 Windows Backend

Here is a new development on the libusb 1.0 for Windows front now that libusb 1.0 already works under Linux and Mac OS X. Now the libusb-winusb branch (using WinUSB backend, good for XP, Vista and Windows 7, 32bit or 64bit) reached beta status. This may be a good alternative to the libusb-win32 project.

The benefits of this WinUSB backend is that it will work for 64bit Windows like Vista and Windows 7. The WinUSB backend will not support isochronous transfer. So it is not a complement replacement of libusb-win32 yet.

libusb-winusb will be integrated to the main libusb-1.0 tree (using git). Once it is mature, I think it will be very good replacement for libusb-win32. More backend will probably be added, like the HID backend (HID support) and the libusb-win32 device driver backend (isochronous support, Windows 2k support). When that happens, it can replace libusb-win32 (0.1 stable branch and the 1.0 development branch).

More information about libusb 1.0 Windows backend:

Monday, January 11, 2010

More Wii Stuff

Over the Christmas and New Year holiday period, I bought quite some Wii related things.

Wii Fit Plus with the Wii balance board is one major item. At SGD159, it is quite a good investment. Now I use it everyday for 30minutes to burn some calories. Wii Sports Resort (table tennis is the most popular for us) and Wii Fit Plus are now the two most played games for us.

The Wii Classics Controller is also a good investment now that I bought quite some virtual console games (2 NES, 1 N64 , 1 Sega Master, 4 Sega Genesis because of the Sega promotion, used to be US$8, bought at US$5).

I also bought two more Wiiware titles (Excitebike and Onslaught). Both are quite good.

None of use are serious gamers but it seems Nintendo really develops a good platform even for non-gamers. One of my colleague (who enjoys PS3 very much, to me PS3 games are too complicated) just bought a Wii as well since it is very different from PS3 and the Sports related games for Wii are really good.

Quirky and dpup beta first impression

Quirky Linux ( and Debian Lenny based Puppy dpup ( seem to be actively developed and based on the Puppy Linux philosophy. Both are based on Woof but are based on T2 and Debian Lenny respectively. There are other Woof Puppy based on Slackware and Ubuntu but none of them seems to be as mature as Quirky and dpup.

I tried Quirky 0.02 and now I am running Quirky 0.03. One of the issue is that the default selected Xorg nv driver is not working for my Nvidia 620i/Geforce 7050 integrated graphics and I have to use Xorg vesa driver. Moreover, I am not able to install the Nvidia proprietary driver as it complains that it is not able to load the kernel driver. But it is not too bad, I am still able to reach full resolution of 1280x1024 (16bpp now) on my LG L1750SQ LCD monitor whereas distros like Ubuntu can not reach this resolution without using the Nvidia proprietary driver. It is also quite fast. I feel it is faster than Puppy 4.3.1.

From what I see, dpup is less matured even though it is supposed to be one of the leading V5.x Puppy. I feel it is slower than Quirky.