Nokia N900 with Maemo and Android? Yes please ...
Its more proof of concept, but its real and it could be spectacular :-)
Its more proof of concept, but its real and it could be spectacular :-)
Wow, it’s been a long time since I posted anything. But I’ve got something worth coming out of hibernation for.
Perhaps, unsurprisingly, I got myself an n900 and it’s a great device; I’m using it as my primary phone and it really is impressive.
One thing that doesn’t work out of the box is DUN (Dial-Up Networking) over Bluetooth. DUN is one of the simplest ways to tether a computer to a phone, so it’s a useful feature to have. (The n900 does support DUN over USB by default). Fortunately, it’s very easy to turn on, as documented on the maemo wiki. However, if you want the feature to always be ready to go (say, after you restart your phone), you need to do a little more.
Like modern versions of Ubuntu, the n900 with Maemo 5 uses upstart to control most startup services, such as bluetooth. So, if we want the DUN service to be nicely coordinated, we should start it with upstart too. Here’s my script:
description "DUN over Bluetooth"
author "Philip Langdale"respawn
console nonestart on started bluetoothd
stop on stopping bluetoothdpre-start script
sdptool add --channel 1 DUN
end scriptexec rfcomm -S -- listen -1 1 /usr/bin/pnatd '{}'
post-stop script
sdptool del `sdptool browse local | grep Dial-Up -A 1 -m 1 | tail -n 1 | cut -d ' ' -f 3`
sleep 1
end script
So, what is this doing? As upstart is pretty new, and quite different from old style init-scripts, it’s worth explaining a bit.
The description and author fields are just for documentation. respawn means to restart if the main process exits. console none means don’t log stdout or stderr anywhere.
Now, the start on and stop on directives are the heart of Upstart. They allow you to express dependencies between services, events, and each other. In this case, we want to start the DUN server after bluetoothd is started and stop it as soon as we start stopping bluetoothd. You can express multiple start and stop conditions and the upstart site documents these.
With that done, we can move on to the functional code. From the wiki page, we see that the invocation of rfcomm is the key call. What happens here is rfcomm will wait for an incoming connectio request on channel 1 and then spawn pnatd and connect it to that channel. When the connection is complete, pnatd will exit and then rfcomm will too. Upstart either tracks a particular binary or a script. In either case, it execs the binary or script and watches the resulting process to see when it exits. So, we can conveniently transfer the rfcomm command line to an upstart exec directive.
However, there’s more to do. We have to register the service with sdpd so that clients know we offer DUN, and we have to unregister when the service is terminated. This can be done with the pre-start and post-stop blocks. This also gives us a place to enforce the one second delay suggested by the example script.
Registering the service is easy, but unregistering it is a bit of a chore. The example script can avoid it because it uses the while loop, but for upstart, the entire service is ‘inside’ the loop, so we must unregister to avoid adding an extra registration each time. The problem arises because you can only unregister by the service record ID which is selected at registration time, but not provided back to us. So, we must look for it ourselves. The long command line searches the list of services for DUN and then extracts the ID.
Now, all you have to do is drop the script into
/etc/event.d/and then executestart bluetooth-dun, assuming you name the script “bluetooth-dun”. Obviously, you must be root for both these steps.You can download the script from here. I’ll probably package it up as a deb in due course, but I don’t have a working scratchbox environment right now.
Enjoy!
8 hours is all I can squeeze of the N900. This is with the 3G radio turned off all day, no push email, no wifi, no bluetooth, no gps, screen turned all the way down. Something has gotta give or this will be the most expensive paperweight I carry everyday. Anyone have any other tips to improve battery life?

I've had the much anticipated Nokia N900 for a little over a week now, and decided to give some first impressions about the device. To give a little background, I am coming from a T-Mobile G1 running Android 1.6. Prior to that I used a Blackberry Curve, Nokia E61i, and a T-Mobile Wing, and also have owned the Nokia N800 so I'm familiar with previous versions of Maemo.
If you love the ease of use of Posterous and you are one of the lucky people to own a Nokia N900 right now, you will find the two combined make it easy to post from web pages. You can use the Posterous Bookmarklet in the N900 web browser.
1. Go to http://posterous.com/help/bookmarklet
It was reported on http://www.thenokiablog.com that the Nokia Flagship store in the US started selling the Nokia N900 to those lucky people who put there name down on a calling list (what year is this?) to be notified when they could pick up the new phone. As the rest of us wait on our N900 to magically drop from the preorder ferry, one lucky guy has already picked is up and is probably playing with it as we speak. How much longer do we have to wait? How much longer are you willing to wait? Head over to the forums and sound off.
Here it is folks ... an official press release of the Nokia N900. Its "available" at nokia flagship stores and online retailers, so if your like me your waiting on a shipping confirmation email.
http://www.nokia.com/press/press-releases/showpressrelease?newsid=1355897

At least some people are gonna be getting some N900 action this week.
According to @NokiaFlagshipUK: "Flagship News: This is it! The #N900 selling on Thursday 19th November in our Flagship Store. £499 Sim Free. Be the first to have it."
There is supposed to an N900 meetup tonight in London which will surely be full of people wishing they purchase the N900 today.
As for the rest of the world, we're still waiting on the ships to dock and unload.
Are you waiting on the edge of your seat for the Nokia N900?
![]()
Trey Kerby of The Blowtorch searches high and low across the Internet for NBA-related goods you never knew you needed.
via Ball Don't LieIts been years since I had a pair of Jordans, and while I don't see myself getting some anytime soon, you can't argue that when Jordan's come out, people lose their minds. In case you didn't know Adrian Peterson is a shoe fanatic, so I know he is probably chomping at the bit to get his bear claws on these.