Wednesday, July 11, 2012

Whatsapp for the N900 (and N9) - Yappari and Wazzap

The developers of whatsapp messenger announced a while ago that they will not be porting the whatsapp application to the Maemo5 and Harmattan  platforms. Users on these platforms were a little upset until some people posted bits of information about how the protocol works (it's proprietary, not publicly documented) and after much discussion at TMOTgalal said he would develop a whatsapp compatible client for both the N900 (Maemo5) and N9 (Harmattan) platforms.

After a false start at TMO, Tgalal started releasing an N9 client and left us N900 users without a whatsapp client (to be fair, he wanted to work on the N9 first and when it was stable, port that over to the N900).  Also, users in TMO got very impatient and somebody released a Java based whatsapp client for N900 users to use while Tgalal worked on the N9 client.

With the N900 users struggling to use the "very early build" of the Java based client, Scorpius announces that he is building an N900 native client.  Released on 31-May-2012 and after multiple revision and updates, the client is pretty stable and basically works.  You can participate in this "early alpha" build by visiting the Yappari thread in TMO.

Ohh! For N9 users, you can visit the wazzap link for the installer.

Wednesday, February 29, 2012

My N900 these days...

Been using it like a cool mini-computer in a phone housing way.  Have a backup unit just in case the one I'm using now dies.  What's new?  I've been playing a lot of CPS2 games on the device, Scrabble (a WebOS game) and messing with every infrared device I can access with a program called Pierogi.  To know what Pierogi does, visit the link:

URL http://wiki.maemo.org/Pierogi

Monday, June 6, 2011

sshd guide for N900 by droll

This is a guide on how you can maximize the utility of the N900 by boosting its performance with a full blown PC :) The general idea is simple - use the N900 to remotely connect to a PC to do work. There are a few problems:

  1. Doing serious work on the N900 over long periods of time is tiring - especially entering text.
  2. Remotely connecting to a PC must meet a few objectives - fast screen refresh, and secure communications.

