What is Nokia Maemo Linux?

last updated in Categories Debian Linux, Linux, Linux desktop, Linux Embedded devices, Linux portables

From the my mailbag:

A friend of mine was talking about Maemo Linux. Can you explain what is Nokia maemo Linux?

What is Nokia Maemo Linux?

The Nokia N800 Internet tablet is a wireless Internet appliance from Nokia. The N800 was developed as the successor to the Nokia 770. It is designed for:
a] Wireless Internet browsing
b] E-mail functions
c] Includes software such as Internet radio, an RSS news reader, image viewer and media players for selected types of media.

Maemo Linux is used in Nokia N800. It is a development platform for handheld devices. You can think Maemo as a desktop for handled device. It is modified version of Debian Linux. According to project webpage:

Maemo provides an open source development platform for Nokia Internet Tablets and other Linux-based devices. It is build from components widely used in open desktop and mobile systems. We strive to make maemo open, accessible and useful to all developers wanting to squeeze the possibilities of the mobile desktop and the Internet.

The maemo SDK contains the tools needed to create and port integrated applications, replicating the Internet Tablet environment in your PC. The Hildon Application Framework is a good entry point to understand the peculiarities of this platform. A shortcut for you to consider.

This website offers official documentation, tutorials, bug reporting tools and repositories of unstable versions for testing. It also provides services devoted to and maintained by the maemo community: software catalog, project hosting, documentation wiki, Planet news plus mail and IRC support channels.

You can purchase this cool toy N800 at Amazon! I’m going to get one before XMS ๐Ÿ˜€

Understanding and using interrupt management under Linux

last updated in Categories C Programming, GNU/Open source, Howto, Linux, Linux Embedded devices, Open source coding

This article describes the most important concepts related to the Linux kernel’s interrupt handling mechanisms.

A clear understanding of the Linux kernel’s interrupt handling mechanism is essential if you are to write solid, reusable device interrupt handlers. It is also mandatory if you are to successfully port Linux to custom hardware.

Bill Gatliff provides a walkthrough of the portions of the Linux kernel that manage interrupts and describes how Linux interacts with interrupt controllers and how to adapt code for custom hardware.

Interrupt handling is a fundamental part of the Linux kernel. Most of the kernel’s functionality, in particular the parts of interest to embedded developers, in some way involve interrupt handling.

=> Interrupt Management Under Linux – Using the Interrupt Controller API

Cracking Wireless WEP-104 in record time

last updated in Categories Linux, Linux Embedded devices, Security, Windows, Windows server, Wireless networking

Cracking 104 bit WEP (Wired Equivalent Privacy) itself is old news. However new *cracking speed* is mind blowing.

According to new research it takes less than one minute to break a common 802.11 104-bit WEP encryption:

WEP is a protocol for securing wireless LAN. WEP therefore uses the RC4 stream to encrypt data which is transmitted over the air, using usually a single secret key (called the root key or WEP key) of a length of 40 or 104 bit.

We were able to extend Klein’s attack and optimize it for usage against WEP. Using our version, it is possible to recover a 104 bit WEP key with probability 50% using just 40,000 captured packets. For 60,000 available data packets, the success probability is about 80% and for 85,000 data packets about 95%. Using active techniques like deauth and ARP re-injection, 40,000 packets can be captured in less than one minute under good condition. The actual computation takes about 3 seconds and 3 MB main memory on a Pentium-M 1.7 GHz and can additionally be optimized for devices with slower CPUs. The same attack can be used for 40 bit keys too with an even higher success probability.

Currently at home Iรขโ‚ฌโ„ขm using WPA2 personal. However, at work place we have disabled wireless access a year ago (except cafeteria area).

A paper (PDF) describing the details and methods we used in our attack is available on the IACR ePrint server. A proof-of-concept of attack in a tool called aircrack-ptw (source) is available. It should be used together with the aircrack-ng toolsuite.

How do I avoid this kind of problems?

You can switch to WPA2 to avoid this attack ๐Ÿ™‚ Make sure support for WPA2 is available through your Linux driver as well as the userspace utility called wpa_supplicant.

You can also use a Linux GUI tool called NetworkManager to configure access to protected wireless networks.

Intel ClassMatePC comes with Mandriva Linux

last updated in Categories India, Linux, Linux desktop, Linux distribution, Linux Embedded devices, News

Classmate PC is a small, mobile learning-assistant and educational solution that Intel specially developed for students in emerging markets such as India, Mexico etc.

The rugged learning device, designed to provide affordable, collaborative learning environments.

This PC comes with Mandriva Linux (another good Linux desktop distro).

A classmate PC is designed with a set of particular features, such as:

Intel ClassMatePC comes with Mandriva Linux

Intel ClassMatePC Pictures / Photo

Rugged, light-weight, and easy to carry design, integrated handwriting hardware technology, and a software stack with validated educational applications, e.g., education management technology.

