<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://maemo.octonezd.me/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=181.179.18.175</id>
	<title>Maemo Wiki Mirror - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://maemo.octonezd.me/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=181.179.18.175"/>
	<link rel="alternate" type="text/html" href="https://maemo.octonezd.me/index.php/Special:Contributions/181.179.18.175"/>
	<updated>2026-04-22T05:59:29Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://maemo.octonezd.me/index.php?title=Python/Harmattan/Getting_started_with_Harmattan_Python&amp;diff=33871</id>
		<title>Python/Harmattan/Getting started with Harmattan Python</title>
		<link rel="alternate" type="text/html" href="https://maemo.octonezd.me/index.php?title=Python/Harmattan/Getting_started_with_Harmattan_Python&amp;diff=33871"/>
		<updated>2018-03-05T18:17:29Z</updated>

		<summary type="html">&lt;p&gt;181.179.18.175: Why &amp;#039;&amp;#039;./dosomething.py&amp;#039;&amp;#039; works, and why not.  and the role of packaging.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== How to setup the device ==&lt;br /&gt;
&lt;br /&gt;
Depending on the device model that you are using, some extra steps are needed to have Python installed on it. Currently there are two models running Meego 1.2 Harmattan:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;N950&#039;&#039;&#039;: this is the developer edition and comes with Python, [http://www.pyside.org PySide] and [http://www.pyside.org/docs/pyside-mobility/ bindings for QtMobility] already installed.&lt;br /&gt;
* &#039;&#039;&#039;N9&#039;&#039;&#039;: this is the mass-market end-user device. Development packages does not come pre-installed. See below how to install Python on it!&lt;br /&gt;
&lt;br /&gt;
==== Developer mode ====&lt;br /&gt;
&lt;br /&gt;
Meego 1.2 Harmattan has a special mode - [http://library.developer.nokia.com/topic/MeeGo_1.2_Harmattan_API/html/guide/html/Developer_Library_Developing_for_Harmattan_Activating_developer_mode_1fa5.html Developer Mode] - that enables connectivity between the device and the software development kit (SDK) running on the host. This mode is useful to test applications into device as you develop. Follow the instructions [http://library.developer.nokia.com/topic/MeeGo_1.2_Harmattan_API/html/guide/html/Developer_Library_Developing_for_Harmattan_Activating_developer_mode_1fa5.html here] to enable/disable it.&lt;br /&gt;
&lt;br /&gt;
Once you have got connected to the device using e.g. ssh, you can use &#039;&#039;devel-su&#039;&#039; command to become superuser. Use &#039;&#039;&#039;rootme&#039;&#039;&#039; as password and you become root.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ devel-su&lt;br /&gt;
Password:&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
However, this will not allow you to execute unregistered scripts or applications. See section &#039;&#039;Security framework&#039;&#039; below to get more information about security on MeeGo 1.2 Harmattan environment.&lt;br /&gt;
&lt;br /&gt;
==== Installing only Python ====&lt;br /&gt;
&lt;br /&gt;
Following the steps shown in the last section you will be able to use &#039;&#039;apt-get&#039;&#039;. This application is responsible for package handling on Debian like distributions. If you want to install other modules, like bindings for Qt and QtMobility, see the topic below. As they depend on Python, it will be automatically installed too - there is no need to install just Python before them.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To have only Python installed on your device, run:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ apt-get update&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
$ apt-get install python&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Welcome to the Python world!&lt;br /&gt;
&lt;br /&gt;
==== Installing other Python-related packages ====&lt;br /&gt;
&lt;br /&gt;
MeeGo 1.2 Harmattan platform uses [https://web.archive.org/web/20120929010040/http://library.developer.nokia.com/topic/MeeGo_1.2_Harmattan_API/html/guide/html/Developer_Library_Application_development_framework_ebcf.html QtQuick] as its preferred method to develop interfaces. The [http://www.pyside.org PySide] project provides Python bindings for Qt allowing Python developers to develop their interfaces. [https://web.archive.org/web/20120929010040/http://developer.qt.nokia.com/wiki/PySideDocumentation/ Here] you can find useful information on how to develop using PySide/QtQuick/QML. If you plan to develop applications that use just Qt (without QML) they will not integrate (use and feel) with the native interface.&lt;br /&gt;
&lt;br /&gt;
To install these new packages you can continue from the same terminal opened in the last section. Again, use &#039;&#039;apt-get&#039;&#039; to install all the needed packages:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
# Install PySide:&lt;br /&gt;
$ apt-get install python-pyside&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There are also [https://web.archive.org/web/20120929010040/http://qt-project.org/wiki/PySideDocumentation/#704d2ca247b8787c6738c5a47d3f98ec bindings] for [https://web.archive.org/web/20120929010040/http://doc.qt.nokia.com/qtmobility-1.2/index.html QtMobility]. To install them:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
# Install PySide-QtMobility&lt;br /&gt;
$ apt-get install python-qtmobility&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There are some other modules already ported / being ported and the easiest way to install all of them is:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
# Install all available python bindings&lt;br /&gt;
$ apt-get install python-modules-all&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tasting PySide/QML ==&lt;br /&gt;
&lt;br /&gt;
If you have skipped any of the previous sections and have PySide installed you can see here an [https://web.archive.org/web/20120929010040/http://developer.qt.nokia.com/wiki/Hello_World_in_PySide_and_QtQuick example] taken from PySide documentation website. &lt;br /&gt;
&lt;br /&gt;
[https://web.archive.org/web/20120929010040/http://doc.qt.nokia.com/4.7/qdeclarativeintroduction.html QML] is a declarative language designed to describe the user interface of a program: both what it looks like, and how it behaves. In QML, a user interface is specified as a tree of objects with properties. In this tutorial we will show how you can make a simple Hello World application with PySide and QML.&lt;br /&gt;
&lt;br /&gt;
A PySide/QML application consists, at least, of two different files – a file with the QML description of the user interface, and a python file which loads the qml file. To avoid problems for now, don’t forget to save both files in the same folder.&lt;br /&gt;
&lt;br /&gt;
Here is a simple QML file, called &#039;&#039;view.qml&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
import Qt 4.7&lt;br /&gt;
 &lt;br /&gt;
Rectangle {&lt;br /&gt;
    width: 200&lt;br /&gt;
    height: 200&lt;br /&gt;
    color: &amp;quot;red&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
    Text {&lt;br /&gt;
        text: &amp;quot;Hello World&amp;quot;&lt;br /&gt;
        anchors.centerIn: parent&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We start by importing Qt 4.7. As it is pretended that QtQuick has a different build schedule than Qt/PySide, in the near future you will have to change this to import QtQuick 1.0. But for now, it works as is.&lt;br /&gt;
&lt;br /&gt;
The rest of the QML code, is pretty straigthforward for those who have used previously HTML or XML files. Basically, we are creating a red rectangle with the size &#039;&#039;200*200&#039;&#039; and, inside that rectangle, we are adding a Text element which says &#039;&#039;Hello World&#039;&#039;. The code &#039;&#039;anchors.centerIn: parent&#039;&#039; just makes the text appear centered in relation to its imediate parent.&lt;br /&gt;
&lt;br /&gt;
Now, let’s see how the code looks on the PySide. Let’s call it main.py:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
#!/usr/bin/python&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
 &lt;br /&gt;
import sys&lt;br /&gt;
from PySide.QtCore import *&lt;br /&gt;
from PySide.QtGui import *&lt;br /&gt;
from PySide.QtDeclarative import QDeclarativeView&lt;br /&gt;
 &lt;br /&gt;
# Create Qt application and the QDeclarative view&lt;br /&gt;
app = QApplication(sys.argv)&lt;br /&gt;
view = QDeclarativeView()&lt;br /&gt;
# Create an URL to the QML file&lt;br /&gt;
url = QUrl(&#039;view.qml&#039;)&lt;br /&gt;
# Set the QML file and show&lt;br /&gt;
view.setSource(url)&lt;br /&gt;
view.show()&lt;br /&gt;
# Enter Qt main loop&lt;br /&gt;
sys.exit(app.exec_())&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To run the example remember to use:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ python ./main.py&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As this script is not packaged/registered it will fail if you call just &#039;&#039;./main.py&#039;&#039;. The next section better explains these concepts.&lt;br /&gt;
&lt;br /&gt;
If you are already familiar with PySide and have followed our tutorials, much of this code is already familiar. The only novelties is that you must import QDeclarativeView and set the source of the QDeclarativeView object to the URL of your QML file. Then, as any Qt widget, you call &#039;&#039;QDeclarativeView.show()&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Take your time exploring this example. You can try to do basic things as changing the colors, the text, or set other properties to each element, setting a radius on the rectangle color. Check the elements and their properties in [https://web.archive.org/web/20120929010040/http://doc.qt.nokia.com/4.7/qdeclarativeelements.html QML Elements].&lt;br /&gt;
&lt;br /&gt;
== Security framework for Python scripts ==&lt;br /&gt;
&lt;br /&gt;
To run applications (binaries and scripts) it is necessary to follow some security guidelines. Information about the implications of the security framework for applications in general can be found [https://projects.maemo.org/mediawiki/index.php/Developer_Library/Developing_for_Harmattan/Harmattan_security here].&lt;br /&gt;
&lt;br /&gt;
If your &#039;&#039;dosomething.py&#039;&#039; python script is marked as executable (as the result of &#039;&#039;chmod +x dosomething.py&#039;&#039;), it is somewhere in the PATH (for example &#039;&#039;/usr/local/bin/&#039;&#039;), it starts with the line&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
#!/usr/bin/env python&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
then you can invoke it from the command line, just as any other program.  This however is not exactly what you would call &amp;quot;end-user friendly&amp;quot;.  &lt;br /&gt;
&lt;br /&gt;
Proper packaging of your python software will allow you hand it over to your friends, who will be able to use it as any other Maemo program.&lt;br /&gt;
&lt;br /&gt;
The next section shows how to package your Python application.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; if the script is modified after it is installed it will fail to run!&lt;br /&gt;
&lt;br /&gt;
== Packaging ==&lt;br /&gt;
&lt;br /&gt;
As explained in the previous section there are some restrictions to run applications/scripts. Your application has to be installed from a Debian package.&lt;br /&gt;
&lt;br /&gt;
The easiest way to create Python packages for MeeGo 1.2 Harmattan is to use &#039;&#039;pyside-assistant&#039;&#039;. After a few steps you will have a Debian package ready to be installed. You will have to inform all the resources that your application needs - avoiding problems with the Security Framework. To see all supported features and how to use &#039;&#039;pyside-assistant&#039;&#039;, including an example, follow this [[Documentation_for_pyside-assistant|link]].&lt;/div&gt;</summary>
		<author><name>181.179.18.175</name></author>
	</entry>
	<entry>
		<id>https://maemo.octonezd.me/index.php?title=Python/Harmattan/Getting_started_with_Harmattan_Python&amp;diff=33872</id>
		<title>Python/Harmattan/Getting started with Harmattan Python</title>
		<link rel="alternate" type="text/html" href="https://maemo.octonezd.me/index.php?title=Python/Harmattan/Getting_started_with_Harmattan_Python&amp;diff=33872"/>
		<updated>2018-03-05T14:55:44Z</updated>

		<summary type="html">&lt;p&gt;181.179.18.175: rely on webarchive for now broken nokia links.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== How to setup the device ==&lt;br /&gt;
&lt;br /&gt;
Depending on the device model that you are using, some extra steps are needed to have Python installed on it. Currently there are two models running Meego 1.2 Harmattan:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;N950&#039;&#039;&#039;: this is the developer edition and comes with Python, [http://www.pyside.org PySide] and [http://www.pyside.org/docs/pyside-mobility/ bindings for QtMobility] already installed.&lt;br /&gt;
* &#039;&#039;&#039;N9&#039;&#039;&#039;: this is the mass-market end-user device. Development packages does not come pre-installed. See below how to install Python on it!&lt;br /&gt;
&lt;br /&gt;
==== Developer mode ====&lt;br /&gt;
&lt;br /&gt;
Meego 1.2 Harmattan has a special mode - [http://library.developer.nokia.com/topic/MeeGo_1.2_Harmattan_API/html/guide/html/Developer_Library_Developing_for_Harmattan_Activating_developer_mode_1fa5.html Developer Mode] - that enables connectivity between the device and the software development kit (SDK) running on the host. This mode is useful to test applications into device as you develop. Follow the instructions [http://library.developer.nokia.com/topic/MeeGo_1.2_Harmattan_API/html/guide/html/Developer_Library_Developing_for_Harmattan_Activating_developer_mode_1fa5.html here] to enable/disable it.&lt;br /&gt;
&lt;br /&gt;
Once you have got connected to the device using e.g. ssh, you can use &#039;&#039;devel-su&#039;&#039; command to become superuser. Use &#039;&#039;&#039;rootme&#039;&#039;&#039; as password and you become root.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ devel-su&lt;br /&gt;
Password:&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
However, this will not allow you to execute unregistered scripts or applications. See section &#039;&#039;Security framework&#039;&#039; below to get more information about security on MeeGo 1.2 Harmattan environment.&lt;br /&gt;
&lt;br /&gt;
==== Installing only Python ====&lt;br /&gt;
&lt;br /&gt;
Following the steps shown in the last section you will be able to use &#039;&#039;apt-get&#039;&#039;. This application is responsible for package handling on Debian like distributions. If you want to install other modules, like bindings for Qt and QtMobility, see the topic below. As they depend on Python, it will be automatically installed too - there is no need to install just Python before them.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To have only Python installed on your device, run:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ apt-get update&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
$ apt-get install python&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Welcome to the Python world!&lt;br /&gt;
&lt;br /&gt;
==== Installing other Python-related packages ====&lt;br /&gt;
&lt;br /&gt;
MeeGo 1.2 Harmattan platform uses [https://web.archive.org/web/20120929010040/http://library.developer.nokia.com/topic/MeeGo_1.2_Harmattan_API/html/guide/html/Developer_Library_Application_development_framework_ebcf.html QtQuick] as its preferred method to develop interfaces. The [http://www.pyside.org PySide] project provides Python bindings for Qt allowing Python developers to develop their interfaces. [https://web.archive.org/web/20120929010040/http://developer.qt.nokia.com/wiki/PySideDocumentation/ Here] you can find useful information on how to develop using PySide/QtQuick/QML. If you plan to develop applications that use just Qt (without QML) they will not integrate (use and feel) with the native interface.&lt;br /&gt;
&lt;br /&gt;
To install these new packages you can continue from the same terminal opened in the last section. Again, use &#039;&#039;apt-get&#039;&#039; to install all the needed packages:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
# Install PySide:&lt;br /&gt;
$ apt-get install python-pyside&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There are also [https://web.archive.org/web/20120929010040/http://qt-project.org/wiki/PySideDocumentation/#704d2ca247b8787c6738c5a47d3f98ec bindings] for [https://web.archive.org/web/20120929010040/http://doc.qt.nokia.com/qtmobility-1.2/index.html QtMobility]. To install them:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
# Install PySide-QtMobility&lt;br /&gt;
$ apt-get install python-qtmobility&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There are some other modules already ported / being ported and the easiest way to install all of them is:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
# Install all available python bindings&lt;br /&gt;
$ apt-get install python-modules-all&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tasting PySide/QML ==&lt;br /&gt;
&lt;br /&gt;
If you have skipped any of the previous sections and have PySide installed you can see here an [https://web.archive.org/web/20120929010040/http://developer.qt.nokia.com/wiki/Hello_World_in_PySide_and_QtQuick example] taken from PySide documentation website. &lt;br /&gt;
&lt;br /&gt;
[https://web.archive.org/web/20120929010040/http://doc.qt.nokia.com/4.7/qdeclarativeintroduction.html QML] is a declarative language designed to describe the user interface of a program: both what it looks like, and how it behaves. In QML, a user interface is specified as a tree of objects with properties. In this tutorial we will show how you can make a simple Hello World application with PySide and QML.&lt;br /&gt;
&lt;br /&gt;
A PySide/QML application consists, at least, of two different files – a file with the QML description of the user interface, and a python file which loads the qml file. To avoid problems for now, don’t forget to save both files in the same folder.&lt;br /&gt;
&lt;br /&gt;
Here is a simple QML file, called &#039;&#039;view.qml&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
import Qt 4.7&lt;br /&gt;
 &lt;br /&gt;
Rectangle {&lt;br /&gt;
    width: 200&lt;br /&gt;
    height: 200&lt;br /&gt;
    color: &amp;quot;red&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
    Text {&lt;br /&gt;
        text: &amp;quot;Hello World&amp;quot;&lt;br /&gt;
        anchors.centerIn: parent&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We start by importing Qt 4.7. As it is pretended that QtQuick has a different build schedule than Qt/PySide, in the near future you will have to change this to import QtQuick 1.0. But for now, it works as is.&lt;br /&gt;
&lt;br /&gt;
The rest of the QML code, is pretty straigthforward for those who have used previously HTML or XML files. Basically, we are creating a red rectangle with the size &#039;&#039;200*200&#039;&#039; and, inside that rectangle, we are adding a Text element which says &#039;&#039;Hello World&#039;&#039;. The code &#039;&#039;anchors.centerIn: parent&#039;&#039; just makes the text appear centered in relation to its imediate parent.&lt;br /&gt;
&lt;br /&gt;
Now, let’s see how the code looks on the PySide. Let’s call it main.py:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
#!/usr/bin/python&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
 &lt;br /&gt;
import sys&lt;br /&gt;
from PySide.QtCore import *&lt;br /&gt;
from PySide.QtGui import *&lt;br /&gt;
from PySide.QtDeclarative import QDeclarativeView&lt;br /&gt;
 &lt;br /&gt;
# Create Qt application and the QDeclarative view&lt;br /&gt;
app = QApplication(sys.argv)&lt;br /&gt;
view = QDeclarativeView()&lt;br /&gt;
# Create an URL to the QML file&lt;br /&gt;
url = QUrl(&#039;view.qml&#039;)&lt;br /&gt;
# Set the QML file and show&lt;br /&gt;
view.setSource(url)&lt;br /&gt;
view.show()&lt;br /&gt;
# Enter Qt main loop&lt;br /&gt;
sys.exit(app.exec_())&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To run the example remember to use:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ python ./main.py&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As this script is not packaged/registered it will fail if you call just &#039;&#039;./main.py&#039;&#039;. The next section better explains these concepts.&lt;br /&gt;
&lt;br /&gt;
If you are already familiar with PySide and have followed our tutorials, much of this code is already familiar. The only novelties is that you must import QDeclarativeView and set the source of the QDeclarativeView object to the URL of your QML file. Then, as any Qt widget, you call &#039;&#039;QDeclarativeView.show()&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Take your time exploring this example. You can try to do basic things as changing the colors, the text, or set other properties to each element, setting a radius on the rectangle color. Check the elements and their properties in [https://web.archive.org/web/20120929010040/http://doc.qt.nokia.com/4.7/qdeclarativeelements.html QML Elements].&lt;br /&gt;
&lt;br /&gt;
== Security framework for Python scripts ==&lt;br /&gt;
&lt;br /&gt;
To run applications (binaries and scripts) it is necessary to follow some security guidelines. Information about the implications of the security framework for applications in general can be found [https://projects.maemo.org/mediawiki/index.php/Developer_Library/Developing_for_Harmattan/Harmattan_security here].&lt;br /&gt;
&lt;br /&gt;
Without a proper package it will not be possible to run executable Python scripts without pre-pending &#039;&#039;python&#039;&#039;. The following call would fail:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ ./dosomething.py&lt;br /&gt;
-sh: ./dosomething.py: Permission denied&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
However, using the Python interpreter for calling the script works as expected:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ python ./dosomething.py&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The next section shows how to package your Python application.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; if the script is modified after it is installed it will fail to run!&lt;br /&gt;
&lt;br /&gt;
== Packaging ==&lt;br /&gt;
&lt;br /&gt;
As explained in the previous section there are some restrictions to run applications/scripts. Your application has to be installed from a Debian package.&lt;br /&gt;
&lt;br /&gt;
The easiest way to create Python packages for MeeGo 1.2 Harmattan is to use &#039;&#039;pyside-assistant&#039;&#039;. After a few steps you will have a Debian package ready to be installed. You will have to inform all the resources that your application needs - avoiding problems with the Security Framework. To see all supported features and how to use &#039;&#039;pyside-assistant&#039;&#039;, including an example, follow this [[Documentation_for_pyside-assistant|link]].&lt;/div&gt;</summary>
		<author><name>181.179.18.175</name></author>
	</entry>
	<entry>
		<id>https://maemo.octonezd.me/index.php?title=Python/Harmattan/Getting_started_with_Harmattan_Python&amp;diff=33873</id>
		<title>Python/Harmattan/Getting started with Harmattan Python</title>
		<link rel="alternate" type="text/html" href="https://maemo.octonezd.me/index.php?title=Python/Harmattan/Getting_started_with_Harmattan_Python&amp;diff=33873"/>
		<updated>2018-03-05T14:53:57Z</updated>

		<summary type="html">&lt;p&gt;181.179.18.175: replacing now broken nokia links with webarchive 20120929010040&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== How to setup the device ==&lt;br /&gt;
&lt;br /&gt;
Depending on the device model that you are using, some extra steps are needed to have Python installed on it. Currently there are two models running Meego 1.2 Harmattan:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;N950&#039;&#039;&#039;: this is the developer edition and comes with Python, [http://www.pyside.org PySide] and [http://www.pyside.org/docs/pyside-mobility/ bindings for QtMobility] already installed.&lt;br /&gt;
* &#039;&#039;&#039;N9&#039;&#039;&#039;: this is the mass-market end-user device. Development packages does not come pre-installed. See below how to install Python on it!&lt;br /&gt;
&lt;br /&gt;
==== Developer mode ====&lt;br /&gt;
&lt;br /&gt;
Meego 1.2 Harmattan has a special mode - [http://library.developer.nokia.com/topic/MeeGo_1.2_Harmattan_API/html/guide/html/Developer_Library_Developing_for_Harmattan_Activating_developer_mode_1fa5.html Developer Mode] - that enables connectivity between the device and the software development kit (SDK) running on the host. This mode is useful to test applications into device as you develop. Follow the instructions [http://library.developer.nokia.com/topic/MeeGo_1.2_Harmattan_API/html/guide/html/Developer_Library_Developing_for_Harmattan_Activating_developer_mode_1fa5.html here] to enable/disable it.&lt;br /&gt;
&lt;br /&gt;
Once you have got connected to the device using e.g. ssh, you can use &#039;&#039;devel-su&#039;&#039; command to become superuser. Use &#039;&#039;&#039;rootme&#039;&#039;&#039; as password and you become root.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ devel-su&lt;br /&gt;
Password:&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
However, this will not allow you to execute unregistered scripts or applications. See section &#039;&#039;Security framework&#039;&#039; below to get more information about security on MeeGo 1.2 Harmattan environment.&lt;br /&gt;
&lt;br /&gt;
==== Installing only Python ====&lt;br /&gt;
&lt;br /&gt;
Following the steps shown in the last section you will be able to use &#039;&#039;apt-get&#039;&#039;. This application is responsible for package handling on Debian like distributions. If you want to install other modules, like bindings for Qt and QtMobility, see the topic below. As they depend on Python, it will be automatically installed too - there is no need to install just Python before them.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To have only Python installed on your device, run:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ apt-get update&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
$ apt-get install python&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Welcome to the Python world!&lt;br /&gt;
&lt;br /&gt;
==== Installing other Python-related packages ====&lt;br /&gt;
&lt;br /&gt;
MeeGo 1.2 Harmattan platform uses [https://web.archive.org/web/20120929010040/http://library.developer.nokia.com/topic/MeeGo_1.2_Harmattan_API/html/guide/html/Developer_Library_Application_development_framework_ebcf.html QtQuick] as its preferred method to develop interfaces. The [http://www.pyside.org PySide] project provides Python bindings for Qt allowing Python developers to develop their interfaces. [https://web.archive.org/web/20120929010040/http://developer.qt.nokia.com/wiki/PySideDocumentation/ Here] you can find useful information on how to develop using PySide/QtQuick/QML. If you plan to develop applications that use just Qt (without QML) they will not integrate (use and feel) with the native interface.&lt;br /&gt;
&lt;br /&gt;
To install these new packages you can continue from the same terminal opened in the last section. Again, use &#039;&#039;apt-get&#039;&#039; to install all the needed packages:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
# Install PySide:&lt;br /&gt;
$ apt-get install python-pyside&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There are also [https://web.archive.org/web/20120929010040/http://qt-project.org/wiki/PySideDocumentation/#704d2ca247b8787c6738c5a47d3f98ec bindings] for [https://web.archive.org/web/20120929010040/http://doc.qt.nokia.com/qtmobility-1.2/index.html QtMobility]. To install them:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
# Install PySide-QtMobility&lt;br /&gt;
$ apt-get install python-qtmobility&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There are some other modules already ported / being ported and the easiest way to install all of them is:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
# Install all available python bindings&lt;br /&gt;
$ apt-get install python-modules-all&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tasting PySide/QML ==&lt;br /&gt;
&lt;br /&gt;
If you have skipped any of the previous sections and have PySide installed you can see here an [http://developer.qt.nokia.com/wiki/Hello_World_in_PySide_and_QtQuick example] taken from PySide documentation website. &lt;br /&gt;
&lt;br /&gt;
[http://doc.qt.nokia.com/4.7/qdeclarativeintroduction.html QML] is a declarative language designed to describe the user interface of a program: both what it looks like, and how it behaves. In QML, a user interface is specified as a tree of objects with properties. In this tutorial we will show how you can make a simple Hello World application with PySide and QML.&lt;br /&gt;
&lt;br /&gt;
A PySide/QML application consists, at least, of two different files – a file with the QML description of the user interface, and a python file which loads the qml file. To avoid problems for now, don’t forget to save both files in the same folder.&lt;br /&gt;
&lt;br /&gt;
Here is a simple QML file, called &#039;&#039;view.qml&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
import Qt 4.7&lt;br /&gt;
 &lt;br /&gt;
Rectangle {&lt;br /&gt;
    width: 200&lt;br /&gt;
    height: 200&lt;br /&gt;
    color: &amp;quot;red&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
    Text {&lt;br /&gt;
        text: &amp;quot;Hello World&amp;quot;&lt;br /&gt;
        anchors.centerIn: parent&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We start by importing Qt 4.7. As it is pretended that QtQuick has a different build schedule than Qt/PySide, in the near future you will have to change this to import QtQuick 1.0. But for now, it works as is.&lt;br /&gt;
&lt;br /&gt;
The rest of the QML code, is pretty straigthforward for those who have used previously HTML or XML files. Basically, we are creating a red rectangle with the size &#039;&#039;200*200&#039;&#039; and, inside that rectangle, we are adding a Text element which says &#039;&#039;Hello World&#039;&#039;. The code &#039;&#039;anchors.centerIn: parent&#039;&#039; just makes the text appear centered in relation to its imediate parent.&lt;br /&gt;
&lt;br /&gt;
Now, let’s see how the code looks on the PySide. Let’s call it main.py:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
#!/usr/bin/python&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
 &lt;br /&gt;
import sys&lt;br /&gt;
from PySide.QtCore import *&lt;br /&gt;
from PySide.QtGui import *&lt;br /&gt;
from PySide.QtDeclarative import QDeclarativeView&lt;br /&gt;
 &lt;br /&gt;
# Create Qt application and the QDeclarative view&lt;br /&gt;
app = QApplication(sys.argv)&lt;br /&gt;
view = QDeclarativeView()&lt;br /&gt;
# Create an URL to the QML file&lt;br /&gt;
url = QUrl(&#039;view.qml&#039;)&lt;br /&gt;
# Set the QML file and show&lt;br /&gt;
view.setSource(url)&lt;br /&gt;
view.show()&lt;br /&gt;
# Enter Qt main loop&lt;br /&gt;
sys.exit(app.exec_())&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To run the example remember to use:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ python ./main.py&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As this script is not packaged/registered it will fail if you call just &#039;&#039;./main.py&#039;&#039;. The next section better explains these concepts.&lt;br /&gt;
&lt;br /&gt;
If you are already familiar with PySide and have followed our tutorials, much of this code is already familiar. The only novelties is that you must import QDeclarativeView and set the source of the QDeclarativeView object to the URL of your QML file. Then, as any Qt widget, you call &#039;&#039;QDeclarativeView.show()&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Take your time exploring this example. You can try to do basic things as changing the colors, the text, or set other properties to each element, setting a radius on the rectangle color. Check the elements and their properties in [http://doc.qt.nokia.com/4.7/qdeclarativeelements.html QML Elements].&lt;br /&gt;
&lt;br /&gt;
== Security framework for Python scripts ==&lt;br /&gt;
&lt;br /&gt;
To run applications (binaries and scripts) it is necessary to follow some security guidelines. Information about the implications of the security framework for applications in general can be found [https://projects.maemo.org/mediawiki/index.php/Developer_Library/Developing_for_Harmattan/Harmattan_security here].&lt;br /&gt;
&lt;br /&gt;
Without a proper package it will not be possible to run executable Python scripts without pre-pending &#039;&#039;python&#039;&#039;. The following call would fail:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ ./dosomething.py&lt;br /&gt;
-sh: ./dosomething.py: Permission denied&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
However, using the Python interpreter for calling the script works as expected:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ python ./dosomething.py&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The next section shows how to package your Python application.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; if the script is modified after it is installed it will fail to run!&lt;br /&gt;
&lt;br /&gt;
== Packaging ==&lt;br /&gt;
&lt;br /&gt;
As explained in the previous section there are some restrictions to run applications/scripts. Your application has to be installed from a Debian package.&lt;br /&gt;
&lt;br /&gt;
The easiest way to create Python packages for MeeGo 1.2 Harmattan is to use &#039;&#039;pyside-assistant&#039;&#039;. After a few steps you will have a Debian package ready to be installed. You will have to inform all the resources that your application needs - avoiding problems with the Security Framework. To see all supported features and how to use &#039;&#039;pyside-assistant&#039;&#039;, including an example, follow this [[Documentation_for_pyside-assistant|link]].&lt;/div&gt;</summary>
		<author><name>181.179.18.175</name></author>
	</entry>
	<entry>
		<id>https://maemo.octonezd.me/index.php?title=Flashing_N9&amp;diff=10428</id>
		<title>Flashing N9</title>
		<link rel="alternate" type="text/html" href="https://maemo.octonezd.me/index.php?title=Flashing_N9&amp;diff=10428"/>
		<updated>2018-03-04T13:28:47Z</updated>

		<summary type="html">&lt;p&gt;181.179.18.175: /* Download Firmware image */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ambox&lt;br /&gt;
|type=notice&lt;br /&gt;
|text=This &#039;&#039;&#039;unofficial&#039;&#039;&#039; guide recommends downloads from &#039;&#039;&#039;untrusted&#039;&#039;&#039; third party servers. Nobody knows who hosts the content and whether the software has not been altered (e.g. spyware). &#039;&#039;&#039;Use at your very own risk.&#039;&#039;&#039;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Warnings ==&lt;br /&gt;
* Improperly using flasher could damage your phone and void your warranty. However, following these directions precisely to use flasher to install &amp;quot;stock&amp;quot; Nokia firmware images is quite safe, and can fix problems that would otherwise require warranty service. In any case, &#039;&#039;&#039;flashing your phone is at your own risk&#039;&#039;&#039;. Do not use this guide if you aren&#039;t somewhat familiar with the command prompt/terminal on your operating system. While many users have experienced success with this process, it is not officially recommended by Nokia in any way. &#039;&#039;&#039;Read the entire guide &#039;&#039;before&#039;&#039; you start.&#039;&#039;&#039;&lt;br /&gt;
* Due to artificial limitations placed by Nokia, it is not possible to downgrade the installed firmware on the device using Flasher.&lt;br /&gt;
* Do not modify your device&#039;s product code. It does not affect a device&#039;s ability to receive software updates, and may permanently damage your device.&lt;br /&gt;
&lt;br /&gt;
==Selecting a Firmware Image==&lt;br /&gt;
&lt;br /&gt;
Main firmware images for the Nokia N9 are divided up into &amp;quot;variants&amp;quot; by regions of the world. Except for carrier-branded variants and the 003 (China) firmware, these images are more or less the same.&lt;br /&gt;
&lt;br /&gt;
 001 - Europe (1), Latin/South America, South Africa&lt;br /&gt;
 003 - China&lt;br /&gt;
 005 - Asia/Pacific (incl. Australia/New Zealand, excl. China) &lt;br /&gt;
 006 - Middle East&lt;br /&gt;
 009 - Europe (2)&lt;br /&gt;
 2xx, 3xx, 4xx - &amp;quot;Country Variant&amp;quot; and carrier-branded images&lt;br /&gt;
&lt;br /&gt;
Downgrades of firmware are &#039;&#039;&#039;blocked&#039;&#039;&#039; by the phone.&lt;br /&gt;
Whether something is a &amp;quot;downgrade&amp;quot; is determined by comparing the entire version strings of the old and new firmware versions, which include the variant code, from left to right. As a result, the variant code must be the same or higher unless you also upgrade the firmware version at the same time. For example:&lt;br /&gt;
&lt;br /&gt;
 PR 1.1 variant 009 to PR 1.1 variant 003: &#039;&#039;&#039;Blocked&#039;&#039;&#039;&lt;br /&gt;
 PR 1.1 variant 003 to PR 1.1 variant 009: &#039;&#039;&#039;Allowed&#039;&#039;&#039;&lt;br /&gt;
 PR 1.1 variant 009 to PR 1.2 variant 001: &#039;&#039;&#039;Allowed&#039;&#039;&#039;&lt;br /&gt;
 PR 1.1.1 variant 006 to PR 1.2 variant 005: &#039;&#039;&#039;Allowed&#039;&#039;&#039;&lt;br /&gt;
 PR 1.2 variant 001 to PR 1.1 variant 001: &#039;&#039;&#039;Blocked&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Additionally, there is a content image (&amp;quot;eMMC image&amp;quot;) for most countries/regions that can be used to reset the user data on the phone and restore the wallpaper/music/map files that originally shipped with it. It is possible to &amp;quot;mix and match&amp;quot; any content image with any main firmware image, which is useful for installing your home country&#039;s maps on an imported N9. If you don&#039;t require preinstalled maps, or if Nokia doesn&#039;t produce a content image for your country (e.g. US and Canada), you can save time by using the content image for product code &#039;&#039;&#039;059J1Z5&#039;&#039;&#039; (&amp;quot;rest of world&amp;quot;), which doesn&#039;t include map files.&lt;br /&gt;
&lt;br /&gt;
When downloading firmware images, it doesn&#039;t matter which color or capacity (16/64 GB) you select - the files are the same for all models.&lt;br /&gt;
&lt;br /&gt;
Nokia recommends always using the latest firmware image for your phone&#039;s product code (printed on the SIM card tray). This is the safest option. However, you may wish to change to a different variant than what shipped with the phone for the following reasons:&lt;br /&gt;
&lt;br /&gt;
* Receiving updates sooner - new firmware versions are normally released for the 001 variant first&lt;br /&gt;
* Removing carrier branding - installing 00x variant firmware makes your subsidized N9 act just like an unlocked one&lt;br /&gt;
* Switching away from 003 (China) firmware - firmware images for N9s shipped in China lack Western online service integration (Twitter, Facebook, Skype, Dropbox) and include the Chinese IM service QQ instead&lt;br /&gt;
&lt;br /&gt;
==Download Firmware image==&lt;br /&gt;
&lt;br /&gt;
Use the following steps to retrieve the appropriate firmware files for your phone:&lt;br /&gt;
&lt;br /&gt;
Note: The official firmware source is not currently working, skeiron.org is also gone, www.mrcrab.net answers with 404.  [http://www.swagman.org/juice/ubiboot/ swagman.org] contains files which look interesting,  [https://archive.org/download/RM696/ this archive] contains a couple of firmware files, too.  But what is what?  who can fill in the blanks?&lt;br /&gt;
&lt;br /&gt;
===Windows===&lt;br /&gt;
Download and run [http://www.symbian-toys.com/navifirm.aspx NaviFirm+], a utility for downloading firmware files from Nokia&#039;s servers.&lt;br /&gt;
Make sure Server is set to Nokia Care Suite.&lt;br /&gt;
Find Nokia N9 (RM-696) in the Products list, then select the firmware release you wish to install.&lt;br /&gt;
&lt;br /&gt;
 10.2011.34.1 = PR1.0 &lt;br /&gt;
 20.2011.40.4 = PR1.1&lt;br /&gt;
 22.2011.44.2 = PR1.1.1 (Middle East only)&lt;br /&gt;
 30.2012.7.1 = PR1.2&lt;br /&gt;
 40.2012.21.3 = PR1.3&lt;br /&gt;
&lt;br /&gt;
Select the appropriate product code in the Variants list. In most cases, you should use the product code printed on the SIM tray.&lt;br /&gt;
Click Unmark All, then scroll to the bottom of the Files section. Tick the boxes for the two files starting with DFL61_HARMATTAN.&lt;br /&gt;
Click Download. Wait for the download to complete, then close NaviFirm+.&lt;br /&gt;
&lt;br /&gt;
===Linux===&lt;br /&gt;
Install WINE using your Linux distribution&#039;s package manager.&lt;br /&gt;
Download and run [http://code.google.com/p/navifirmex/ NaviFirmEx], a replacement for Navifirm+ that doesn&#039;t use .NET.&lt;br /&gt;
Select Option &amp;gt; Server &amp;gt; Nokia Care Suit [sic] in the menu.&lt;br /&gt;
Find Nokia N9 (RM-696) in the Products list, then select the firmware release and variant you wish to install (see above).&lt;br /&gt;
Click Add to Download Task, then Inverse Select. Tick the boxes for the two files starting with DFL61_HARMATTAN.&lt;br /&gt;
Click Download. Wait for the download to complete, then close NaviFirmEx.&lt;br /&gt;
&lt;br /&gt;
===Any OS===&lt;br /&gt;
Go to [http://www.btusers.com.ar/nan/nokia/ Nokia Firmwares] (unofficial firmware download site) and search for Nokia N9. Click CHECK! toward the right-hand side.&lt;br /&gt;
Click the link for the firmware release you wish to install (see above).&lt;br /&gt;
Click the link for the file starting with DFL61_HARMATTAN.&lt;br /&gt;
Unlike NaviFirm+, this website cannot retrieve content/eMMC images.&lt;br /&gt;
&lt;br /&gt;
==Back up your data==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;All&#039;&#039;&#039; of the procedures described below will destroy some or all of the data on your phone, so you should be sure to back up anything you care about first. This includes contacts, messages, game saves, music, .deb packages, etc. You can do this either through the built-in backup feature, or manually using tools in developer mode.&lt;br /&gt;
&lt;br /&gt;
==Prepare to Flash==&lt;br /&gt;
&lt;br /&gt;
If your phone has a low battery charge (less than 50%), plug it in and let it charge for a while. Then, make sure your phone is disconnected from any USB cables (including USB chargers). Power off the phone.&lt;br /&gt;
&lt;br /&gt;
You need the flasher program: with Nokia gone, skeiron also off-line, hopefully [http://www.swagman.org/juice/flasher_3.12.1_i386.deb this deb link] still works. &#039;&#039;&#039;Do not&#039;&#039;&#039; use Flasher 3.5 - it isn&#039;t compatible with the N9/N950.&lt;br /&gt;
You can skip this step if you&#039;ve already installed Flasher.&lt;br /&gt;
&lt;br /&gt;
On Windows, open a Command Prompt with Administrator permissions (with UAC, right-click Command Prompt and select Run as administrator). On Linux, open a root shell (sudo -i/su). Change to the directory containing the firmware images you downloaded.&lt;br /&gt;
&lt;br /&gt;
On Windows, run the following command in order to add Flasher to the system path:&lt;br /&gt;
&lt;br /&gt;
 set PATH=&amp;quot;C:\Program Files\Nokia\Flasher;%PATH%&amp;quot; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: In the following the main firmware image is called &amp;quot;main.bin&amp;quot; and the eMMC image is called &amp;quot;emmc.bin&amp;quot;. You must replace main.bin and emmc.bin in the commands with the actual names of the image files you are flashing or rename the downloaded files like this (e.g. under linux)&lt;br /&gt;
&lt;br /&gt;
  mv DFL61_HARMATTAN_40.2012.21-3_PR_LEGACY_001-OEM1-958_ARM.bin main.bin&lt;br /&gt;
  mv DFL61_HARMATTAN_40.2012.13-7.ALPS_EMMC_ALPS.bin emmc.bin&lt;br /&gt;
&lt;br /&gt;
==Flash the phone==&lt;br /&gt;
&lt;br /&gt;
Run the following command, then connect the phone to your PC.&lt;br /&gt;
&lt;br /&gt;
 flasher -i&lt;br /&gt;
&lt;br /&gt;
The current firmware version of your phone should appear. It is now time to flash.&lt;br /&gt;
&lt;br /&gt;
Use the following list to determine which of the steps below you need to use to accomplish a particular task:&lt;br /&gt;
&lt;br /&gt;
* Upgrade operating system: Replace operating system&lt;br /&gt;
* Recover from damaged OS install: Replace operating system&lt;br /&gt;
* &amp;quot;Unbrick&amp;quot; phone: Replace operating system or Comprehensive reset&lt;br /&gt;
* Reset back to a &amp;quot;clean slate&amp;quot;: Comprehensive reset&lt;br /&gt;
* De-brand phone: Comprehensive reset&lt;br /&gt;
* Prepare for enabling open mode: Comprehensive reset&lt;br /&gt;
* Disable open mode: Comprehensive reset&lt;br /&gt;
* Prepare for selling, recycling, or destroying phone: Zeroize device&lt;br /&gt;
* Clear data before returning phone for warranty service (if possible): Zeroize device&lt;br /&gt;
* Reset device lock code: Zeroize device&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Replace operating system (preserves user data)===&lt;br /&gt;
&lt;br /&gt;
The following command will replace your phone&#039;s operating system with the supplied firmware image. All applications will be removed, but music/documents/maps/etc. will be kept. This is equivalent to updating/restoring your phone using the Nokia Software Updater (NSU) utility.&lt;br /&gt;
&lt;br /&gt;
 flasher -f -F main.bin&lt;br /&gt;
&lt;br /&gt;
===Comprehensive reset (destroys user data)===&lt;br /&gt;
&lt;br /&gt;
The following commands will remove all data from your phone and restore it to factory state. The provided content files (sample music, wallpaper, etc.) will be restored.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 flasher -f -F main.bin&lt;br /&gt;
 flasher -f -F main.bin -F emmc.bin --flash-only=mmc&lt;br /&gt;
&lt;br /&gt;
===Zeroize device (destroys user data)===&lt;br /&gt;
&lt;br /&gt;
The following commands will securely erase your phone such that no data can be recovered later, then restore the operating system and provided content.&lt;br /&gt;
&lt;br /&gt;
{{ambox&lt;br /&gt;
|type=delete&lt;br /&gt;
|text=The secure erase feature has not been audited by a 3rd party. Do not rely on it to protect all traces of highly sensitive information from a well-funded attacker. The first part will take a very long time - let it run overnight.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
 flasher -f -F main.bin --erase-user-data=secure&lt;br /&gt;
 flasher -f -F main.bin -F emmc.bin --flash-only=mmc&lt;br /&gt;
&lt;br /&gt;
==Recovering from flash errors==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: If you did not receive any errors, you can skip this section.&lt;br /&gt;
&lt;br /&gt;
In some cases, the new firmware image includes cellular modem (CMT) firmware that is older than what is already installed. This has typically happened when flashing N9s running 003 (China) firmware with other firmware variants. If you received an error about flashing the CMT, obtain the image for the firmware that was previously installed, then run:&lt;br /&gt;
&lt;br /&gt;
 flasher -f -F old_main.bin --flash-only=cmt&lt;br /&gt;
&lt;br /&gt;
If you previously upgraded your phone &amp;quot;over the air&amp;quot; (through SSU) and now receive a Downgrade disallowed error when flashing, try flashing an image with a higher variant code. For example, if you experienced the error with variant 001, try using variant 005 instead.&lt;br /&gt;
&lt;br /&gt;
==Reboot into the new operating system==&lt;br /&gt;
&lt;br /&gt;
The phone is now ready to leave flashing mode:&lt;br /&gt;
&lt;br /&gt;
 flasher -R&lt;br /&gt;
&lt;br /&gt;
Use the power/lock button to boot your phone into the new system. Your N9 is now ready to use!&lt;br /&gt;
&lt;br /&gt;
== Tutorial ==&lt;br /&gt;
* YouTube Video Tutorial: http://youtu.be/u5Qp92WttU4&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
[http://talk.maemo.org/showthread.php?t=82693 HOWTO Comprehensive Firmware Flashing Guide for N9 by itsnotabigtruck]&lt;br /&gt;
&lt;br /&gt;
[[Category:N9]]&lt;/div&gt;</summary>
		<author><name>181.179.18.175</name></author>
	</entry>
	<entry>
		<id>https://maemo.octonezd.me/index.php?title=Flashing_N9&amp;diff=10429</id>
		<title>Flashing N9</title>
		<link rel="alternate" type="text/html" href="https://maemo.octonezd.me/index.php?title=Flashing_N9&amp;diff=10429"/>
		<updated>2018-03-03T15:35:27Z</updated>

		<summary type="html">&lt;p&gt;181.179.18.175: /* Prepare to Flash */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ambox&lt;br /&gt;
|type=notice&lt;br /&gt;
|text=This &#039;&#039;&#039;unofficial&#039;&#039;&#039; guide recommends downloads from &#039;&#039;&#039;untrusted&#039;&#039;&#039; third party servers. Nobody knows who hosts the content and whether the software has not been altered (e.g. spyware). &#039;&#039;&#039;Use at your very own risk.&#039;&#039;&#039;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Warnings ==&lt;br /&gt;
* Improperly using flasher could damage your phone and void your warranty. However, following these directions precisely to use flasher to install &amp;quot;stock&amp;quot; Nokia firmware images is quite safe, and can fix problems that would otherwise require warranty service. In any case, &#039;&#039;&#039;flashing your phone is at your own risk&#039;&#039;&#039;. Do not use this guide if you aren&#039;t somewhat familiar with the command prompt/terminal on your operating system. While many users have experienced success with this process, it is not officially recommended by Nokia in any way. &#039;&#039;&#039;Read the entire guide &#039;&#039;before&#039;&#039; you start.&#039;&#039;&#039;&lt;br /&gt;
* Due to artificial limitations placed by Nokia, it is not possible to downgrade the installed firmware on the device using Flasher.&lt;br /&gt;
* Do not modify your device&#039;s product code. It does not affect a device&#039;s ability to receive software updates, and may permanently damage your device.&lt;br /&gt;
&lt;br /&gt;
==Selecting a Firmware Image==&lt;br /&gt;
&lt;br /&gt;
Main firmware images for the Nokia N9 are divided up into &amp;quot;variants&amp;quot; by regions of the world. Except for carrier-branded variants and the 003 (China) firmware, these images are more or less the same.&lt;br /&gt;
&lt;br /&gt;
 001 - Europe (1), Latin/South America, South Africa&lt;br /&gt;
 003 - China&lt;br /&gt;
 005 - Asia/Pacific (incl. Australia/New Zealand, excl. China) &lt;br /&gt;
 006 - Middle East&lt;br /&gt;
 009 - Europe (2)&lt;br /&gt;
 2xx, 3xx, 4xx - &amp;quot;Country Variant&amp;quot; and carrier-branded images&lt;br /&gt;
&lt;br /&gt;
Downgrades of firmware are &#039;&#039;&#039;blocked&#039;&#039;&#039; by the phone.&lt;br /&gt;
Whether something is a &amp;quot;downgrade&amp;quot; is determined by comparing the entire version strings of the old and new firmware versions, which include the variant code, from left to right. As a result, the variant code must be the same or higher unless you also upgrade the firmware version at the same time. For example:&lt;br /&gt;
&lt;br /&gt;
 PR 1.1 variant 009 to PR 1.1 variant 003: &#039;&#039;&#039;Blocked&#039;&#039;&#039;&lt;br /&gt;
 PR 1.1 variant 003 to PR 1.1 variant 009: &#039;&#039;&#039;Allowed&#039;&#039;&#039;&lt;br /&gt;
 PR 1.1 variant 009 to PR 1.2 variant 001: &#039;&#039;&#039;Allowed&#039;&#039;&#039;&lt;br /&gt;
 PR 1.1.1 variant 006 to PR 1.2 variant 005: &#039;&#039;&#039;Allowed&#039;&#039;&#039;&lt;br /&gt;
 PR 1.2 variant 001 to PR 1.1 variant 001: &#039;&#039;&#039;Blocked&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Additionally, there is a content image (&amp;quot;eMMC image&amp;quot;) for most countries/regions that can be used to reset the user data on the phone and restore the wallpaper/music/map files that originally shipped with it. It is possible to &amp;quot;mix and match&amp;quot; any content image with any main firmware image, which is useful for installing your home country&#039;s maps on an imported N9. If you don&#039;t require preinstalled maps, or if Nokia doesn&#039;t produce a content image for your country (e.g. US and Canada), you can save time by using the content image for product code &#039;&#039;&#039;059J1Z5&#039;&#039;&#039; (&amp;quot;rest of world&amp;quot;), which doesn&#039;t include map files.&lt;br /&gt;
&lt;br /&gt;
When downloading firmware images, it doesn&#039;t matter which color or capacity (16/64 GB) you select - the files are the same for all models.&lt;br /&gt;
&lt;br /&gt;
Nokia recommends always using the latest firmware image for your phone&#039;s product code (printed on the SIM card tray). This is the safest option. However, you may wish to change to a different variant than what shipped with the phone for the following reasons:&lt;br /&gt;
&lt;br /&gt;
* Receiving updates sooner - new firmware versions are normally released for the 001 variant first&lt;br /&gt;
* Removing carrier branding - installing 00x variant firmware makes your subsidized N9 act just like an unlocked one&lt;br /&gt;
* Switching away from 003 (China) firmware - firmware images for N9s shipped in China lack Western online service integration (Twitter, Facebook, Skype, Dropbox) and include the Chinese IM service QQ instead&lt;br /&gt;
&lt;br /&gt;
==Download Firmware image==&lt;br /&gt;
&lt;br /&gt;
Use the following steps to retrieve the appropriate firmware files for your phone:&lt;br /&gt;
&lt;br /&gt;
Note: The official firmware source is not currently working, skeiron.org is also gone, www.mrcrab.net answers with 404.  [http://www.swagman.org/juice/ubiboot/ swagman.org] contains files which look interesting, but what is what?  who can fill in the blanks?&lt;br /&gt;
&lt;br /&gt;
===Windows===&lt;br /&gt;
Download and run [http://www.symbian-toys.com/navifirm.aspx NaviFirm+], a utility for downloading firmware files from Nokia&#039;s servers.&lt;br /&gt;
Make sure Server is set to Nokia Care Suite.&lt;br /&gt;
Find Nokia N9 (RM-696) in the Products list, then select the firmware release you wish to install.&lt;br /&gt;
&lt;br /&gt;
 10.2011.34.1 = PR1.0 &lt;br /&gt;
 20.2011.40.4 = PR1.1&lt;br /&gt;
 22.2011.44.2 = PR1.1.1 (Middle East only)&lt;br /&gt;
 30.2012.7.1 = PR1.2&lt;br /&gt;
 40.2012.21.3 = PR1.3&lt;br /&gt;
&lt;br /&gt;
Select the appropriate product code in the Variants list. In most cases, you should use the product code printed on the SIM tray.&lt;br /&gt;
Click Unmark All, then scroll to the bottom of the Files section. Tick the boxes for the two files starting with DFL61_HARMATTAN.&lt;br /&gt;
Click Download. Wait for the download to complete, then close NaviFirm+.&lt;br /&gt;
&lt;br /&gt;
===Linux===&lt;br /&gt;
Install WINE using your Linux distribution&#039;s package manager.&lt;br /&gt;
Download and run [http://code.google.com/p/navifirmex/ NaviFirmEx], a replacement for Navifirm+ that doesn&#039;t use .NET.&lt;br /&gt;
Select Option &amp;gt; Server &amp;gt; Nokia Care Suit [sic] in the menu.&lt;br /&gt;
Find Nokia N9 (RM-696) in the Products list, then select the firmware release and variant you wish to install (see above).&lt;br /&gt;
Click Add to Download Task, then Inverse Select. Tick the boxes for the two files starting with DFL61_HARMATTAN.&lt;br /&gt;
Click Download. Wait for the download to complete, then close NaviFirmEx.&lt;br /&gt;
&lt;br /&gt;
===Any OS===&lt;br /&gt;
Go to [http://www.btusers.com.ar/nan/nokia/ Nokia Firmwares] (unofficial firmware download site) and search for Nokia N9. Click CHECK! toward the right-hand side.&lt;br /&gt;
Click the link for the firmware release you wish to install (see above).&lt;br /&gt;
Click the link for the file starting with DFL61_HARMATTAN.&lt;br /&gt;
Unlike NaviFirm+, this website cannot retrieve content/eMMC images.&lt;br /&gt;
&lt;br /&gt;
==Back up your data==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;All&#039;&#039;&#039; of the procedures described below will destroy some or all of the data on your phone, so you should be sure to back up anything you care about first. This includes contacts, messages, game saves, music, .deb packages, etc. You can do this either through the built-in backup feature, or manually using tools in developer mode.&lt;br /&gt;
&lt;br /&gt;
==Prepare to Flash==&lt;br /&gt;
&lt;br /&gt;
If your phone has a low battery charge (less than 50%), plug it in and let it charge for a while. Then, make sure your phone is disconnected from any USB cables (including USB chargers). Power off the phone.&lt;br /&gt;
&lt;br /&gt;
You need the flasher program: with Nokia gone, skeiron also off-line, hopefully [http://www.swagman.org/juice/flasher_3.12.1_i386.deb this deb link] still works. &#039;&#039;&#039;Do not&#039;&#039;&#039; use Flasher 3.5 - it isn&#039;t compatible with the N9/N950.&lt;br /&gt;
You can skip this step if you&#039;ve already installed Flasher.&lt;br /&gt;
&lt;br /&gt;
On Windows, open a Command Prompt with Administrator permissions (with UAC, right-click Command Prompt and select Run as administrator). On Linux, open a root shell (sudo -i/su). Change to the directory containing the firmware images you downloaded.&lt;br /&gt;
&lt;br /&gt;
On Windows, run the following command in order to add Flasher to the system path:&lt;br /&gt;
&lt;br /&gt;
 set PATH=&amp;quot;C:\Program Files\Nokia\Flasher;%PATH%&amp;quot; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: In the following the main firmware image is called &amp;quot;main.bin&amp;quot; and the eMMC image is called &amp;quot;emmc.bin&amp;quot;. You must replace main.bin and emmc.bin in the commands with the actual names of the image files you are flashing or rename the downloaded files like this (e.g. under linux)&lt;br /&gt;
&lt;br /&gt;
  mv DFL61_HARMATTAN_40.2012.21-3_PR_LEGACY_001-OEM1-958_ARM.bin main.bin&lt;br /&gt;
  mv DFL61_HARMATTAN_40.2012.13-7.ALPS_EMMC_ALPS.bin emmc.bin&lt;br /&gt;
&lt;br /&gt;
==Flash the phone==&lt;br /&gt;
&lt;br /&gt;
Run the following command, then connect the phone to your PC.&lt;br /&gt;
&lt;br /&gt;
 flasher -i&lt;br /&gt;
&lt;br /&gt;
The current firmware version of your phone should appear. It is now time to flash.&lt;br /&gt;
&lt;br /&gt;
Use the following list to determine which of the steps below you need to use to accomplish a particular task:&lt;br /&gt;
&lt;br /&gt;
* Upgrade operating system: Replace operating system&lt;br /&gt;
* Recover from damaged OS install: Replace operating system&lt;br /&gt;
* &amp;quot;Unbrick&amp;quot; phone: Replace operating system or Comprehensive reset&lt;br /&gt;
* Reset back to a &amp;quot;clean slate&amp;quot;: Comprehensive reset&lt;br /&gt;
* De-brand phone: Comprehensive reset&lt;br /&gt;
* Prepare for enabling open mode: Comprehensive reset&lt;br /&gt;
* Disable open mode: Comprehensive reset&lt;br /&gt;
* Prepare for selling, recycling, or destroying phone: Zeroize device&lt;br /&gt;
* Clear data before returning phone for warranty service (if possible): Zeroize device&lt;br /&gt;
* Reset device lock code: Zeroize device&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Replace operating system (preserves user data)===&lt;br /&gt;
&lt;br /&gt;
The following command will replace your phone&#039;s operating system with the supplied firmware image. All applications will be removed, but music/documents/maps/etc. will be kept. This is equivalent to updating/restoring your phone using the Nokia Software Updater (NSU) utility.&lt;br /&gt;
&lt;br /&gt;
 flasher -f -F main.bin&lt;br /&gt;
&lt;br /&gt;
===Comprehensive reset (destroys user data)===&lt;br /&gt;
&lt;br /&gt;
The following commands will remove all data from your phone and restore it to factory state. The provided content files (sample music, wallpaper, etc.) will be restored.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 flasher -f -F main.bin&lt;br /&gt;
 flasher -f -F main.bin -F emmc.bin --flash-only=mmc&lt;br /&gt;
&lt;br /&gt;
===Zeroize device (destroys user data)===&lt;br /&gt;
&lt;br /&gt;
The following commands will securely erase your phone such that no data can be recovered later, then restore the operating system and provided content.&lt;br /&gt;
&lt;br /&gt;
{{ambox&lt;br /&gt;
|type=delete&lt;br /&gt;
|text=The secure erase feature has not been audited by a 3rd party. Do not rely on it to protect all traces of highly sensitive information from a well-funded attacker. The first part will take a very long time - let it run overnight.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
 flasher -f -F main.bin --erase-user-data=secure&lt;br /&gt;
 flasher -f -F main.bin -F emmc.bin --flash-only=mmc&lt;br /&gt;
&lt;br /&gt;
==Recovering from flash errors==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: If you did not receive any errors, you can skip this section.&lt;br /&gt;
&lt;br /&gt;
In some cases, the new firmware image includes cellular modem (CMT) firmware that is older than what is already installed. This has typically happened when flashing N9s running 003 (China) firmware with other firmware variants. If you received an error about flashing the CMT, obtain the image for the firmware that was previously installed, then run:&lt;br /&gt;
&lt;br /&gt;
 flasher -f -F old_main.bin --flash-only=cmt&lt;br /&gt;
&lt;br /&gt;
If you previously upgraded your phone &amp;quot;over the air&amp;quot; (through SSU) and now receive a Downgrade disallowed error when flashing, try flashing an image with a higher variant code. For example, if you experienced the error with variant 001, try using variant 005 instead.&lt;br /&gt;
&lt;br /&gt;
==Reboot into the new operating system==&lt;br /&gt;
&lt;br /&gt;
The phone is now ready to leave flashing mode:&lt;br /&gt;
&lt;br /&gt;
 flasher -R&lt;br /&gt;
&lt;br /&gt;
Use the power/lock button to boot your phone into the new system. Your N9 is now ready to use!&lt;br /&gt;
&lt;br /&gt;
== Tutorial ==&lt;br /&gt;
* YouTube Video Tutorial: http://youtu.be/u5Qp92WttU4&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
[http://talk.maemo.org/showthread.php?t=82693 HOWTO Comprehensive Firmware Flashing Guide for N9 by itsnotabigtruck]&lt;br /&gt;
&lt;br /&gt;
[[Category:N9]]&lt;/div&gt;</summary>
		<author><name>181.179.18.175</name></author>
	</entry>
	<entry>
		<id>https://maemo.octonezd.me/index.php?title=Flashing_N9&amp;diff=10430</id>
		<title>Flashing N9</title>
		<link rel="alternate" type="text/html" href="https://maemo.octonezd.me/index.php?title=Flashing_N9&amp;diff=10430"/>
		<updated>2018-03-03T15:31:14Z</updated>

		<summary type="html">&lt;p&gt;181.179.18.175: Download Firmware image has no clear candidate&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ambox&lt;br /&gt;
|type=notice&lt;br /&gt;
|text=This &#039;&#039;&#039;unofficial&#039;&#039;&#039; guide recommends downloads from &#039;&#039;&#039;untrusted&#039;&#039;&#039; third party servers. Nobody knows who hosts the content and whether the software has not been altered (e.g. spyware). &#039;&#039;&#039;Use at your very own risk.&#039;&#039;&#039;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Warnings ==&lt;br /&gt;
* Improperly using flasher could damage your phone and void your warranty. However, following these directions precisely to use flasher to install &amp;quot;stock&amp;quot; Nokia firmware images is quite safe, and can fix problems that would otherwise require warranty service. In any case, &#039;&#039;&#039;flashing your phone is at your own risk&#039;&#039;&#039;. Do not use this guide if you aren&#039;t somewhat familiar with the command prompt/terminal on your operating system. While many users have experienced success with this process, it is not officially recommended by Nokia in any way. &#039;&#039;&#039;Read the entire guide &#039;&#039;before&#039;&#039; you start.&#039;&#039;&#039;&lt;br /&gt;
* Due to artificial limitations placed by Nokia, it is not possible to downgrade the installed firmware on the device using Flasher.&lt;br /&gt;
* Do not modify your device&#039;s product code. It does not affect a device&#039;s ability to receive software updates, and may permanently damage your device.&lt;br /&gt;
&lt;br /&gt;
==Selecting a Firmware Image==&lt;br /&gt;
&lt;br /&gt;
Main firmware images for the Nokia N9 are divided up into &amp;quot;variants&amp;quot; by regions of the world. Except for carrier-branded variants and the 003 (China) firmware, these images are more or less the same.&lt;br /&gt;
&lt;br /&gt;
 001 - Europe (1), Latin/South America, South Africa&lt;br /&gt;
 003 - China&lt;br /&gt;
 005 - Asia/Pacific (incl. Australia/New Zealand, excl. China) &lt;br /&gt;
 006 - Middle East&lt;br /&gt;
 009 - Europe (2)&lt;br /&gt;
 2xx, 3xx, 4xx - &amp;quot;Country Variant&amp;quot; and carrier-branded images&lt;br /&gt;
&lt;br /&gt;
Downgrades of firmware are &#039;&#039;&#039;blocked&#039;&#039;&#039; by the phone.&lt;br /&gt;
Whether something is a &amp;quot;downgrade&amp;quot; is determined by comparing the entire version strings of the old and new firmware versions, which include the variant code, from left to right. As a result, the variant code must be the same or higher unless you also upgrade the firmware version at the same time. For example:&lt;br /&gt;
&lt;br /&gt;
 PR 1.1 variant 009 to PR 1.1 variant 003: &#039;&#039;&#039;Blocked&#039;&#039;&#039;&lt;br /&gt;
 PR 1.1 variant 003 to PR 1.1 variant 009: &#039;&#039;&#039;Allowed&#039;&#039;&#039;&lt;br /&gt;
 PR 1.1 variant 009 to PR 1.2 variant 001: &#039;&#039;&#039;Allowed&#039;&#039;&#039;&lt;br /&gt;
 PR 1.1.1 variant 006 to PR 1.2 variant 005: &#039;&#039;&#039;Allowed&#039;&#039;&#039;&lt;br /&gt;
 PR 1.2 variant 001 to PR 1.1 variant 001: &#039;&#039;&#039;Blocked&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Additionally, there is a content image (&amp;quot;eMMC image&amp;quot;) for most countries/regions that can be used to reset the user data on the phone and restore the wallpaper/music/map files that originally shipped with it. It is possible to &amp;quot;mix and match&amp;quot; any content image with any main firmware image, which is useful for installing your home country&#039;s maps on an imported N9. If you don&#039;t require preinstalled maps, or if Nokia doesn&#039;t produce a content image for your country (e.g. US and Canada), you can save time by using the content image for product code &#039;&#039;&#039;059J1Z5&#039;&#039;&#039; (&amp;quot;rest of world&amp;quot;), which doesn&#039;t include map files.&lt;br /&gt;
&lt;br /&gt;
When downloading firmware images, it doesn&#039;t matter which color or capacity (16/64 GB) you select - the files are the same for all models.&lt;br /&gt;
&lt;br /&gt;
Nokia recommends always using the latest firmware image for your phone&#039;s product code (printed on the SIM card tray). This is the safest option. However, you may wish to change to a different variant than what shipped with the phone for the following reasons:&lt;br /&gt;
&lt;br /&gt;
* Receiving updates sooner - new firmware versions are normally released for the 001 variant first&lt;br /&gt;
* Removing carrier branding - installing 00x variant firmware makes your subsidized N9 act just like an unlocked one&lt;br /&gt;
* Switching away from 003 (China) firmware - firmware images for N9s shipped in China lack Western online service integration (Twitter, Facebook, Skype, Dropbox) and include the Chinese IM service QQ instead&lt;br /&gt;
&lt;br /&gt;
==Download Firmware image==&lt;br /&gt;
&lt;br /&gt;
Use the following steps to retrieve the appropriate firmware files for your phone:&lt;br /&gt;
&lt;br /&gt;
Note: The official firmware source is not currently working, skeiron.org is also gone, www.mrcrab.net answers with 404.  [http://www.swagman.org/juice/ubiboot/ swagman.org] contains files which look interesting, but what is what?  who can fill in the blanks?&lt;br /&gt;
&lt;br /&gt;
===Windows===&lt;br /&gt;
Download and run [http://www.symbian-toys.com/navifirm.aspx NaviFirm+], a utility for downloading firmware files from Nokia&#039;s servers.&lt;br /&gt;
Make sure Server is set to Nokia Care Suite.&lt;br /&gt;
Find Nokia N9 (RM-696) in the Products list, then select the firmware release you wish to install.&lt;br /&gt;
&lt;br /&gt;
 10.2011.34.1 = PR1.0 &lt;br /&gt;
 20.2011.40.4 = PR1.1&lt;br /&gt;
 22.2011.44.2 = PR1.1.1 (Middle East only)&lt;br /&gt;
 30.2012.7.1 = PR1.2&lt;br /&gt;
 40.2012.21.3 = PR1.3&lt;br /&gt;
&lt;br /&gt;
Select the appropriate product code in the Variants list. In most cases, you should use the product code printed on the SIM tray.&lt;br /&gt;
Click Unmark All, then scroll to the bottom of the Files section. Tick the boxes for the two files starting with DFL61_HARMATTAN.&lt;br /&gt;
Click Download. Wait for the download to complete, then close NaviFirm+.&lt;br /&gt;
&lt;br /&gt;
===Linux===&lt;br /&gt;
Install WINE using your Linux distribution&#039;s package manager.&lt;br /&gt;
Download and run [http://code.google.com/p/navifirmex/ NaviFirmEx], a replacement for Navifirm+ that doesn&#039;t use .NET.&lt;br /&gt;
Select Option &amp;gt; Server &amp;gt; Nokia Care Suit [sic] in the menu.&lt;br /&gt;
Find Nokia N9 (RM-696) in the Products list, then select the firmware release and variant you wish to install (see above).&lt;br /&gt;
Click Add to Download Task, then Inverse Select. Tick the boxes for the two files starting with DFL61_HARMATTAN.&lt;br /&gt;
Click Download. Wait for the download to complete, then close NaviFirmEx.&lt;br /&gt;
&lt;br /&gt;
===Any OS===&lt;br /&gt;
Go to [http://www.btusers.com.ar/nan/nokia/ Nokia Firmwares] (unofficial firmware download site) and search for Nokia N9. Click CHECK! toward the right-hand side.&lt;br /&gt;
Click the link for the firmware release you wish to install (see above).&lt;br /&gt;
Click the link for the file starting with DFL61_HARMATTAN.&lt;br /&gt;
Unlike NaviFirm+, this website cannot retrieve content/eMMC images.&lt;br /&gt;
&lt;br /&gt;
==Back up your data==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;All&#039;&#039;&#039; of the procedures described below will destroy some or all of the data on your phone, so you should be sure to back up anything you care about first. This includes contacts, messages, game saves, music, .deb packages, etc. You can do this either through the built-in backup feature, or manually using tools in developer mode.&lt;br /&gt;
&lt;br /&gt;
==Prepare to Flash==&lt;br /&gt;
&lt;br /&gt;
If your phone has a low battery charge (less than 50%), plug it in and let it charge for a while. Then, make sure your phone is disconnected from any USB cables (including USB chargers). Power off the phone.&lt;br /&gt;
&lt;br /&gt;
Go to the [http://tablets-dev.nokia.com/maemo-dev-env-downloads.php Flasher download site][http://skeiron.org/tablets-dev/maemo-dev-env-downloads/ (mirror)] and download/install the version for your operating system (WinFlasher_3.12.1.exe, MacFlasher_3.12.1.dmg, flasher_3.12.1_i386.deb, or flasher_3.12.1_amd64.deb). Here is [http://www.swagman.org/juice/flasher_3.12.1_i386.deb an other possible link]. &#039;&#039;&#039;Do not&#039;&#039;&#039; use Flasher 3.5 - it isn&#039;t compatible with the N9/N950.&lt;br /&gt;
You can skip this step if you&#039;ve already installed Flasher.&lt;br /&gt;
&lt;br /&gt;
On Windows, open a Command Prompt with Administrator permissions (with UAC, right-click Command Prompt and select Run as administrator). On Linux, open a root shell (sudo -i/su). Change to the directory containing the firmware images you downloaded.&lt;br /&gt;
&lt;br /&gt;
On Windows, run the following command in order to add Flasher to the system path:&lt;br /&gt;
&lt;br /&gt;
 set PATH=&amp;quot;C:\Program Files\Nokia\Flasher;%PATH%&amp;quot; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: In the following the main firmware image is called &amp;quot;main.bin&amp;quot; and the eMMC image is called &amp;quot;emmc.bin&amp;quot;. You must replace main.bin and emmc.bin in the commands with the actual names of the image files you are flashing or rename the downloaded files like this (e.g. under linux)&lt;br /&gt;
&lt;br /&gt;
  mv DFL61_HARMATTAN_40.2012.21-3_PR_LEGACY_001-OEM1-958_ARM.bin main.bin&lt;br /&gt;
  mv DFL61_HARMATTAN_40.2012.13-7.ALPS_EMMC_ALPS.bin emmc.bin&lt;br /&gt;
&lt;br /&gt;
==Flash the phone==&lt;br /&gt;
&lt;br /&gt;
Run the following command, then connect the phone to your PC.&lt;br /&gt;
&lt;br /&gt;
 flasher -i&lt;br /&gt;
&lt;br /&gt;
The current firmware version of your phone should appear. It is now time to flash.&lt;br /&gt;
&lt;br /&gt;
Use the following list to determine which of the steps below you need to use to accomplish a particular task:&lt;br /&gt;
&lt;br /&gt;
* Upgrade operating system: Replace operating system&lt;br /&gt;
* Recover from damaged OS install: Replace operating system&lt;br /&gt;
* &amp;quot;Unbrick&amp;quot; phone: Replace operating system or Comprehensive reset&lt;br /&gt;
* Reset back to a &amp;quot;clean slate&amp;quot;: Comprehensive reset&lt;br /&gt;
* De-brand phone: Comprehensive reset&lt;br /&gt;
* Prepare for enabling open mode: Comprehensive reset&lt;br /&gt;
* Disable open mode: Comprehensive reset&lt;br /&gt;
* Prepare for selling, recycling, or destroying phone: Zeroize device&lt;br /&gt;
* Clear data before returning phone for warranty service (if possible): Zeroize device&lt;br /&gt;
* Reset device lock code: Zeroize device&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Replace operating system (preserves user data)===&lt;br /&gt;
&lt;br /&gt;
The following command will replace your phone&#039;s operating system with the supplied firmware image. All applications will be removed, but music/documents/maps/etc. will be kept. This is equivalent to updating/restoring your phone using the Nokia Software Updater (NSU) utility.&lt;br /&gt;
&lt;br /&gt;
 flasher -f -F main.bin&lt;br /&gt;
&lt;br /&gt;
===Comprehensive reset (destroys user data)===&lt;br /&gt;
&lt;br /&gt;
The following commands will remove all data from your phone and restore it to factory state. The provided content files (sample music, wallpaper, etc.) will be restored.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 flasher -f -F main.bin&lt;br /&gt;
 flasher -f -F main.bin -F emmc.bin --flash-only=mmc&lt;br /&gt;
&lt;br /&gt;
===Zeroize device (destroys user data)===&lt;br /&gt;
&lt;br /&gt;
The following commands will securely erase your phone such that no data can be recovered later, then restore the operating system and provided content.&lt;br /&gt;
&lt;br /&gt;
{{ambox&lt;br /&gt;
|type=delete&lt;br /&gt;
|text=The secure erase feature has not been audited by a 3rd party. Do not rely on it to protect all traces of highly sensitive information from a well-funded attacker. The first part will take a very long time - let it run overnight.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
 flasher -f -F main.bin --erase-user-data=secure&lt;br /&gt;
 flasher -f -F main.bin -F emmc.bin --flash-only=mmc&lt;br /&gt;
&lt;br /&gt;
==Recovering from flash errors==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: If you did not receive any errors, you can skip this section.&lt;br /&gt;
&lt;br /&gt;
In some cases, the new firmware image includes cellular modem (CMT) firmware that is older than what is already installed. This has typically happened when flashing N9s running 003 (China) firmware with other firmware variants. If you received an error about flashing the CMT, obtain the image for the firmware that was previously installed, then run:&lt;br /&gt;
&lt;br /&gt;
 flasher -f -F old_main.bin --flash-only=cmt&lt;br /&gt;
&lt;br /&gt;
If you previously upgraded your phone &amp;quot;over the air&amp;quot; (through SSU) and now receive a Downgrade disallowed error when flashing, try flashing an image with a higher variant code. For example, if you experienced the error with variant 001, try using variant 005 instead.&lt;br /&gt;
&lt;br /&gt;
==Reboot into the new operating system==&lt;br /&gt;
&lt;br /&gt;
The phone is now ready to leave flashing mode:&lt;br /&gt;
&lt;br /&gt;
 flasher -R&lt;br /&gt;
&lt;br /&gt;
Use the power/lock button to boot your phone into the new system. Your N9 is now ready to use!&lt;br /&gt;
&lt;br /&gt;
== Tutorial ==&lt;br /&gt;
* YouTube Video Tutorial: http://youtu.be/u5Qp92WttU4&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
[http://talk.maemo.org/showthread.php?t=82693 HOWTO Comprehensive Firmware Flashing Guide for N9 by itsnotabigtruck]&lt;br /&gt;
&lt;br /&gt;
[[Category:N9]]&lt;/div&gt;</summary>
		<author><name>181.179.18.175</name></author>
	</entry>
</feed>