User:Jebba


 * Name: Jeff Moe


 * Email: moe@blagblagblag.org


 * Nick: jebba, jebbajeb, jebba900, etc...


 * Long Neglected Blog...


 * Maemo profile



Usually I dot my laptop with READMEs in various ~/devel/ subdirs, but in this case I decided to write up some notes here. These are mostly for my own reference, but perhaps they will be of use to you.

=Debrick=

Too mucha programmaz
I bricked my N900 by adding the extras-testing + extras-devel repos and then installing lots of applications. I hit 100% on / (root filesystem) and on reboot the system hung at the "dots" part, ala:

* (*) * * *

I had filled up to 100% a number of times before and rebooting the phone had cleared up space (e.g. 100% full before reboot, 96% full after reboot). This is likely because 5% or so is reserved for root. Anyway, the most recent time it didn't come back alive...

Flashing N900 with 0xFFFF
Many parts of the N900 are Free Software, but lamentably, many parts are still closed proprietary shit. Nokia's maemo_flasher program is an example of a closed application that Nokia makes for use with the N900. I understand why some parts of their suite are still closed (e.g. pre-ofono GSM stack), but why the flasher has to be closed I have no idea. Gar.

Thankfully, there is The 0pen Free Fiasco Firmware Flasher, which is designed for flashing Nokia tablets and is Free Software (GPLv3). Unfortunately, 0xFFFF doesn't work with the N900. There is some progress to support the device. You can grab the most recent code from the mercurial repository thusly: hg clone http://hg.youterm.com/0xFFFF

I sent the author of 0xFFFF the output of my crash. Hopefully it will soon be a usable tool for flashing the N900. I built RPMs for Fedora 12 x86_64 running the latest mercurial code--the ones in the Fedora repo aren't even the lastest tarball release (0.3.9 vs. 0.4.0).


 * The 0xFFFF GUI uses gtkamlc. This is not packaged in Fedora. I built it, but compiling the GUI is still barfing.

Flashing with Nokia's Proprietary maemo_flasher
I now have ONE non-free program installed on my computer :(   It's the only way I know how to debrick the phone.

See also: Updating tablet firmware on this wiki.

yum -y install glibc.i686 libusb.i686 ./flasher-3.5 -F ~/devel/maemo/FLASH/RX-51_2009SE_1.2009.42-11_PR_COMBINED_MR0_ARM.bin -f -R
 * To get the most recent image from Nokia, go here: http://tablets-dev.nokia.com/nokia_N900.php
 * Enter product ID inside the phone (without "/"s)
 * Grab RX-51_2009SE_1.2009.42-11_PR_COMBINED_MR0_ARM.bin or whatever is current.
 * To get the proprietary stinking pile of poo, go here: http://tablets-dev.nokia.com/maemo-dev-env-downloads.php
 * Grab maemo_flasher-3.5_2.5.2.2.tar.gz or most recent.
 * In Fedora 12 x86_64 I had to install some i686 libraries since my system is 64-bit. So:
 * Untar the files....
 * Power off phone and unplug USB.
 * Hold down "u" on N900 keyboard and plug in USB cable between computer and N900. A USB icon will appear in the upper right corner--you can let go of "u" on the keyboard at this point.
 * Run this as root:
 * Done.

=Setup= Now that the device is debricked, I can use the thing again and "all" my data is there, but the repository setup is back to default and the applications I want are gone, amongst other things. To re-setup:

ssh server & keys
ssh root@burger ssh localhost scp -p ~/.ssh/id_rsa.pub root@burger:.ssh/authorized_keys ssh root@burger vi /etc/passwd user:!: to user:*: passwd user su - user rm .ssh/known_hosts ssh localhost exit exit ssh user@burger
 * Enable Extras repository: tap, tap, tap...
 * Install openssh client/server package
 * Install rootsh package
 * Set up keys and such for easy access (my device hostname is burger):
 * On laptop, ssh into the sucker:
 * As root on N900, ssh to localhost as a quick/dirty way to setup /root/.ssh:
 * On laptop, copy over ssh key and log back in:
 * To allow ssh access for user "user", the passwd file needs to be edited.
 * Change
 * Set a password for user "user" (I couldn't ssh in without doing this, but someone on IRC said it wasn't necessary):
 * Switch user to "user" and blow out the old known_hosts (or at least edit it) to remove the now bogus "localhost" entry:
 * Quick/dirty way to set up /home/user/.ssh:
 * Then GTFO:
 * This should work happily

Set up Repositories
deb https://downloads.maemo.nokia.com/fremantle/apps/ ./ deb https://downloads.maemo.nokia.com/fremantle/mr0 ./ deb http://repository.maemo.org/extras/ fremantle free non-free deb http://repository.maemo.org/extras-testing/ fremantle free deb http://repository.maemo.org fremantle/tools free apt-get update
 * Configure the repositories to set up things I like:
 * 1) vi /etc/apt/sources.list.d/hildon-application-manager.list

