Meego Wiki
Views

Migrating from N900 to N950

From MeeGo wiki
(Difference between revisions)
Jump to: navigation, search
(let's cp instead of mv in the vcardconverter loop, thanks Venemo)
(add more explicit section with instructions as to how to restart the UI without rebooting)
 
(41 intermediate revisions not shown)
Line 1: Line 1:
-
'''Should this go as a page under [[Community Office/Community device program/Nokia]]?'''
 
-
 
== Introduction ==
== Introduction ==
Lots of developers will be transitioning from an N900 to an N950 as their primary device as part of the [[Community Office/Community device program/Nokia|device programme]]. This transition allows people to get a feel for Harmattan and work out what itches they need to scratch.
Lots of developers will be transitioning from an N900 to an N950 as their primary device as part of the [[Community Office/Community device program/Nokia|device programme]]. This transition allows people to get a feel for Harmattan and work out what itches they need to scratch.
Line 28: Line 26:
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.
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.
-
== Contacts ==
+
'''As of Beta2:''' Facebook, Twitter, RSS and Associated Press shows up on Events feed. Some 3rd party apps (Foursquare) are also using it.
 +
 
 +
== Contact Import ==
 +
 
 +
=== Import from N900 ===
 +
 
Some N900s are unreliable with Bluetooth connections. To transfer all the contacts from your N900 to your Harmattan device, including avatars:
Some N900s are unreliable with Bluetooth connections. To transfer all the contacts from your N900 to your Harmattan device, including avatars:
Line 38: Line 41:
This method does NOT transfer any IM-only contacts.
This method does NOT transfer any IM-only contacts.
-
Import from files workaround:
+
=== Import From VCF files ===
 +
 
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.
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.
Line 47: Line 51:
  2) ssh into the device
  2) ssh into the device
  3) go into the directory containing the vcf files
  3) go into the directory containing the vcf files
-
  4) for i in *.vcf; do cp "$i" ._temp.vcf; vcardconverter "._temp.vcf"; done
+
  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
+
=== Import From N950 ===
 +
 
 +
Bluetooth (BT) sync from the N950 can be used; there has been at least one report of it working without any issues (from lardman)
 +
 
 +
== Contact Export ==
 +
 
 +
The Contact application will fail (as of beta 1, at least) to export any contacts with a '/'
 +
