NOTE: I’m writing this post as I go through updating my OpenMoko, so it is a bit of a narrative journey…please bear with me…
I’ve spent some time helping to advocate OpenMoko, pushing on some various projects like liblicense at Creative Commons, which is to help get licensing into the desktop for devices like the OLPC and OpenMoko, and believe it or not, I’ve stayed out of the down-n-dirty software hacking of either OLPC or OpenMoko. Today though I got an itch to burn some time (that I don’t have) on getting my OpenMoko up to date…I’ve had it with my crappy T-Mobile Dash!!!
First thing is I went to the OpenMoko wikit and first ran into the nastay web of information, and got stuck there first to clean up the main wiki page with a nice clean table approach that Ryan Lerch has done on Open Clip Art Library and Inkscape, and I have copied lots of places since.
I next went to the Getting Started page, which led me to where I needed to be, the USB Networking page. From here, I found that I needed to setup iptables on my gentoo box (I call it futurebox…) and just use ScaredyCat’s gta01 connection script. So, that is simple and everything. After all this, I can now just run ./gta01 on my system, then boot up the OpenMoko (GTA01B_V4), and then ssh root@192.168.0.202 and just hit enter once the password is asked, since there is none!
Then, I expected to get my OpenMoko all up to speed, since I met a nice OpenMoko dev in Taiwan who flashed my phone to a semi-new OpenMoko image. I ran:
ipkg update && ipkg upgrade
And, rebooted the device and bam, looks ike the distro dies on starting up matchbox on the neo daemon and some other problems with the recent package updates
So, I hopped over into the #openmoko chat channel and asked around for some questions, which Rod Whitby so graciously answered. While it seems that the OpenMoko-specific code in the distribution, Angstrom, has some broken code committed to it, from the likes of my update, I’m not convinced of this (and didn’t look deep enough to talk about this affirmatively).
Regardless, the status update of how to get your OpenMoko working as a phone with the latest builds, seems to be these steps outlined by Rod Whitby:
Here’s my recipe for current image boot and gsm registration success:
1) Get into u-boot console by stopping the bootloader with the AUX
button and using ttyACM0 on the host. Remove “console=ttyACM0,115200″
from bootargs_base
(This tip from Harald in http ://bugzilla.openmoko.org/cgi-bin/bugzilla/show_bug.cgi?id=788#c10)
2) ipkg upgrade from buildhost to the latest versions of all packages.
(You might need to ipkg remove -force-depends libmokojournal2 and ipkg
install libmokojournal2-0 if your starting from a very old rootfs)
3) Build and install from SVN revision 2946 for openmoko-dialer2 (this
revision fixes a bug which stops you from being able to dial).
4) Restart gsmd in /etc/matchbox/session
5) You can also comment out the “load-sample startup” line from
/etc/pulse/session if you need to not have the reboot wake up your 2yr
old daughter …
Yes, that’s the current state of the GTA01 software - you have to go
through all these hoops just to be able to reliably make a phone call
after boot.
– Rod
I’m not writing this to complain, but am hopeful that the OpenMoko team and any contributors have their sites locked on these key ideas:
- Never commit broken code to the development tree, esp. don’t pull this into a distribution. Make this the law.
- Get the key goal of your project accomplished as fast as possible. For OpenMoko I would say this is to make a phone call (Yes, could argue that just getting ssh access is key, but I think getting this thing to be a useful phone is key to integrating into all developers and peoples lives…the more people using it as a phone, the more people who will hack on it)
Ok, I didn’t have enough time to do Rod’s method to get my Moko working, so that means I’m back up to my neck in more CC work and not more time on all my other projects for a few. Hopefully though when I come up for air again, I’ll get my OpenMoko working as a phone and chuck all these other junk phones out the window.