Install Needed Packages
apt-get install x11vnc apt-get clean && sync

Configuration
Here's some configuration settings that got lost on reflash. I'm not sure where they are stored, so they need to be re-setup via tap tap tap.

Display

 * Settings-->Display-->Backlight time-out: 2 minutes
 * Settings-->Display-->Lock screen automatically: uncheck
 * Settings-->Display-->Display stays lit when charging: check

Time Zone

 * Settings-->Date and time-->Time Zone: Buenos Aires (this is unfortunately wrong due to incompetence of Argentine government)
 * Settings-->Date and time-->Update automatically: leave unchecked for now. When timezone data gets fixed, check it.

Connectivity

 * Settings-->Connectivity-->Internet connections-->Search interval: 5 minutes

General

 * Settings-->General-->Device lock-->Change lock code (default is 12345)

=VNC= VNC allows you to view the screen of the N900 on your laptop so you can do things more easily that having to use the tiny little thing if you are working on it all day.

x11vnc -storepasswd
 * Set up the Extras-testing repository
 * Install x11vnc (I think it's in -testing).
 * Set up a password for VNC on on the N900:
 * Run this script on your laptop (my hostname is burger and my laptop's IP is 10.0.0.3):

ssh -n user@burger \ "x11vnc \       -usepw \        -display :0 \        -desktop burger \        -allow 10.0.0.3 \        -nolookup \        -q \        -bg \        -o /home/user/vnc-log \        " This works fine with tigervnc on Fedora 12. Running x11vnc with "-ssl" does not work--I think the problem there may be with tigervnc as x11vnc starts with it OK. I usually do VNC in an ssh tunnel--I don't know if this would create too much of a load on the N900 or not. Will test.

=Backups= Thankfully, pre-bricking, I had made a backup. There are a billion different ways to do this, but one quick way is good old rsync. This script backs up everything except the cities directory, which is huge and is full of data I don't think I care about.

rsync \ -avv -ult --progress --stats \ --rsh=ssh \ --exclude /home/user/MyDocs/cities \ root@burger:/ \ /home/jebba/BACKUPS/burger/
 * 1) !/bin/sh

=Encoding Video= I had some video which played way too slow on the N900, so I re-encoded with this pile of cruft:

mencoder $1 -oac mp3lame -ovc lavc \ -lavcopts vcodec=mpeg4:mbd=1:vbitrate=300 -vf scale=352:208 \ -ffourcc DIVX -o $1-out.avi Run thusly:
 * 1) !/bin/sh

burger-encode ralf.mov

And it will give you "ralf-out.mov.avi"...Uh, I will have the output file get a reasonable name, of course... Works for now. This does not work on the N900 at the moment because the mencoder in the mplayer package is compiled without mp3lame support. Bah.

See also (where I got above from): Manual_video_encoding.

=Gripes=
 * Not all Free Software....
 * 256M of NAND is way too little if it is going to be the root filesystem (/). It is way to easy to fill up. I see that they need to do this for reflashing, but since on reflash all the applications in /opt get lost anyway, what good does it do to have them there? Seems they could have mounted /usr on the 32G, or even better just put /boot on NAND and in that case NAND could even be smaller. Seems very dumb to have 32G+ of space on the device, yet still fill up the rootfs! The vast majority of users are going to have no clue how to repartition (which I will do here shortly) and aren't going to be able to install many applications, which should be a great strength of this device since it can multitask so well and the repositories are going to blossom
 * 4 rows of keys would have been a lifesaver.
 * No | (pipe) or tab key
 * The camera doesn't autofocus, or at least not when you need it to.
 * When charging the phone and talking on it, the power cable is sticking out the top, not the bottom.
 * No dictionary/translation program (!)
 * Docs, info, contacts, etc. are spewed all over the place. For instance, try to find out info about Canola. Some on this wiki, some in garage, some at their site, etc. Where does one file a bug? I've been told to ignore garage and do most at *.maemo.org, but then they should ditch those parts at garage to make things cleaner.
 * SDK pretty much assumes you are running 32-bit Debian or Ubuntu. It's not really cooperating nicely in a Debian Lenny install inside qemu.

