User:Jebba
(→Video: at new page) |
(→Setup: mvoed) |
||
Line 159: | Line 159: | ||
=Setup= | =Setup= | ||
- | |||
- | + | I have [[User:Jebba/Setup| move setup]] to its own page. A bit antiquated already! | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
=Kernel= | =Kernel= |
Revision as of 22:35, 28 December 2009
- Name: Jeff Moe
- Email: moe@blagblagblag.org
- Nick: jebba, jebbajeb, jebba900, etc...
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.
Contents |
Package Building HOWTO
The Package Building HOWTO now has its own page. :)
Debrick
Debrick without reflashing!
I have found a way to "de-brick" a device that does not require reflashing.
If your device is booting up and hung with the second dot lit, like:
* (*) * * *
this may solve your problem.
1) Get the proprietary (gah!) Nokia firmware flashing program.
2) Power off your phone.
3) Hold down "u" on your fone and plug the USB cable into your phone and your GNU/Linux laptop. This will put it in the same mode as you need when you are flashing it.
4) Run this command as root (or preface with "sudo"). It will only take a second or two.
./flasher-3.5 --enable-rd-mode
5) Unplug cables and your system will reboot (or poweroff).
6) Boot up your system, it is now in R&D mode. :) It will (possibly?) prompt you to enter time/data again.
7) Now that everything is fine, power off the system normally again. DO NOT LEAVE YOUR SYSTEM IN R&D MODE, as it eats babies.
8) With your phone powered off hold down "u" on the phone, and plug in the USB cables to the phone and your GNU/Linux laptop.
9) Run this command as root (or preface with "sudo"). It will only take a second or two.
./flasher-3.5 --disable-rd-mode
10) Unplug cables and your system will reboot (or poweroff).
11) Boot up your system, it is now recovered and NO DATA LOSS! Yippeee.
More info
Photos of what the hang looks like using a kernel that has the framebuffer console enabled: [1]
Some bugs, maybe related:
[2]
[3]
If you found this post helpful, please vote for this bug:
[4]
Too mucha programmaz
I bricked my N900 (December 3rd) 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...
Gah, bricked again
I was "participating" in the "Bug day", when someone suggested installing gettext to look at translations. I installed this, but got up to 99% full. I then did an `apt-get clean` to empty the cache and this dropped me to 98% full. I've often booted gnulinux boxes with 99% (or even 100%) full, so I figured 98% was fine. I wanted to reboot because often when you reboot the N900, you get space freed, due to the icon cache being liberated. Anyway, on reboot, I got a brick exactly as described above with the second dot more lit than the others (which I have seen reported by others):
* (*) * * *
This time I have my handy kernel with a console, so I can actually see WTF is going on. The images here show some details. In sum, things booted up and the root filesystem check went fine. Then it got an error right after "Freeing Init memory 152K" like this:
getbootstate: Unexpected reset count 50 exceeds maximum (51) getbootstate: Entering state 'MALF'. getbootstate: Houston, we have a problem, powering off...
The /sbin/getbootstate program is in the package "getbootstate". But look at this and hold back the tears:
[sbox-FREMANTLE_ARMEL: ~/getbootstate] > apt-get source getbootstate Reading package lists... Done Building dependency tree... Done E: Unable to find a source package for getbootstate
The getbootstate package appears to be closed source. :( That pretty much ends the debugging and my bug day. Gah.
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).
0xFFFF for Fedora
- NOTE: recently I checked out the code via Mercurial and saw that the 0xFFFF developer has added much more N900 specific code, but I haven't tried it yet.
- UPDATE: I have built the latest and greatest code of 0xFFFF from today and made a Fedora 12 package. You can grab it here:
Binary:
Source:
- 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.
- 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:
yum -y install glibc.i686 libusb.i686
- 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:
./flasher-3.5 -F ~/devel/maemo/FLASH/RX-51_2009SE_1.2009.42-11_PR_COMBINED_MR0_ARM.bin -f -R
- Done.
Info from flasher
sudo ./flasher-3.5 --query-rd-mode flasher v2.5.2 (Oct 21 2009) USB device found found at bus 002, device address 008. Found device RX-51, hardware revision 2101 NOLO version 1.4.13 Version of 'sw-release': RX-51_2009SE_1.2009.42-11_PR_MR0 The device is in production mode
Unpacking flash image
$ mkdir RX-51_2009SE_1.2009.42-11_PR_COMBINED_MR0_ARM-UNPACKED $ cd RX-51_2009SE_1.2009.42-11_PR_COMBINED_MR0_ARM-UNPACKED/ $ sudo flasher-3.5 -u -F ../RX-51_2009SE_1.2009.42-11_PR_COMBINED_MR0_ARM.bin
Setup
I have move setup to its own page. A bit antiquated already!
Kernel
The new kernel page
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.
- Set up the Extras-testing repository
- Install x11vnc (I think it's in -testing).
- Set up a password for VNC on on the N900:
x11vnc -storepasswd
- 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.
- VNC behaves differently whether the keyboard is slid out or not. Basically, you want the keyboard out.
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 --excluded directories which are either things I don't want to back up (cities) or things you can't/shouldn't back up (/proc).
#!/bin/sh rsync \ -avv -ult --progress --stats \ --rsh=ssh \ --exclude /home/user/MyDocs/cities \ --exclude /home/user/MyDocs/.sounds \ --exclude /proc \ --exclude /dev \ --exclude /sys \ --exclude /syspart \ root@burger:/ \ /home/jebba/BACKUPS/burger/
Video
More space for talking about video at the new page.
DBUS
Now at User:Jebba/DBUS.
Gripes
Bugs
Bugs now has its own page.
My Packages
There is now a separate Packages by Jebba page.
SDK
VoIP
See: User:Jebba/VoIP.
sbdmock
Build tool
- Install on topo
(05:44:08 PM) tbf: jebba: just make sure to always run the beast with "--debug" switch to see what breaks
Random
Punted over to the new Random page.
Thanks!
Hope you enjoyed the show. Feel free to edit this page.