(forward slash) in them. There is no workaround, but there is an alternative way to export contacts: install the [http://blog.zx2c4.com/660 vcardexport] command-line program.
== Email ==
== Email ==
Line 60: Line 71:
== Syncing multiple Google Calendars ==
== Syncing multiple Google Calendars ==
This Harmattan build supports multiple Mail for Exchange and multiple CalDAV accounts. For Google Calendar:
This Harmattan build supports multiple Mail for Exchange and multiple CalDAV accounts. For Google Calendar:
 +
 +
Single CalDAV Calendar
 +
 +
* [https://www.google.com/calendar/iphoneselect Configure] the calendars to be synced
 +
* Go to Accounts > Add accounts > CalDAV
 +
* Username should be your full Google Calendar username (e.g. jbloggs@gmail.com) and password.
 +
* The URL is: <code><nowiki>https://www.google.com/</nowiki></code> or, if that doesn't work, <code><nowiki>https://www.google.com/calendar/dav/</nowiki></code>
 +
 +
Individual CalDAV Calendars
* Go to Accounts > Add accounts > CalDAV
* Go to Accounts > Add accounts > CalDAV
Line 69: Line 89:
The ''uuid'' can be found on the calendar settings page within Google Calendar, and is a long string of characters & numbers.<br />
The ''uuid'' can be found on the calendar settings page within Google Calendar, and is a long string of characters & numbers.<br />
The trailing slashes are ''crucial'' for Google.
The trailing slashes are ''crucial'' for Google.
 +
 +
MfE
* The primary calendar claimed to sync, but no events showed up. So I deleted the CalDAV entry for my primary calendar and set up Mail for Exchange:
* The primary calendar claimed to sync, but no events showed up. So I deleted the CalDAV entry for my primary calendar and set up Mail for Exchange:
Line 81: Line 103:
== Map loader ==
== Map loader ==
 +
 +
'''Beta 1 firmware'''
 +
Maps contains a ''Manage Maps'' feature which downloads, but doesn't expand. It is possible to do it manually, though:
Maps contains a ''Manage Maps'' feature which downloads, but doesn't expand. It is possible to do it manually, though:
Line 90: Line 115:
If you have a newer version of the catalog, the previous link for downloading may not work. You should try <code><nowiki>http://static.maploader.maps.svc.ovi.com/map5/</nowiki></code>. For example, the UK maps are at http://static.maploader.maps.svc.ovi.com/map5/maploaderzip-00.02.43.117/58210.zip
If you have a newer version of the catalog, the previous link for downloading may not work. You should try <code><nowiki>http://static.maploader.maps.svc.ovi.com/map5/</nowiki></code>. 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.
== Music ==
== Music ==
Line 100: Line 128:
Edit the file as regular <code>user</code> and add to the semi-colon separated <code>IgnoredDirectories</code> list.
Edit the file as regular <code>user</code> and add to the semi-colon separated <code>IgnoredDirectories</code> list.
-
Tracker indexes file system and applications. Haven't tried ''(could someone please confirm?)'' but re-indexing should be triggered with following command:
+
See https://live.gnome.org/Tracker/Documentation for the documentation.
-
/usr/lib/tracker/tracker-store -r (or /usr/lib/tracker/tracker-store --force-reindex)
+
== Notification light ==
== Notification light ==
Line 112: Line 139:
== root ==
== root ==
The default root password is <code>rootme</code> (as in the 770 days ;-)). You can get root to change it (using <code>passwd</code>) using:
The default root password is <code>rootme</code> (as in the 770 days ;-)). You can get root to change it (using <code>passwd</code>) using:
-
 
-
  ssh root@localhost
 
-
 
-
...or:
 
   devel-su
   devel-su
 +
 +
Note that the OTA update from 19 Oct 2011 disables ssh'ing as root (see /etc/init/ssh.conf).
 +
So the only way to ssh into the device is as "developer", using the password given by the "SDK connect tool" app.
== Security framework ==
== Security framework ==
Line 160: Line 186:
They can be shared from ''Gallery'' (they are stored in ~/MyDocs/.images)
They can be shared from ''Gallery'' (they are stored in ~/MyDocs/.images)
 +
 +
See also http://forum.meego.com/showthread.php?t=4833 and http://www.developer.nokia.com/Community/Wiki/Capture_movie_directly_from_N9/N950_screen -- which suggests several techniques for screen-capture that rely on existing packages for Harmattan and can be invoked directly from a remote ssh session. The following examples require installation of 'gst-tools' :
 +
 +
===== Capture single screenshot: =====
 +
 +
<code>gst-launch-0.10 ximagesrc num-buffers=1 ! ffmpegcolorspace ! pngenc ! filesink location=screenshot.png</code>
 +
 +
===== Capture a "movie" writing large mjpeg to remote filesystem: =====
 +
 +
<code>gst-launch-0.10 ximagesrc ! videorate ! ffmpegcolorspace ! jpegenc ! multipartmux ! fdsink fd=1 | ssh npm@192.168.2.14 "cat > /media/gnulem-npm/Documents/screenlapse.mjpeg"</code>
== Task switching ==
== Task switching ==
Line 204: Line 240:
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
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
 +
 +
== Migrating from beta 2 to beta 3 ==
 +
 +
=== Developer mode installs from the official Nokia SDK repo are broken ===
 +