=Bugs=

Broken

 * After reflash, extra apps are still in /opt, but are "missing" since the symlinks from /usr/bin are gone.


 * Trying to install "diff" says that it is provided by busybox, but the busybox binary is compiled without `diff` support.


 * Saving preferences in xchat crashes.

`rm -rf ~/.cache/midori ; rm -rf ~/.config/midori`       Start midori. Go to some website. Click "Tools". Click "Clear Private Data". Check "Clear private data when quitting Midori" (but DON'T click "Clear private data" button). Tap blurry part at top to close private data window. Exit Midori. `ls -R ~/.cache/midori/web` and see the .pngs or whatever.
 * "Clear private data on exit" in Midori doesn't actually clear ~/.cache/midori/web (!). I spoke to packager (kalikiana) on IRC and he said he would look into it.


 * `less`, `vim` etc. don't see to like $TERM=rxvt-unicode. Using $TERM=xterm-color works fine. Probably not worth filing a bug...


 * maemo-mapper is slow as snot. Unusable. The default map application is non-free.


 * lcuk: package liqcontrolpanel's summary is "short description". Package should be removed entirely.

RFEs

 * Package manager can only install one package at a time (in contrast to how synaptic does it, for example).


 * In package manager you have to keep scrolling down to the package you want. You can't just hit "r" for example and have it scroll to "r" in the list of packages. This is actually pervasive throughout Maemo 5. It seems to only really do this in Contacts app.


 * It totally sucks that if someone steals your phone, they pretty much own you. At least /home/user/MyDocs should be encrypted. Ideally this would be done with LUKS and decrypt at boot with a password.


 * In Contacts app, it always shows a SMS button for phone numbers, even if they are landlines.


 * Need a #maemo-devel channel too, as #maemo is noisy...


 * xchat is totally not tweaked for maemo, such as scrolling...

echo "ao = pulse" > ~/.mplayer/config
 * mplayer should use pulsebarfaudio by default, not alsa:


 * Media Player doesn't thumbnail videos after they are taken with the N900 camera/video app. It didn't after closing and re-opening app, but I see they are now thumbnailed (post flashing). Anyway, it should do them "immediately".


 * Lots of internationalization packages are taking up space needlessly. But if, for example, Swedish Calendar support is removed, it wants to remove the whole calendar. The i10n packages should be removable without removing the whole app.


 * OGG support out-of-the-box. I mean, c'mon now...


 * App Manager should include $LICENSE in Description.


 * qik.com doesn't work with gnash (I mailed them and they mailed back saying, uh, ya, sorry).


 * Continual autofocus on camera (apparently hardware limitation??)

Bugs of Note
Here's a few bugs of interest to me. Please vote for them. :)

Argentina Time Zone

 * Buenos Aires, Argentina time off by 1 hour
 * Inital setup time zone: America Latina only lists cities in Mexico

Calendar/Tasks

 * RFE: Show calendar when selecting dates in Tasks/Calendar
 * Provide bi-daily/weekly/monthly recurrences
 * Add option to select multiple days on weekly repeating events.
 * Add relative day option for monthly repeating events (e.g. "1st Monday of month")

Chat & Call & SMS

 * Zoom in/out in IM chat does not reflow contents ("Carolina's bug")

Contacts

 * Contacts: Provide "Fax" field(s)
 * Edit/Rename field names or being able to add remarks

Canola

 * Canola last.fm plugin doesn't allow you to enter username/password

=Applications to package= Package these or get someone to do it.


 * colordiff
 * fantasdic
 * git
 * some video conferencing app (telepathy-gabble)
 * asterisk!

=HOWTO?=

qwerty12: jebbajeb: The dbus-send foo for bringing up the UI with a pre-defined number is in the IRC logs, somewhere. But, no, I don't know it myself
 * Make a phone call with a shell script (dbus / telepathy). Ask qwerty12.

=Random=


 * #maemo IRC logs


 * irc.freenode.net #maemo #canola


 * xchat vars


 * Troubleshooting_boot_issues


 * Booting_from_a_flash_card


 * Under the battery there are two sets of gold "dots" on the motherboard. What are these for? JTAG? USB? Serial???


 * SDK hung forever after download at: "Preconfiguring packages".


 * Can Maemo be installed on Sharp Netwalker, since Ubuntu on that thing is suck a terrible dog by comparison?


 * PDF N900 doc