Wireless and messaging systems that allow a tight integration and interaction between users from different groups, allowing them to share experiences, communicate and coordinate activities, and collaborate.

Classmatepc project website (via )

LinuxBIOS available with X11 GUI

last updated in Categories Linux, Linux Embedded devices, Linux portables, X server

Wow this is really cool news.

LinuxBIOS is a Free Software project aimed at replacing the proprietary BIOS you can find in most of today’s PCs.

Linux BIOS in action

Alan has posted video of his work. This setup includes
=> LinuxBIOS

=> Linux kernel

=> BusyBox

=> Tiny X11 server called Kdrive

=> The Matchbox window manager

=> rxvt – a colour vt102 terminal emulator

All of the above software packed on a 2MB flash chip :).


Found via Uwe Hermann blog

Wizpy Linux – Boot Linux from media player

last updated in Categories Linux, Linux desktop, Linux Embedded devices, Linux portables

Wizpy is a portable media player produced by Turbolinux.

Wizpy player has the usual music/video capabilities–plus a bootable version of Linux, a browser, productivity apps, and more ๐Ÿ™‚

Tech Spec

=> 1.71″ OLED screen
=> 4GB flash memory
=> It supports, Ogg/MP3/WMA/AAC,DivX medias
=> Built in FM radio
=> Built-in microphone
=> Still picture display
=> Text viewer and much more

Wizpy Cost

It will come in two models:

  • a 2GB version will cost $245
  • a 4GB version will cost $281

By connecting it to a computer, the Wizpy can act as a portable hard drive.
Wizpy Linux - Boot Linux from media player

More info:

I want one ๐Ÿ˜€

Hacking Beetel 220x ADSL router (Broadcom BCM6338)

last updated in Categories Howto, India, Linux, Linux Embedded devices, Tips

This router is based upon Broadcom BCM6338 chipset. This router is used by Airtel, BSNL and other ISPs in India.

Hack # 1 : How to Login into Router

Login over telnet. This is a common feature of all router these days and this the only way to hack into box:
Default IP:
Default Username: admin
Default Password: password

I have changed IP of router to so here is my first session:

$ telnet

Connected to
Escape character is ‘^]’.
BCM96338 ADSL Router
Login: admin
password: ********
Once you are logged in you will see menu:

Main Menu

1. ADSL Link State
2. LAN
3. WAN
4. DNS Server
5. Route Setup
6. NAT
7. Firewall
8. Quality Of Service
9. Management
10. Passwords
11. Reset to Default
12. Save and Reboot
13. Exit

Hack # 2: Get out of this stupid shell menu script/program
Yup, it is stupid stuff and don’t waste your time hitting CTRL+C, CTRL+D keys, to get out of this script/program (break shell script), just type sh and hit enter key at arrow prompt ->

 -> sh

And you will be taken to shell
BusyBox v1.00 (2005.09.20-19:57+0000) Built-in shell (msh)
Enter ‘help’ for a list of built-in commands.

Hack # 3: But where is my ls command…
Type ls or dir command,

# ls

ls: not found

# dir

dir: not found

They have removed the ls and dir command. But don’t worry you can use old echo command trick:

# echo *

bin dev etc lib linuxrc mnt proc sbin usr var webs

echo * is old trick which displays list of all files in current directory without using ls or dir command.

Hack #4: Looking for advanced web based configuration, use main.html
Yet another stupid thing, they have removed main.html from web based configuration. Basically main.html is use to configure advanced options of router like port forwarding, DNS setting, firewall etc.

Just type (replace with your actual router IP address) to get all advanced options.

Hack # 5: Get more information about router hardware and Linux
Since this is tiny device most of the userland command such as free, uname etc are removed. However /proc file system provides all information:

Display CPU Information

# cat /proc/cpuinfo

Display RAM Information

# cat /proc/meminfo

Display Linux versions

# cat /proc/version

Linux version (root@localhost.localdomain) (gcc version 3.4.2) #1 Tue Sep 20 15:52:07 EDT 2005

Display list of running Processes:

# ps 

Display list of all kernel module (drivers):

# cat /proc/modules

Hack # 6: Get more information about your network configuration
Display list of network interfaces

# ifconfig

Get default routing information i.e. find out your ISP’s router:

# route

Display Iptables rules

# iptables -L -n

Hack 6 : Secure your router
(A) Fire web browser such as firefox and login to web based interface. Type url main.html (or

(B) Enable Firewall
Click on Security > Ip filtering > Outgoing or Incoming > Click add

(C) Change default admin password
Click on Tools > Select Administrator and type the password. > Click apply

(D) Save changes and reboot router
Click on Management > Access Control > Password > Select Admin > Setup new password

Save changes and reboot router.

Quick reboot router with reboot command:

# reboot

See also: