Tuesday, April 19, 2011

List: Linux Compatible USB Wireless Adapter (WUSB)

A regular question from my mailbag:

I am in the process of up grading my computer. Where can I get a list of the WUSB for Linux?

Wireless USB adapters are pretty popular for desktop and laptop usage in home. It is capable of sending 480 Mbit/s at distances up to 3 meters and 110 Mbit/s at up to 10 meters. Newer N series can work at 270Mbit/s at up to 300 meters. However, 50-100 meters are acceptable ranges. Unfortunately, finding Linux compatible USB wireless adapter is a big challenge due to driver issues. Over a past few years, I've used and installed various USB wireless adapters and created my own small HCL for it. In this quick blog post I will list all working USB wireless adapter.

Buffalo's Wireless-N WLI-UC-G300 compact USB 2.0 adapter is fully compatible with Linux. Currently I'm using this device with Ubuntu Linux 10.4 and it works out of box. No driver installation is required. Simply add your wireless WPA2 password and you will be hooked up to wireless network. The driver in latest version of Ubuntu kernel is broken and you need to install the driver from source code. (Driver Link for RT2870)

Asus USB-N13 802.11n/g/b network adapter supports USB 2.0 wireless and speed up to 300Mbps Wireless data rates. I get superb connection speed upto 270Mbps and it was auto detected by Linux. (Driver Link for RT2870)

Belkin F5D8053 version 3 also works with Linux. It supports USB 2.0 wireless and speed up to 300Mbps at up to 300 meters. I've tested this one with Fedora Linux. (Driver Link for RT2870)

AboCom WU-5204 is another compact adapter which is fully compatible with Linux. It complies with IEEE 802.11n draft 3.0 and IEEE 802.11 b/g standards and works with USB 2.0/1.1. interface. This one worked and detected, however after some time it started to drop traffic for multimedia stuff. If possible avoid this one due to poor performance.

The D-Link RangeBooster NUSB Adapter (DWA-140) is a 802.11n compliant wireless client for your Linux desktop or notebook PC. I've tested this one with Fedora and Debian Linux. Like all other adapter it supports WPA and WPA2 security features. (Driver Link for RT2870)