In this guide, I will show you how to achieve the above.

  1. Install the SSH Client package from the repositories. You can also install the SSH Server + Client package if you want but the server will not be used. We will use the ssh protocol to achieve secure communications.
  2. Install the extmou and extkbd packages as well. These will allow you to use the N900 with a bluetooth keyboard and bluetooth mouse - greatly enhancing the experience of working on the N900 for long periods of time.
  3. In my case, I use the N900 remotely, and I have an unlimited 3G data plan. So I leave the laptop at home connected to broadband while I remotely connect using my N900. My laptop is thus behind a wireless router and broadband modem - meaning it's IP is NAT-ed. To expose the laptop to the internet, a few things are required. First, you need to configure your internet facing router to perform port forwarding.
  4. The standard port for ssh is TCP, 22. You need to forward port 22 from the external interface to your laptop's IP. The instructions will vary depending on your router. You can probably google it to find instructions.
  5. Next, discover your external (internet-facing) IP address. You can Google for sites that will help you discover this with "what's my IP address" keywords.
  6. If you want, you can register this IP with a dynamic dns service. There are a few free ones on the internet. I use dlinkddns.com since my router is a Dlink model and it has built-in support for dlinkddns.com service.
  7. Find and install a ssh server package for your laptop. Since I run windows, I use freesshd. There are instructions on the freesshd website on how to set this up.
  8. Once that's done, you are ready to test your first connection. On your N900, open x-term and type in "ssh -L 3389:localhost:3389 abc@my-name.dlinkddns.com". You should replace "abc" with the user name configured in freesshd. You should also replace "my-name.dlinkddns.com" with the domain name you registered on dlinkddns. If you are not using a dynamic dns service, you can replace it with your external (internet-facing) IP dadress which you discovered in step #5.
  9. If all goes well, you should be prompted to add the RSA key of the server to your N900's ssh repository. Go ahead and confirm it. Then you will be prompted for a password. Enter the password. This is the password for "abc" user that you configured in freesshd.
  10. By default, freesshd configures cmd.exe as the default interface after you negotiate a ssh connection. Therefore, you should see the Windows command prompt in your x-term. You can type commands like you were seated in front of your laptop.
  11. Once this works, you can disconnect by typing "exit" and ENTER. You should then install the rdesktop package from the repositories. This will allow you to use the RDP protocol to connect to your desktop. This is WAY FASTER than using VNC (and more compatible than X11 on Windows anyway). So we will use it.
  12. Re-establish your ssh connection (see step #8). This time around, you won't be prompted to add the keys, but you will get the password prompt.
  13. Once you are connected, launch rdesktop on your N900. Where you key in the host for connecting to, enter "localhost". Enter a user name and password for connecting via RDP. This will be an account that exists under Windows (different from your freesshd account).
  14. And voila! You should see your desktop!
  15. The next step is to configure your bluetooth keyboard and bluetooth mouse. This is relatively reasy.
  16. Pair your bluetooth keyboard like you would pair any normal bluetooth device. Do the same with the mouse.
  17. That's it. You shouldn't need to do any additional configuration. The keyboard should work with the extkbd package and the mouse with the extmou package. The only catch with the keyboard is that the key mappings might not be right. In this case, go to your Settings app (on the N900) and you should see a new entry in there for external keyboard support. Launch it and pick the appropriate keyboard layout. The Generic xxxx layouts are the ones I find that work best.

Happy computing!

Been busy...

I know that people are wondering if this blog is dead, it isn't... I just don't have time to publish stuff. I promise to do so in the next few minutes a tutorial by droll on how to get a full Windows access on your N900 while on the move. Just needed to get this out of the way before I published his tutorial.

Sunday, February 6, 2011

Backing up your N900 contacts to a remote site...

There are many ways to backup the contacts on the N900. This article suggests an almost foolproof way of backing up the contacts (and can be implemented for other things as well besides Contacts).

Things you need for this to work:

  1. The N900 has access to the internet (either from a data plan or via wifi).
  2. An email address that the N900 is configured to send/receive.
  3. The tar application on your N900 (found in the coreutils-gnu package via Application Manager).
  4. Data cable for the N900 or bluetooth between your N900 and your computer.


Exporting your contacts

You first run the Contacts application on your N900 and open the menu, select Export.

You will get the "Export contacts" wizard, tap "Next"
Select "All contacts", tap "Next"
Select "vCard 3.0", tap "Next"

Tap the "Location" bar and select your microSD card root ("/") location. Make sure the "Folder name" is "Exported contacts" and tap "Next"

The Contacts application will now export all your phone contacts. When the application says "Export contacts setup is complete.", tap "Finish"

You will then need to open a terminal shell session and type the following:

$ cd /media/mmc1
$ tar -zcvf n900-contacts.tar.gz Exported\ contacts/

If the TAR command runs without errors, you can safely remove the "Exported contacts" folder by typing in:

$ rm -r Exported\ contacts

To get out of the terminal session, type the command:

$ exit


You then run the E-mail application, and email yourself a copy of the n900-contacts.tar.gz file. That way, your contacts are kept safely in a remote location.


Importing your contacts

To import all your contacts back into your phone, you will need to download the n900-contacts.tar.gz file to your Ubuntu (any linux actually) desktop and extract the .tar.gz file content to the desktop. If done correctly, you will find a folder on your desktop called "Exported contacts".

Run a terminal shell session and type in the following commands:

$ cd
$ cd Desktop/Exported\ contacts/
$ cat *.vcf > TEMP
$ mv TEMP all-contacts.vcf
$ exit

You will now find a file called all-contacts.vcf in the "Exported contacts" folder and you will need to open it using gedit (installed by default in Ubuntu GNOME builds).

In gedit, invoke the replace feature by pressing CTRL-H. In the "Search for" field, type in "ENDVCARD" and in the "Replace with" field, type in "END\nVCARD". Make sure all four options "Match case", "Match entire word only", "Search backwords" and "Wrap around" are unchecked. Then hit the "Replace All" button.

Save the changes and send the file to your N900 either via data cable or bluetooth to your microSD card root ("/") folder.

Run the File Manager application and navigate to the microSD card's root folder, you will find a file called "all-contacts.vcf" and tap on it. You will be prompted if you want to "Import to Contacts?" and click "Yes".

Note: If you are restoring to new or recently flashed N900 this will restore all your contacts. However, if you already have contacts in your N900, they will appear as duplicates. To delete all your contacts in the N900 prior to importing from the all-contacts.vcf file, go to Contacts application, go to "Settings" and select "Delete all contacts from device".

Saturday, January 15, 2011

Install Oracle/Sun Java on the N900...

Officially, the N900 does not have Java pre-installed, and the closes thing to getting Java on the Maemo5 platform was to install IcedTea which is located in the Extras repository at maemo.org in a package called icedtea6. To know more about the IcedTea project, read more about it at http://icedtea.classpath.org.

If you are reading this tutorial to install Sun Java 6 on your N900, you must remember to first remove IcedTea from you device. To do that, just run the Application Manager and remove the package called "icedtea6".

Getting the installer

You will need to go to the Sun Developer Network site and download the Java SE for Embedded 6. You can do that by going to this link.

Download the latest version (currently it's Java SE for Embedded 6 Update 21), agree to their license agreement and select "Linux (ARM)" platform. You will then be asked to select which version of the ARM platform you will be using Java on and you should select the "Headful, EABI, Hard Float (VFP), Little-Endian" variant of the ARM platform. At the time of writing this article, that would be "Java SE for Embedded 6 Update 21 (Build 9) ARMv7 Linux - Headful, EABI, Hard Float (VFP), Little-Endian"

Once you have completed the download, you should get a file called ejre-1_6_0_21-fcs-b09-linux-arm-vfp-eabi-min-27_sep_2010.tar.gz. Proceed by copying this file into the microSD card main/root directory.

You will then need to go to terminal shell and as root (please see my earlier post on how to install and gain root access) do the following:


$ sudo gainroot
# cd /opt/
# tar -zxvf /media/mmc1/ejre-1_6_0_21-fcs-b09-linux-arm-vfp-eabi-min-27_sep_2010.tar.gz


This will extract the tar file's content into a folder called ejre1.6.0_21 in /opt. You will then need to create the necessary symbolic links so that Maemo5 can access the necessary binaries by typing in (again, as root):

# ln -s /opt/ejre1.6.0_21/bin/* /usr/bin/

To test if the installation was done correctly, open a new terminal shell and type:

$ java -version

You should get the response:

Java version "1.6.0_21"
Java(TM) 2 Runtime Environment, Standard Edition for Embedded (build 1.6.0_21-b09)
Java HotSpot(TM) Client VM (build 19.0-b02, mixed mode)

You can now run any Java application on your N900.

Running Java ME applications

If you want to run midp (Java ME application in Java SE) applications, you will need to install a separate application called MicroEmulator which is a Java implementation of Java ME in Java SE. Then you will need to download from here, unzip the file in /opt and you will now have access to thousand of Java midp applications. To run a Java program, go to terminal shell and type:

$ java -jar app.jar

Replace the name app.jar as necessary.

Sunday, January 9, 2011

Software for the N900...

If you want some commercial software for the N900, you can visit the Ovi store.

If you want open source/community developed software, you can find them at talk.maemo.org, you can even ask questions or HOWTO tutorials from the community there.

However, if you want some gray area software, you should visit my homepage which hosts some very hard to find software for the N900. At the moment, it has the following:


  • NeoPwn v2 (beta)
  • Packet Injection (wifi) for N900
  • Adobe Flash v10.1 for Maemo5
  • VLC mobile v1.1.5 for Maemo5


If you have access to any other similar software which people cannot fine easily, do let me know and I'll host it as well.