The [https://harmattan-bugs.nokia.com/show_bug.cgi?id=978 Nokia SDK repo lacks an apt signature], so installing, say, <code>bash</code> from the official Harmattan beta3 repo; aegis rejects it with:
 +
 +
<pre>
 +
Aegis rejecting /var/cache/apt/archives/bash_4.1-3+maemo6+0m6_armel.deb: package 'bash' origin cannot be determined  -- signature check failed
 +
</pre>
 +
 +
The workaround is to remove the SDK repo from one's apt sources, run apt-get update, then use <code>dpkg -i</code> to install the deb manually.  Here is a [http://www.martindengler.com/proj/n950/harmattan-beta3-repo-sdk-aegis-install-problem-and-workaround.txt full shell session demonstrating the problem and the workaround].
 +
 +
== Migrating from beta 1 to beta 2 ==
 +
 +
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:
 +
* Push your contacts to an N900 - restore from backup won't work. Export/Backup the contacts on the N900 just to be sure. A more involved (but N900-free) [[Migrating_from_N900_to_N950#Contact_Import|vcard-based transfer]] is also possible.
 +
* Be aware that your SMS history will be lost. Ovi Suite will at least back it up for you in a human-readable way.
 +
* Perform a backup from "Backup and Sync" in "Settings" on your N950.
 +
* Connect to your PC and move the whole .backups directory off, and also any other files you want to keep (DCIM, etc). Everything on your N950 will be wiped.
 +
* Unmount the N950, turn it off and follow the flashing instructions (~15m of "erasing" + ~5m install).  If you see errors about "bb5_rdc_cert_read" on Linux, [http://www.martindengler.com/proj/n950-flasher-beta1/ use the beta1 flasher].
 +
* While it's flashing, on your PC, edit the settings.zip file inside the backup directory and remove Root/home/user/MyDocs (this contains your gconf settings which, if restored, will break Twitter logon). Delete contacts.zip and messaging.zip entirely - they won't restore successfully if you try.
 +
* Once your N950 starts with the beta 2 firmware, reattach it to USB and move everything back across.
 +
* Restore the contacts from the N900 [[Migrating_from_N900_to_N950#Contact_Import|in the normal way]]
 +
* Go to the backup applet and restore the backup.
 +
* On reboot, go through the settings applet and restore your settings manually, including enabling developer mode (packages will auto-install) under "security".
 +
* For each account in the account manager, you must invoke the relevant program that uses each account and re-enter the password. Some syncs may have also become disabled. Be sure to check. POP/IMAP email accounts seem to be in limbo - you may need to delete and recreate them.
 +
 +
Done.
 +
 +
== Migrating from beta1 to PR1.1 ==
 +
 +
This is not supported.  Please migrate to beta2 first, and only then to PR1.1.
 +
 +
== Migrating from beta2 to PR1.1 ==
 +
 +
This can only be done over-the-air (OTA) right now, according to the [http://www.developer.nokia.com/Community/Blogs/blog/n9-developer/2011/10/19/n950-software-update-available-over-the-air release announcement].
== Tricks ==
== Tricks ==
Line 229: Line 301:
Scroll down until you find <pre>locked-orientation: "portrait";</pre> and change it to <pre>locked-orientation: "";</pre>
Scroll down until you find <pre>locked-orientation: "portrait";</pre> and change it to <pre>locked-orientation: "";</pre>
-
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.
+
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 or run:
 +
 
 +
<code>
 +
/sbin/initctl restart xsession/mthome
 +
</code>
 +
[http://forum.meego.com/showpost.php?p=26219&postcount=28 source]
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.  
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.  
[http://forum.meego.com/showpost.php?p=25070&postcount=19 source]
[http://forum.meego.com/showpost.php?p=25070&postcount=19 source]
-
=== GTalk account setup ===
+
=== GTalk and Skype account setup ===
-
From Terminal, run:
+
As of 39-5 firmware, which still doesn't have Skype UI integrated, it is possible to use N9 apt repository to install Skype UI (+ other N9 stuff), [http://leho.kraav.com/blog/2011/12/01/install-n9-skype-ui-on-n950/ follow instructions here].
 +
 
 +
Note that below is a temporary hack as these services will be hopefully properly integrated in future firmware.
 +
 
 +
GTalk: From Terminal as user, run:
<pre>
<pre>
Line 243: Line 324:
mc-tool enable gabble/jabber/gmailusernamehere_40gmail_2ecom0
mc-tool enable gabble/jabber/gmailusernamehere_40gmail_2ecom0
</pre>
</pre>
 +
 +
Skype: From Terminal as user, run:
 +
 +
<pre>
 +
mc-tool add spirit/skype skype string:account=skypename string:password=secretpasswordhere
 +
mc-tool list
 +
mc-tool enable spirit/skype/skypename0
 +
</pre>
 +
 +
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 with mc-tool alone, so you can't see the accounts in the contact profile properly, you can still use the services in the following way:
 +
*To initiate chat just go to messaging and choose who you want to chat with.
 +
*To initiate a call, go to the phone app and choose contact from the list (press the user button to get to contacts). You can then click on the selected service for call.
 +
 +
It is possible to integrate any telepathy account with contacts and conversations by creating xml files for the provider and IM service, then manually creating the account and storing the settings in the sqlite db ~/.accounts/accounts.db. Full details can be found in [http://talk.maemo.org/showthread.php?t=80501 this thread]. After this, the contacts application will show your accounts under 'services', showing buttons for chat and calls if available. Some of the instructions can be used to apply the same to your Skype account and fix its integration.
 +
 +
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.
 +
 +
=== Fixing Joikuspot issues ===
 +
In many cases, Joiku WiFi hotspot fails to work (this was reported by many users in US). It's cased by something overwriting the setting in /sys/devices/platform/wl1271/allow_adhoc
 +
 +
In order to fix it, it has to be enabled each time at startup. For this use init script, which you can create for example as: /etc/init/apps/adhoc.conf
 +
 +
<pre>
 +
description "Allow Adhoc script"
 +
author "some name"
 +
 +
stop on stopping xsession
 +
 +
console none
 +
 +
exec /bin/echo 1 > /sys/devices/platform/wl1271/allow_adhoc
 +
</pre>
 +
 +
This doesn't produce consistent results on N950 though, since something overwrites allow_adhoc in some cases even after boot up.
 +
 +
 +
=== Restarting UI instead of rebooting ===
 +
 +
Quite a few hand-edited changes (beware of aegis!) require some UI processes to be restarted.  Rather than rebooting, usually it is enough to run
 +
 +
/sbin/initctl restart xsession/mthome
 +
 +
...which will close all your open apps and restart them.
[[Category:N900]]
[[Category:N900]]
[[Category:N950]]
[[Category:N950]]

Latest revision as of 01:07, 29 March 2012

Contents

Introduction

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.

Building packages in Scratchbox

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.

Events feed

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.

As of Beta2: Facebook, Twitter, RSS and Associated Press shows up on Events feed. Some 3rd party apps (Foursquare) are also using it.

Contact Import

Import from N900

Some N900s are unreliable with Bluetooth connections. To transfer all the contacts from your N900 to your Harmattan device, including avatars:

  • Delete any Facebook accounts on your Harmattan device
  • Delete all contacts
  • Do not try to use the "sync your phone" feature from the N950 (if you've tried it, delete the channel on both the N950 and N900)
  • N900: go to Settings > Transfer & sync > New. Define a new send-only, contacts-only channel to the N950 (which should have Bluetooth switched on and visible)

This method does NOT transfer any IM-only contacts.

Import From VCF files

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

Import From N950

Bluetooth (BT) sync from the N950 can be used; there has been at least one report of it working without any issues (from lardman)

Contact Export

The Contact application will fail (as of beta 1, at least) to export any contacts with a '/' (forward slash) in them. There is no workaround, but there is an alternative way to export contacts: install the vcardexport command-line program.

Email

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!)

Hotmail

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.

Syncing multiple Google Calendars

This Harmattan build supports multiple Mail for Exchange and multiple CalDAV accounts. For Google Calendar:

Single CalDAV Calendar

  • Configure the calendars to be synced
  • Go to Accounts > Add accounts > CalDAV
  • Username should be your full Google Calendar username (e.g. jbloggs@gmail.com) and password.
  • The URL is: https://www.google.com/ or, if that doesn't work, https://www.google.com/calendar/dav/

Individual CalDAV Calendars

  • Go to Accounts > Add accounts > CalDAV
  • Username should be your full Google Calendar username (e.g. jbloggs@gmail.com) and password.
  • The URL is:
    • For your primary calendar: https://www.google.com/calendar/dav/
    • For other calendars: https://www.google.com/calendar/dav/uuid@group.calendar.google.com/
    • For some users, the primary calendar will only work with, supposing your e-mail is jbloggs@gmail.com: https://www.google.com/calendar/dav/jbloggs@gmail.com/

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.

MfE

  • The primary calendar claimed to sync, but no events showed up. So I deleted the CalDAV entry for my primary calendar and set up Mail for Exchange:
    • Username is your full Google Calendar username and password
    • Server: m.google.com
  • I synced my primary calendar using the syntax of the second URL (with my Google login email instead of uuid@google) and it worked great. YMMV.
  • Note: for me the sync button only worked once you go back out after creating the entry, and then back into it again.

Conversations

Preliminary code for importing conversations from N900 can be obtained from this git repository.

Map loader

Beta 1 firmware

Maps contains a Manage Maps feature which downloads, but doesn't expand. It is possible to do it manually, though:

  1. Connect your device as USB mass storage
  2. Open cities/MapLoader/catalog-....xml
  3. Find the region you want to download
  4. Take the 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.zip
  5. Copy the contents of the zip file to cities/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.

Music

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

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.

See https://live.gnome.org/Tracker/Documentation for the documentation.

Notification light

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.

root

The default root password is rootme (as in the 770 days ;-)). You can get root to change it (using passwd) using:

 devel-su

Note that the OTA update from 19 Oct 2011 disables ssh'ing as root (see /etc/init/ssh.conf). So the only way to ssh into the device is as "developer", using the password given by the "SDK connect tool" app.

Security framework

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.

Harmattan Security FAQ

There is an Harmattan Security FAQ that has very useful tips.


Further reading

Screenshots

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)

See also http://forum.meego.com/showthread.php?t=4833 and http://www.developer.nokia.com/Community/Wiki/Capture_movie_directly_from_N9/N950_screen -- which suggests several techniques for screen-capture that rely on existing packages for Harmattan and can be invoked directly from a remote ssh session. The following examples require installation of 'gst-tools' :

Capture single screenshot:
gst-launch-0.10 ximagesrc num-buffers=1 ! ffmpegcolorspace ! pngenc ! filesink location=screenshot.png
Capture a "movie" writing large mjpeg to remote filesystem:
gst-launch-0.10 ximagesrc ! videorate ! ffmpegcolorspace ! jpegenc ! multipartmux ! fdsink fd=1 | ssh npm@192.168.2.14 "cat > /media/gnulem-npm/Documents/screenlapse.mjpeg"

Task switching

Accesssing

In addition to the swipe, the up-right arrow & backspace shortcut works almost similarly to Ctrl-Backspace on the N900.

Rotation

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.

Keyboard layout

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"

Manual key mapping

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

Keyboard shortcuts

Sh = shift, Ctrl = control, Fn = Function (lower left key), BS = backspace (upper right key), CR = CarriageReturn/Enter (right 2nd from top)

  • Fn+BS : jump back to last screen - usually either taskswitcher or applauncher

(none of the following seem to work in non-MTF apps)

  • Ctrl+Q : close current screen and back to last, like Fn+BS
  • Ctrl+Sh+P : take ->screenshots
  • Ctrl+Sh+T : switch on/off positions(?)
  • Ctrl+Sh+S : switch on/off dimensions(?)
  • Ctrl+Sh+L : cycle through some languages
  • Ctrl+Sh+F : switch on/off frames-per-second
  • Ctrl+Sh+B : switch on/off borders(?)
  • Ctrl+Sh+M : switch on/off margins(?)
  • Ctrl+Sh+N : switch on/off some writing that shows up when scrolling applauncher(?)
  • start typing in any of the 3 basic screens : start Search

Hardware related bits

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

Migrating from beta 2 to beta 3

Developer mode installs from the official Nokia SDK repo are broken

The Nokia SDK repo lacks an apt signature, so installing, say, bash from the official Harmattan beta3 repo; aegis rejects it with:

Aegis rejecting /var/cache/apt/archives/bash_4.1-3+maemo6+0m6_armel.deb: package 'bash' origin cannot be determined  -- signature check failed

The workaround is to remove the SDK repo from one's apt sources, run apt-get update, then use dpkg -i to install the deb manually. Here is a full shell session demonstrating the problem and the workaround.

Migrating from beta 1 to beta 2

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:

  • Push your contacts to an N900 - restore from backup won't work. Export/Backup the contacts on the N900 just to be sure. A more involved (but N900-free) vcard-based transfer is also possible.
  • Be aware that your SMS history will be lost. Ovi Suite will at least back it up for you in a human-readable way.
  • Perform a backup from "Backup and Sync" in "Settings" on your N950.
  • Connect to your PC and move the whole .backups directory off, and also any other files you want to keep (DCIM, etc). Everything on your N950 will be wiped.
  • Unmount the N950, turn it off and follow the flashing instructions (~15m of "erasing" + ~5m install). If you see errors about "bb5_rdc_cert_read" on Linux, use the beta1 flasher.
  • While it's flashing, on your PC, edit the settings.zip file inside the backup directory and remove Root/home/user/MyDocs (this contains your gconf settings which, if restored, will break Twitter logon). Delete contacts.zip and messaging.zip entirely - they won't restore successfully if you try.
  • Once your N950 starts with the beta 2 firmware, reattach it to USB and move everything back across.
  • Restore the contacts from the N900 in the normal way
  • Go to the backup applet and restore the backup.
  • On reboot, go through the settings applet and restore your settings manually, including enabling developer mode (packages will auto-install) under "security".
  • For each account in the account manager, you must invoke the relevant program that uses each account and re-enter the password. Some syncs may have also become disabled. Be sure to check. POP/IMAP email accounts seem to be in limbo - you may need to delete and recreate them.

Done.

Migrating from beta1 to PR1.1

This is not supported. Please migrate to beta2 first, and only then to PR1.1.

Migrating from beta2 to PR1.1

This can only be done over-the-air (OTA) right now, according to the release announcement.

Tricks

Harmattan home screens in landscape mode

Get root:

ssh root@localhost

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

source


Harmattan lock screen in landscape mode

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 or run:

/sbin/initctl restart xsession/mthome source

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

GTalk and Skype account setup

As of 39-5 firmware, which still doesn't have Skype UI integrated, it is possible to use N9 apt repository to install Skype UI (+ other N9 stuff), follow instructions here.

Note that below is a temporary hack as these services will be hopefully properly integrated in future firmware.

GTalk: From Terminal as user, run:

mc-tool add gabble/jabber gmail string:account=gmailusernamehere@gmail.com 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 with mc-tool alone, so you can't see the accounts in the contact profile properly, you can still use the services in the following way:

  • To initiate chat just go to messaging and choose who you want to chat with.
  • To initiate a call, go to the phone app and choose contact from the list (press the user button to get to contacts). You can then click on the selected service for call.

It is possible to integrate any telepathy account with contacts and conversations by creating xml files for the provider and IM service, then manually creating the account and storing the settings in the sqlite db ~/.accounts/accounts.db. Full details can be found in this thread. After this, the contacts application will show your accounts under 'services', showing buttons for chat and calls if available. Some of the instructions can be used to apply the same to your Skype account and fix its integration.

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.

Fixing Joikuspot issues

In many cases, Joiku WiFi hotspot fails to work (this was reported by many users in US). It's cased by something overwriting the setting in /sys/devices/platform/wl1271/allow_adhoc

In order to fix it, it has to be enabled each time at startup. For this use init script, which you can create for example as: /etc/init/apps/adhoc.conf

description "Allow Adhoc script"
author "some name"

stop on stopping xsession

console none

exec /bin/echo 1 > /sys/devices/platform/wl1271/allow_adhoc

This doesn't produce consistent results on N950 though, since something overwrites allow_adhoc in some cases even after boot up.


Restarting UI instead of rebooting

Quite a few hand-edited changes (beware of aegis!) require some UI processes to be restarted. Rather than rebooting, usually it is enough to run

/sbin/initctl restart xsession/mthome

...which will close all your open apps and restart them.

Personal tools