EW-7718Un complies with 802.11n draft 2.0, the next generation wireless standard. With the advanced MIMO technology, it can support the data transmission rate up to 300Mbps. EW-7718Un stable wireless connection and high bandwidth enable you enjoying the network applications without any interruption with Linux based systems. (Driver Link for RT2870 #2 # 2 link)

TEW-664UB is 300Mbps dual band wireless N USB adapter. It is compliant with IEEE 802.11n standard and backwards compatible with IEEE 802.11g, IEEE 802.11b and IEEE 802.11a devices. It supports both WPA and WPA2 security.

The EZ Connect N 150Mbps Wireless USB2.0 Adapter (SMCWUSBS-N3) enables wireless connectivity to your desktop or notebook computer and provides improved throughput and range while maintaining full backwards compatibility with the Wireless-G (802.11g) and Wireless-B (802.11b) standards.

ZyXEL NWD-211AN and NWD-270N both works with Linux operating systems. It complies with 802.11n (2.4GHz and 5GHz) and backwards compatible with IEEE 802.11a/b/g. It supports wireless security transmission with WPA/WPA2 and 802.1x.

Sparklan WUBR-501 use USB 2.0 interface and speed up to 300Mbps. It support WPA and WPA2 security.

AWLL6090 Wireless 300N USB Adapter delivers speeds up to 300Mbps. This USB adapter is fully backward compatible with 802.11b/g and RoHS compliant.

ConnectGear WU260N Wireless N USB Adapter 802.11n/g/b supports speed upto 300Mbps with USB 2.0 or 1.1 ports. It's also backward compatible with the existing IEEE802.11g and 802.11b standards for existing wireless networks. Both WPA and WPA2 are supported by this device.

Most of the above devices are automatically installed. If not try updating your kernel version. I hope this post will save some time for readers while purchasing USB wireless adapter for Linux operating systems.

The list is for information and ready references only. Please do your own research before purchasing any device listed here.

Monday, April 18, 2011

The Best Open Source Graphics And Design Software


A few years ago Novell conducted an online public survey to determine which MS-Windows apps need to be ported on Linux desktop. Adobe Photoshop and other graphics application that user want ported to Linux. However, Linux comes with the sheer numbers of open source software projects produced by the community. You may overwhelmed by the choices available under Linux and not know where to begin.
This blog post covers Vector-based editors, Raster-based editors, Photo editing, Specialty, Desktop publishing (DTP), Web design, 3D modeling, Animation Typography and other softwares:



Even when looking at just a subset -- such as graphics applications -- if you are not already familiar with the options, the volume can make it hard to track down the application that fits your needs. The major categories tend to break down the same way, however -- just a few major players; the large projects often catering to slightly different design goals, and a second set of smaller projects each of which has a smaller team and a more narrow focus.


Let's examine each design field in turn. We'll start by describing the leading program or programs in each, followed by the smaller or younger projects, and end with the special-purpose tools.

Top 5 Open Source Linux Server Provisioning Software

Server provisioning is nothing but load the Linux or UNIX like operating systems automatically with actual operating systems, device drivers, data, and make a server ready for network operation without any user input. Typically you select a server from a pool of available servers, load the operating systems (such as RHEL, Fedora, FreeBSD, Debian), and finally customize storage, network (IP, gateway, bounding etc), drivers, applications, users etc. Using the following tools you can perform automated unattended operating system installation, configuration, set virtual machines and much more. These software can be used to install a lot (say thousands) of Linux and UNIX systems at the same time.

From the official Redhat guide:

Many system administrators would prefer to use an automated installation method to install Red Hat / CentOS / Fedora Linux on their machines. To answer this need, Red Hat created the kickstart installation method. Using kickstart, a system administrator can create a single file containing the answers to all the questions that would normally be asked during a typical Red Hat Linux installation. Kickstart provides a way for users to automate a Red Hat Enterprise Linux installation.

Kickstart Configurator allows you to create or modify a kickstart file using a graphical user interface, so that you do not have to remember the correct syntax of the file.

Fig.01: RHEL - Kickstart Configurator Fig.01: RHEL - Kickstart Configurator

FAI is a non-interactive system to install, customize and manage Linux systems and software configurations on computers as well as virtual machines and chroot environments, from small networks to large-scale infrastructures and clusters. It is a tool for fully automatic installation of Debian and other Linux Distributions such as Suse, Redhat, Solaris via network, custom install cd, or into a chroot environment. Some people also use it to install Windows.

Installs and updates Debian, Ubuntu, SuSe, RHEL, CentOS, Fedora, Mandriva, Solaris, etcCentralized deployment and configuration managementIntegrated disaster recovery systemEasy set up of software RAID and LVMInstalls XEN domains, VirtualBox and VserveEvery stage can be customized via hooksFull remote control via ssh during installation

See the official project website and wiki for more information.

Cobbler is a Linux provisioning server that centralizes and simplifies control of services including DHCP, TFTP, and DNS for the purpose of performing network-based operating systems installs. It can be configured for PXE, reinstallations, and virtualized guests using Xen, KVM or VMware. Again it is mainly used by Redhat and friends, but you can configure a PXE server to boot various non-RPM boot images such as Knoppix and other flavors of Debian such as Ubuntu.

There is also a lightweight built-in configuration management system, as well as support for integrating with configuration management systems like Puppet. Cobbler has a command line interface, a web interface, and also several API access options.

Fig.02: Cobbler WebUI (image credit: Fedora project) Fig.02: Cobbler WebUI (image credit: Fedora project)

See the official Cobbler project home page and wiki for more information.

From the official website:

Spacewalk is an open source (GPLv2) Linux systems management solution. It is the upstream community project from which the Red Hat Network Satellite product is derived. Spacewalk manages software content updates for Red Hat derived distributions such as Fedora, CentOS, and Scientific Linux, within your firewall. You can stage software content through different environments, managing the deployment of updates to systems and allowing you to view at which update level any given system is at across your deployment. A clean central web interface allows viewing of systems and their software update status, and initiating update actions.

Inventory your systems (hardware and software information)Install and update software on your systemsCollect and distribute your custom software packages into manageable groupsProvision (kickstart) your systemsManage and deploy configuration files to your systemsMonitor your systemsProvision and start/stop/configure virtual guestsDistribute content across multiple geographical sites in an efficient manner.Fig.03: Spacewalk Server Provisioning System Fig.03: Spacewalk Server Provisioning System

See the official project website for more information.

From the official website:

openQRM is the next generation, open-source Data-center management platform. Its fully pluggable architecture focuses on automatic, rapid- and appliance-based deployment, monitoring, high-availability, cloud computing and especially on supporting and conforming multiple virtualization technologies. openQRM is a single-management console for the complete IT-infra structure and provides a well defined API which can be used to integrate third-party tools as additional plugins.

Complete separation of "hardware" (physical servers and virtual machines) from "software" (server-images)
Support for different virtualization technologiesFully automatic Nagios configuration (single click) to monitor all systems and servicesHigh-availability : "N to 1" fail-over Integrated storage managementDistribution support - openQRM 4.x comes with a solid support for different linux distribution like Debian, Ubuntu, CentOS and openSuse. A single openQRM server can manage the provisioning of servers from those different linux distributions seamlessly.Fig.04: OpenQRM Dashboard Fig.04: OpenQRM Dashboard (image credit: OpenQRM project)

See the official project website for more information.

You can build your own server using PXE, TFTP server, and DHCP software. PXE allows you to boot up a system and have it automatically get an IP address via DHCP and start booting a kernel over the network. See the following articles for more information:

There are many proprietary software solutions available to automate the provisioning of servers, services and end-user devices from vendors such as BladeLogic, IBM, or HP. But open source software gives you more freedom to automate the installation of the Linux server. Some of the above software support UNIX and Windows operating systems too.

I'm wondering if you use Server Provisioning Software regularly. Drop your discussion below and share what works for you in the comments.

Top 5 Linux DVD RIP Software

A DVD ripper software allows you to copying the content of a DVD to a hard disk drive. You transfer video on DVDs to different formats, or make a backup of DVD content, and to convert DVD video for playback on media players, streaming, and mobile phone. A few DVD rippers software can copy protected disks so that you can make discs unrestricted and region-free.

Please note that most of the following programs can rip encrypted DVDs, as long as you have libdvdcss2 installed as described here. Please check the copyright laws for your country regarding the backup of any copyright-protected DVDs and other media.

AcidRip is an automated front end for MPlayer/Mencoder (ripping and encoding DVD tool using mplayer and mencoder) written in Perl, using Gtk2::Perl for a graphical interface. Makes encoding a DVD just one button click! You can install it as follows under Debian / Ubuntu Linux:
$ sudo apt-get install acidrip

Fig.01: Linux Ripping And Encoding DVD's With AcidRip Software Fig.01: Linux Ripping And Encoding DVD's With AcidRip Software


On the Preview tab you can choose to watch a bit of a preview of the resulting movie:
Fig.02: Preview your DVD rip Fig.02: Preview your DVD rip


And when you are ready, click the Start button to rip DVDs.

=> Download acidrip

dvd::rip is a full featured DVD copy program written in Perl i.e. fron end for transcode and ffmpeg. It provides an easy to use but feature-rich Gtk+ GUI to control almost all aspects of the ripping and transcoding process. It uses the widely known video processing swissknife transcode and many other Open Source tools. dvd::rip itself is licensed under GPL / Perl Artistic License. You can install dvd::rip as follows under Debian / Ubuntu Linux:
$ sudo apt-get install dvdrip

Fig.03: dvd::rip in action Fig.03: dvd::rip in action


You need to configure dvd::rip before you actually start a project. See the documentation for more information.

=> Download dvd::rip

HandBrake is an open-source, GPL-licensed, multiplatform, multithreaded video transcoder, available for MacOS X, Linux and Windows. It can rip from any DVD or Bluray-like source such as VIDEO_TS folder, DVD image, real DVD or bluray (unencrypted -- removal of copy protection is not supported), and some .VOB, .TS and M2TS files. You can install HandBrake under Debian or Ubuntu Linux as follows:
$ sudo apt-get install handbrake-gtk

Fig.04: HandBrake in action Fig.04: HandBrake in action

=> Download HandBrake

K9copy is a KDE DVD Backup tool. It allows the copy of a DVD9 to a DVD5. It is also known as a Linux DVD shrink. It supports the following features:

The video stream is compressed to make the video fiton a 4.7GB recordable DVDDVD BurningCreation of ISO imagesChoosing which audio and subtitle tracks are copied.Title preview (video only)The ability to preserve the original menus.

To install k9copy, enter:
$ sudo apt-get install k9copy

Fig.05: k9copy - Linux dvd shrink in action Fig.05: k9copy - Linux dvd shrink in action

=> Download k9copy

thoggen is a DVD backup utility ('DVD ripper') for Linux, based on GStreamer and Gtk+ toolkit. Thoggen is designed to be easy and straight-forward to use. It attempts to hide the complexity many other transcoding tools expose and tries to offer sensible defaults that work okay for most people most of the time. It support the following features:

Easy to use, with a nice graphical user interface (GUI).Supports title preview, picture cropping, and picture resizing.Language Selection for audio track (no subtitle support yet though).Encodes into Ogg/Theora video.Can encode from local directory with video DVD files.Based on the GStreamer multimedia framework, which makes it fairly easy to add additional encoding formats/codecs in future.

You can install thoggen as follows:
$ sudo apt-get install thoggen

Fig.06: Thoggen in action Fig.06: Thoggen in action

=> Download thoggen

=> You need to install various libraries to use the above mentioned tools such as (yum or apt-get commands will install them automatically for you):

libdvdcss2 - Simple foundation for reading DVDs - runtime libraries.libdvdnav4 - DVD navigation library.libdvdread4 - library for reading DVDs.

=> mencoder - Personally, I use mencoder to rip my DVDs into .avi files as follows:

mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:vhq:vbitrate="1200" -vf scale -zoom -xy 640 -oac mp3lame -lameopts br=128 -o /nas/videos/my-movies/example/track2.avi

Please note that AcidRip, is a graphical frontend for mencoder.

=> VLC - Yes, VLC can rip DVDs too.

=> Transcode is a suite of command line utilities for transcoding video and audio codecs, and for converting between different container formats. Transcode can decode and encode many audio and video formats. Both K9Copy and dvd::rip are a graphical frontend for transcode.

=> Wine - It is an open source software for running Windows applications on other operating systems. You can use popular MS-Windows application such as DVDFab to rip encrypted DVD's and DVD Shrink to shrink them to smaller size. I do not *recommend* and encourage this option as it goes against the FOSS philosophy. The following screenshot based on trial version of DVDFab:

Fig.07: Running DVDFab under Wine v1.2.2 Fig.07: Running DVDFab under Wine v1.2.2

Have a favorite Linux DVD ripper software or ripping tip? Let's hear about it in the comments below.

Ubuntu Linux: Install RT2870 Chipset Based USB Wireless Adapter

This blog post listed Linux Compatible USB wireless adapters. It seems that many new Linux users frequently have problems learning how to install RT2870 driver under Linux. I also received email requesting installation instructions for the same device. This quick tutorial will explains how to install RT2870 based chipset device with WPA2 authentication and TKIP wireless encryption.

The following instructions are tested on:

Ubuntu Linux 10.04.1 LTSKernel - Linux 2.6.32-24-generic-pae i686 (32 bit)WPA2 with Linksys 160N router

The main problem is conflicting driver which are shipped with default kernel. WPA2 is a method of security wireless networking with optional PSK for home users. The default driver only recognizes driver but always failed to join WPA2 based network. The solution is to install RT2870 driver from the vendor site.

Type the following command to black list default drivers:
$ sudo vi /etc/modprobe.d/blacklist.conf
Append the following driver names:

blacklist rt2800usbblacklist rt2x00libblacklist rt2x00usb

Save and close the file. Use the rmmod command to remove current drivers or just reboot the system:
$ sudo modprobe -r driverName
# you need to remove all of the above drivers one by one:
$ sudo modprobe -r rt2800usb
OR simply reboot the systems:
$ sudo reboot

Type the following command to install required packages so that you can compile source code:
$ sudo apt-get install build-essential fakeroot dpkg-dev
Finally, install Linux kernel headers so that you can compile kernel device drivers:
$ sudo apt-get install linux-headers-$(uname -r)

Visit this page and download USB drivers [RT2870USB(RT2870/RT2770)].

Type the following command:
$ tar -jxvf 2010_0709_RT2870_Linux_STA_v2.4.0.1.tar.bz2
$ cd 2010_0709_RT2870_Linux_STA_v2.4.0.1

First, edit config.mk file as follows so that Network Manager can be used to set WPA2 auth info:
$ vi os/linux/config.mk
Set it as follows:

# Support Wpa_SupplicantHAS_WPA_SUPPLICANT=y# Support Native WpaSupplicant for Network MangerHAS_NATIVE_WPA_SUPPLICANT_SUPPORT=y

Save and close the file. To compile the driver, enter:
$ make
Sample outputs:

make -C toolsmake[1]: Entering directory `/tmp/2010_0709_RT2870_Linux_STA_v2.4.0.1/tools'gcc -g bin2h.c -o bin2hmake[1]: Leaving directory `/tmp/2010_0709_RT2870_Linux_STA_v2.4.0.1/tools'/tmp/2010_0709_RT2870_Linux_STA_v2.4.0.1/tools/bin2hcp -f os/linux/Makefile.6 /tmp/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/Makefilemake -C /lib/modules/2.6.32-24-generic-pae/build SUBDIRS=/tmp/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux modulesmake[1]: Entering directory `/usr/src/linux-headers-2.6.32-24-generic-pae' CC [M] /tmp/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../common/crypt_md5.o CC [M] /tmp/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../common/crypt_sha2.o CC [M] /tmp/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../common/crypt_hmac.o CC [M] /tmp/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../common/crypt_aes.o......... CC [M] /tmp/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../common/rtusb_io.o CC [M] /tmp/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../common/rtusb_bulk.o CC [M] /tmp/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../common/rtusb_data.o CC [M] /tmp/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../common/cmm_data_usb.o CC [M] /tmp/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../common/ee_prom.o CC [M] /tmp/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../common/rtmp_mcu.o CC [M] /tmp/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../common/rtusb_dev_id.o CC [M] /tmp/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../os/linux/rt_usb.o CC [M] /tmp/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../os/linux/rt_usb_util.o CC [M] /tmp/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/../../os/linux/usb_main_dev.o LD [M] /tmp/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/rt2870sta.o Building modules, stage 2. MODPOST 1 modules CC /tmp/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/rt2870sta.mod.o LD [M] /tmp/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/rt2870sta.komake[1]: Leaving directory `/usr/src/linux-headers-2.6.32-24-generic-pae'

Note: You may see a LOTs of warnings during the compilation, and this is *normal* so don't panic.

Type the following command:
$ sudo make install
Sample outputs:

make -C /tmp/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux -f Makefile.6 installmake[1]: Entering directory `/tmp/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux'rm -rf /etc/Wireless/RT2870STAmkdir /etc/Wireless/RT2870STAcp /tmp/2010_0709_RT2870_Linux_STA_v2.4.0.1/RT2870STA.dat /etc/Wireless/RT2870STA/.install -d /lib/modules/2.6.32-24-generic-pae/kernel/drivers/net/wireless/install -m 644 -c rt2870sta.ko /lib/modules/2.6.32-24-generic-pae/kernel/drivers/net/wireless//sbin/depmod -a 2.6.32-24-generic-paemake[1]: Leaving directory `/tmp/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux'

Again visit this page and download "Firmware RT28XX/RT30XX USB series (RT2870/RT2770/RT3572/RT3070)". Unzip and install the firemware:
$ unzip RT2870_Firmware_V22.zip
$ cd RT2870_Firmware_V22/
#### Make a backup of existing old firmware ####
$ mkdir -p $HOME/backup/lib/firmware
$ cp /lib/firmware/rt2870.bin $HOME/backup/lib/firmware
#### Install the firmware (for 64 bit Linux systems, you may have to use /lib64/firmware) #####
$ sudo cp rt2870.bin /lib/firmware/
##### **** backup and move existing driver, do NOT SKIP this STEP ****######
$ sudo mv /lib/modules/$(uname -r)/kernel/drivers/net/wireless/rt2870sta.ko $HOME/backup/

Type the following commands:
$ mkdir -p $HOME/backup/var/lib/usbutils
$ cp /var/lib/usbutils/usb.ids $HOME/backup/var/lib/usbutils
$ sudo wget -O /var/lib/usbutils/usb.ids http://www.linux-usb.org/usb.ids

Connect your USB device and type the following command to verify that Wireless USB LAN adapter is detected:
$ lsusb
Sample outputs:

Bus 002 Device 007: ID 0411:00e8 MelCo., Inc. Buffalo WLI-UC-G300N Wireless LAN AdapterBus 002 Device 006: ID 05ac:0220 Apple, Inc. Aluminum Keyboard (ANSI)Bus 002 Device 005: ID 05ac:1006 Apple, Inc. Hub in Aluminum KeyboardBus 002 Device 004: ID 413c:2513 Dell Computer Corp.Bus 002 Device 003: ID 413c:2513 Dell Computer Corp.Bus 002 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching HubBus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hubBus 001 Device 007: ID 413c:8160 Dell Computer Corp.Bus 001 Device 006: ID 413c:8162 Dell Computer Corp.Bus 001 Device 005: ID 413c:8161 Dell Computer Corp.Bus 001 Device 004: ID 0a5c:4500 Broadcom Corp. BCM2046B1 USB 2.0 Hub (part of BCM2046 Bluetooth)Bus 001 Device 003: ID 0a5c:5800 Broadcom Corp. BCM5880 Secure Applications ProcessorBus 001 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching HubBus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

You need to edit /etc/Wireless/RT2870STA/RT2870STA.dat file, enter:
$ sudo vi /etc/Wireless/RT2870STA/RT2870STA.dat
Set SSID (nixcraft is my SSID):

SSID=nixcraft

Set country (IN = INDIA, US = USA, etc):

CountryCode=IN

Set authentication information (do not skip this if you want WPA2 based authentication):

AuthMode=WPA2EncrypType=TKIPWPAPSK=YOUR-PASSWORD-HERE

See README_STA for other detailed information about each field. Save and close the file.

Type the ifconfig command and you should see ra0:
$ ifconfig ra0

ra0 Link encap:Ethernet HWaddr 00:1d:73:bc:e4:6e inet6 addr: fe80::21d:73ff:febc:e46e/64 Scope:Link UP BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:5157 errors:0 dropped:0 overruns:0 frame:0 TX packets:206 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:1093810 (1.0 MB) TX bytes:16772 (16.7 KB)

You can now connect to the Internet by clicking on Network manager ( The network-manager is the one which is found in the systray. The icon of two computers, one below to the other on the left-side). Clicking on NM-applet will give you the types of connection/hardware you have available > Select Wireless Device > Select nixcraft SSID (or scan of SSID) > Make sure you set "WPA2" as wireless security. Once connected you can browse the Internet or verify IP info:
$ ifconfig ra0
Sample outputs:

ra0 Link encap:Ethernet HWaddr 00:1d:73:bc:e4:6e inet addr:192.168.1.103 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::21d:73ff:febc:e46e/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:6711 errors:0 dropped:0 overruns:0 frame:0 TX packets:271 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:1420879 (1.4 MB) TX bytes:22312 (22.3 KB)

Verify gateway or just ping to public ip:
$ route -n
$ ping google.com
$ ping cyberciti.biz

You need to reinstall the driver using the above steps.

Open Source Photography Software

I recently brought Canon EOS 500D mid-range DSLR cameras with good promotional discounts. My photography interests date back to my school days but I did not take photography seriously until recently. Now, I'm researching for quality open source photo-software which may be available to photographers. This blog post gives a quick and dirty view of the different photo applications available for Linux operating systems:

Photography on the free software desktop has come a long way in recent years. All of the major desktop environments support camera import and provide image management and editing applications, including the all-important raw file conversion. But the desktop defaults are really geared towards casual users, optimized for point-and-shoot cameras and sharing photos online. Don’t be fooled by that, though; open source can and does offer the tools to support professional photographers and high-end enthusiasts.

Rather than drop in a long, bulleted list of applications, though, let’s take a look at what the open source alternatives are, task-by-task, to get a better feel for how the pieces fit together into a normal photographic workflow.

Read more: Photography with Open Source / Linux

Qt Application Development for Symbian

A full native application development environment for Symbian smart phones with Qt

In 2007, Nokia introduced standard C libraries for the Symbian OS. At that time, we wrote an article for Dr. Dobb's by the name of "Open C: Paving the Way for Porting." Standard C infrastructure libraries can be found on all major operating systems today. With standard C libraries also in Symbian OS, application development became significantly easier, as did porting existing applications across different operating systems.

This time, we extend from the cross-platform standard C libraries to a full native application development for Symbian with Qt. Qt is a cross-platform native development framework for all major operating systems, including Linux, Windows, Mac, Symbian, and Maemo. This article explores developing applications with Qt for Symbian OS and deploying them on Nokia Ovi Store.

Qt supports Symbian-based S60 3.1, 3.2, 5.0 and the latest Symbian^3 devices. Today, Symbian holds the position of world's largest smart phone platform. We'll focus on writing applications with Qt, and deploying them on Ovi Store. Please note that most of the steps presented here are valid for other operating systems as well, but we'll focus on the Symbian environment.


[Click image to view at full size] Qt SDK


Getting Started

First, let's take a look at the components available for developers with Qt and Qt Mobility APIs. Then we'll delve into the Qt SDK, its IDE, Qt Creator, and the simulator. This will be followed by running an example on the simulator and the actual hardware. Once our application is done, we will demonstrate how to get it signed and deploy it on the Ovi store. Qt SDK

Qt SDK is an all-in-one installation package that has environments for desktop, Symbian, and Maemo/MeeGo development. The SDK incorporates the latest version of the Qt framework and the IDE, Qt Creator. It is designed to provide all the resources you need to create great apps easily for both desktop platforms and mobile devices. To further support mobile development, the Qt SDK contains mobility extensions called Qt Mobility APIs, support for on-device debugging, and Qt Simulator to enable quick mobile development on desktops.

The cross platform library Qt APIs are:

QtCore: Core non graphical classes used by other modulesQtGui: Graphical user interface (GUI) componentsQtMultimedia: Classes for low level multimedia functionalityQtNetwork: Classes for network programmingQtOpenGL: OpenGL support classesQtOpenVG: OpenVG support classesQtScript: Classes for evaluating Qt ScriptsQtScriptTools: Additional Qt Script componentsQtSql: Classes for database integration using SQLQtSvg: Classes for displaying the contents of Scalable Vector Graphics filesQtWebKit: Classes for displaying and editing Web contentQtXml: Classes for handling XMLQtXmlPatterns: An XQuery & XPath engine for XML and custom data modelsQtDeclarative: An engine for declaratively building fluid user interfaces, also known as Qt Quick/QMLPhonon: Multimedia framework classesQt3Support: Qt 3 compatibility classes (these are legacy support classes which are not supported in MeeGo and Symbian).


The Qt Mobility APIs are:

Bearer Management API: An API to control the system's internet connectivity state. Camera API: Provides a framework to use Camera device features when supported by the platform.Contacts API: An API enabling clients to request contact data from local or remote back ends. Document Gallery API: Enables applications to search, filter and manipulate the meta data of files in local file system.Feedback API: Allows applications to produce tactile feedback.Landmarks API: As part of the Location API, it allows applications to create, retrieve, update and delete landmarks.Location API : The Location API provides a library for distributing and receiving location data using arbitrary data sources. Maps/Navigation API: Provides an API to access maps, landmarks and route information for navigation.Messaging API: The Messaging API enables access to messaging services.Multimedia API: Provides a set of APIs to play and record media, and manage a collection of media content.Organizer API: Provides an interface to create, update, delete and share various organizer items such as events and to-do itemsPublish and Subscribe API: The Publish and Subscribe API, containing Value Space, enables applications to read item values, navigate through and subscribe to change notifications. Service Framework API: A set of Qt APIs to that allows clients to discover and instantiate arbitrary services. Sensors API: The Sensors API provides access to sensors.System Information: A set of APIs to discover system related information and capabilities. Versit API: An API to manage Versit documents such as vCards.