What follows is an excellent piece from the MeeGo Wiki: Migrating From N900 to N950.
Lots of developers will be transitioning from an N900 to an N950 as their primary device as part of the device programme. This transition allows people to get a feel for Harmattan and work out what itches they need to scratch.
The following is a small list of points which helped the author(s) get started. It is not indicative of steps necessary on the N9, and is based on the initial steps taken by the author when he received his pre-production, developer device.
Other channels: IRC:freenode.net #harmattan
Developing apps
If you have done this before, check out Porting Fremantle Applications to Harmattan.
If you are starting from scratch, use QML, not QWidgets (unfortunately the QtCreator tutorials are outdated and show use of QWidgets). Get started reading about the MeeGo 1.2 Harmattan API and be sure to digest the Best Practices section.
An excellent example of how to build a package was written by User:ph5 in this forum post. Follow the instructions in the official Harmattan Platform Guide page on packaging.
A hint for the experienced: if you have a source deb for a different platform then it's just a matter of unpacking it with dpkg -x *.dsc, cd'ing inside package-version/ and running:
dpkg-buildpackage -us -uc -b -rfakeroot
Another protip: 'debuild' tends to fail with fakeroot-related problems where dpkg-buildpackage succeeds.
1.2011.22-6 is a pre-production, developer edition. It only has Facebook integration for chat and events, no Google Talk or Twitter. RSS feeds can be set, in the Feeds application, to appear here.
Some N900s are unreliable with Bluetooth connections. To transfer all the contacts from your N900 to your Harmattan device, including avatars:
This method does NOT transfer any IM-only contacts.
Import from files workaround: The content manager has never provided the proper API, so they do not allow the vcard file filtering in that sense. Hence you can only display all objects, which allows the user to try to import anything into contacts. Unfortunately, importing the browser application into the contacts does not work that well. It is a bit sad since all the code is ready on the contacts side.
As of 32-4 firmware, vcardconverter still pukes on contact filenames with umlauts in them. Busybox doesn't though, so we'll do a cp tmpfile operation in the for loop.
Hence here is the workaround:
1) copy all your vcf files to a dir 2) ssh into the device 3) go into the directory containing the vcf files 4) for i in *.vcf; do cp "$i" ._temp.vcf; vcardconverter "._temp.vcf"; done; rm ._temp.vcf
It should be added that the BT sync from the N950 can be used. At least it worked without any issues for me. YMMV it would seem. -lardman
Replying/quoting is FUBAR in 1.2011.22-6 (no ability to edit quote, forced top posting). With Gmail over IMAP, Delete now deletes messages, rather than archiving them (as it did in Modest). To "archive" email, move it to the All mail folder.(There's definitely an opportunity for someone to write a good Gmail client!)
If you want your folders & state to appear on the device, use Mail for Exchange for your Hotmail account. The settings can be found here.
This Harmattan build supports multiple Mail for Exchange and multiple CalDAV accounts. For Google Calendar:
https://www.google.com/calendar/dav/
https://www.google.com/calendar/dav/[email protected]/
https://www.google.com/calendar/dav/[email protected]/
The uuid can be found on the calendar settings page within Google Calendar, and is a long string of characters & numbers.
The trailing slashes are crucial for Google.
m.google.com
Preliminary code for importing conversations from N900 can be obtained from this git repository.
Beta 1 firmware
Maps contains a Manage Maps feature which downloads, but doesn't expand. It is possible to do it manually, though:
cities/MapLoader/catalog-....xml
Link
element and append it to http://static.s2g.gate5.de/map5/
. For example, the UK maps are at http://static.s2g.gate5.de/map5/maploaderzip-00.02.42.122/48210.zipcities/diskcache/
If you have a newer version of the catalog, the previous link for downloading may not work. You should try http://static.maploader.maps.svc.ovi.com/map5/
. For example, the UK maps are at http://static.maploader.maps.svc.ovi.com/map5/maploaderzip-00.02.43.117/58210.zip
Beta 2 firmware The built-in maps downloader now works.
Hopefully this is a bug in 1.2011.22-6: ringtones and gPodder podcasts appear in the Music app; and will play on an all songs shuffle. This can be fixed by editing Tracker configuration:
Tracker config file can be found at:
/home/user/.config/tracker/tracker-miner-fs.cfg
Edit the file as regular user
and add to the semi-colon separated IgnoredDirectories
list.
Tracker indexes file system and applications. Haven't tried (could someone please confirm?) but re-indexing should be triggered with following command:
/usr/lib/tracker/tracker-store -r (or /usr/lib/tracker/tracker-store --force-reindex)
N950 has only single white led instead of N900's RGB LED. The led is driven with same config file:
/etc/mce/mce.ini
It seems that you can also modify the functionality of power button with mce.ini
Don't know if the services you must restart are the same than in N900 though.
The default root password is rootme
(as in the 770 days ;-)). You can get root to change it (using passwd
) using:
ssh [email protected]
...or:
devel-su
Aegis is the name of the platform security system. If you understand POSIX file ownership-based security, this is not that. Forget that root can read from or write to all files (it cannot on the N950).
N950s given to developers have Aegis turned on.
If you edit protected files, like some config files or some shell scripts, you may have to re-flash the device! Don't do this.
You can enable running of arbitrary binaries by running:
develsh aegis-developer-mode --relaxed-exec
...and then rebooting.
found useful for root (runs commands that otherwise wouldn't run):
devel-su -c bash
As a temporary workaround, liberal use of chmod 777 ...
for a moment before cp ...
and then chmod 700 ...
after (as user) can work; su -c user chmod
will work as root too.
There is an Harmattan Security FAQ that has very useful tips.
Launch Boosted Widget Gallery from the applications list, and select Debug tools > Take a screenshot. Ctrl-Shift-P also works, as on N900, but only in stock (MTF?) screens.
They can be shared from Gallery (they are stored in ~/MyDocs/.images)
In addition to the swipe, the up-right arrow & backspace shortcut works almost similarly to Ctrl-Backspace on the N900.
Out of the box, applications which use Qt Components and lock themselves to landscape, still get rerendered in portrait in the task switcher if the keyboard is closed. Bug #231 has been reported.
It is possible to modify the themes for the home screens and lock screen to support portrait, but this is obviously only a developer-only workaround.
You can easily change the hardware keyboard's layout with setxkbmap:
setxkbmap -rules evdev -model nokiarm680 -layout fi
It is possible to set two layouts with Ctrl+Shift switching:
setxkbmap -model nokiarm680 -layout us,ru -variant ,cyrillic -option "grp:ctrl_shift_toggle"
Like for the N900, you also can remap it yourself. See http://dragly.org/2011/08/06/norwegian-keyboard-on-the-n950/comment-page-1/ for some examples. The file to be edited is /usr/share/X11/xkb/symbols/nokia_vndr/rm-680
Also have a look here: http://wiki.maemo.org/Remapping_keyboard
Sh = shift, Ctrl = control, Fn = Function (lower left key), BS = backspace (upper right key), CR = CarriageReturn/Enter (right 2nd from top)
(none of the following seem to work in non-MTF apps)
The N950 comes with a quick start guide, USB cable and device. To charge, the N900 wallwart fastcharger works like a charm. Device charges from non standard (missing D+- short) USB chargers with a maximum current of 100mA. The USB receptacle seems to be pretty sturdily mounted to the PCB, should not come off like some of N900.
OPENING BATTERY COVER: The screws holding the battery cover are Torx TX4, unscrew, don't lose! Then pry off the complete cover with your fingernails sliding between cover and body starting at speaker (I.E. one of the "lower end" corners) both directions to the other end, and "hinge" around USB and then off. The cover is simply snap-on type and will click to open, seems there are just 2 or 3 latches that click open when you pry ~1mm
Restoring a beta 1 backup into beta 2 will lose data and disable the built-in Twitter app. Follow these steps to keep as much data as possible:
Done.
Get root:
ssh [email protected]
then:
mkdir /usr/share/themes/blanco/meegotouch/meegotouchhome/ mkdir /usr/share/themes/blanco/meegotouch/meegotouchhome/style/ echo 'MainWindowStyle { locked-orientation: ""; }' > /usr/share/themes/blanco/meegotouch/meegotouchhome/style/meegotouchhome.css
To fix the lock-screen:
nano /usr/share/themes/blanco/meegotouch/sysuid/style/sysuid.css
Scroll down until you find
locked-orientation: "portrait";
and change it to
locked-orientation: "";
Hold the Ctrl on-screen key (not the physical one) and press X on the keyboard. If it just types an 'x' then backspace and do it again. Press 'Y' to save, then 'Enter'. Reboot.
This makes the lock-screen orientation aware, but only just after boot. It seems there is something elsewhere locking its orientation once you have actually used any apps and from then on the lock-screen is fixed in the last orientation you used before locking it. source
Note that this is a temporary hack as these services will be properly integrated in future firmware.
GTalk: From Terminal as user, run:
mc-tool add gabble/jabber gmail string:[email protected] string:password=secretpasswordhere mc-tool list mc-tool enable gabble/jabber/gmailusernamehere_40gmail_2ecom0
Skype: From Terminal as user, run:
mc-tool add spirit/skype skype string:account=skypename string:password=secretpasswordhere mc-tool list mc-tool enable spirit/skype/skypename0
Substitute skypename and gmailusername with your own usernames. The enable command should match one of the entries in the mc-tool list command.
Integration with the contacts is not fully working so you can't see the accounts in the contact profile properly, you can still use the services in the following way:
You can also install Peregrin (Ovi Store). It will give you an ui for outgoing chat and calls. If you are using same e-mail for both GMail and Facebook the name of the service you added second will have the number 1 at the end instead of 0.
Source MeeGo Wiki