Difference between revisions of "Nokia N900"

From Maemo Leste Wiki
Jump to navigationJump to search
Line 77: Line 77:
| FM Transmitter || Yes || Install <code>v4l-utils</code>, then enable chip and set frequency using: <code>v4l2-ctl -d /dev/radio0 -c mute=0,tune_power_level=120 -f <freq></code>
| FM Transmitter || Yes || Install <code>v4l-utils</code>, then enable chip and set frequency using: <code>v4l2-ctl -d /dev/radio0 -c mute=0,tune_power_level=120 -f <freq></code>
|-
|-
| FM Receiver || Not yet || Depends on Bluetooth
| FM Receiver || No || Depends on Bluetooth
|-
|-
| Accelerometer || Not yet || Available as input device, needs MCE work
| Accelerometer || Not yet || Available as input device, needs MCE work
Line 83: Line 83:
| Proximity sensor || Not yet ||  
| Proximity sensor || Not yet ||  
|-
|-
| Vibration Motor || Not yet ||  
| Vibration Motor || Yes || No integration yet
|-
|-
| TV-out || Not yet || Should work in kernel, didn't get it to work yet
| TV-out || Not yet || Should work in kernel, didn't get it to work yet

Revision as of 12:04, 24 July 2019

This page or section is a stub. Ask how you can help improve leste.maemo.org by visiting #maemo-leste, look at the bugtracker (https://github.com/maemo-leste/bugtracker) or if you are able to contribute to the current page, then you are welcome to do so.

Nokia N900
Nokia N900 - Leste pre-alpha.jpg
Manufacturer Nokia
Specifications
Hardware Features
USB (Host/OTG) Micro USB 2.0 Slave
Software Features

The original Nokia N900.

Notes

  • Screen will be black for a few minutes while starting X - this is a known PowerVR issue. Just wait it out - it might freeze once more for a few minutes, but then will function OKayish
  • If your battery is not calibrated, the battery applet will not give you any data. Charge the battery fully, and then let it discharge (almost) completely.
  • Speakers are enabled by default, but don't overuse them, as you might fry them if you are not careful.

Also see: https://elinux.org/N900

Power usage right now is reported to be about 80mA, which is quite a lot, but on a good battery last for about 15 hours, this is being worked on: https://github.com/maemo-leste/bugtracker/issues/170

Status

Feature Leste supported Notes
Kernel version 5.0 Mainline + PowerVR Patches: https://github.com/maemo-leste/n9xx-linux/tree/pvr-wip-5.0.y
Serial Yes Requires special hardware
Charging Yes
Wireless Yes Involves installing non-free firmware
Ethernet N/A
Bluetooth Not yet Driver problems in mainline
Infrared Yes TX only (hardware limitation).
(Micro USB) Yes Peripheral/slave only, exposes network gadget by default. Host Untested
Keyboard Yes
Screen Yes Uses omapfb, not omapdrmfb yet
3D Acceleration Yes Works fast(!), install these two packages: https://maedevu.maemo.org/images/n900/hd-temporary
Touchscreen Yes Resistive
Audio Yes Everything should work (minus speaker protection), but requires complex alsa configuration
2G/3G data WIP Works with ofono; UI underway: https://github.com/maemo-leste/connui-cellular ; see https://github.com/maemo-leste/bugtracker/issues/76
SMS WIP Works with ofono, will using telepathy-ring, no UI yet, not enabled by default
Phone calls WIP Reported to work, no UI, poor quality, not enabled by default (might require pulseaudio audio filters)
FM Transmitter Yes Install v4l-utils, then enable chip and set frequency using: v4l2-ctl -d /dev/radio0 -c mute=0,tune_power_level=120 -f <freq>
FM Receiver No Depends on Bluetooth
Accelerometer Not yet Available as input device, needs MCE work
Proximity sensor Not yet
Vibration Motor Yes No integration yet
TV-out Not yet Should work in kernel, didn't get it to work yet
GPS WIP Works using gps3 and gpsd, needs integration still

Installation

Images: http://maedevu.maemo.org/images/n900/

dd the image to an sd card. If using a Windows machine, you can use Etcher NB: Etcher does not warn you before starting the flashing operation, so please be extra careful that you choose the correct device to flash to

Then boot from the sd card using either 0xFFFF/flasher-3.5 or u-boot/bootmenu: http://talk.maemo.org/showthread.php?t=81613

U-Boot setup

If you don't want to use/install Fremantle, or want to install quickly

1. Download 0xFFFF and u-boot from https://maedevu.maemo.org/images/n900/tools/

2. Turn off Nokia N900, issue the following command on PC and connect Nokia N900 to the PC: sudo ./0xFFFF -m test/u-boot-2013.04-2.bin -l

3. Issue following command on PC to test boot: ./0xFFFF -b

This should present u-boot from which you can select external SD card and boot to Maemo Leste.

To flash u-boot permanently, you can issue the following command (BE CAREFUL THOUGH, AS THIS WILL REPLACE THE EXISTING FREMANTLE KERNEL, ONLY DO THIS IF YOU DO NOT CARE ABOUT THE EXISTING MAEMO INSTALLATION):

sudo ./0xFFFF -m test/u-boot-2013.04-2.bin -f 


Existing Fremantle

1. Install "U-Boot with kernel 2.6.28-omap1"

2. Install "Linux kernel for power user (boot image for U-Boot)". This is optional, but recommended.

3. Add Maemo Leste menu item (run as root):

cat > /etc/bootmenu.d/30-maemo-leste.item << "EOF" &&
ITEM_NAME="Maemo Leste"
ITEM_KERNEL="uImage"
ITEM_DEVICE="${EXT_CARD}p1"
ITEM_FSTYPE="ext2"
EOF
u-boot-update-bootmenu

4. Reboot the device

Increase filesystem size

As of 2018/11, the latest pre-alpha image results in a 1.2GB root filesystem with about 100MB to spare. This can be extended, provided that your SD card is big enough. Perform the following steps on a Linux machine with none of the SD card's partitions mounted:

  • assumption: /dev/sda2 is Leste root partition
  • e2fsck -f /dev/sda2
  • use parted/gparted/cfdisk/... to enlarge /dev/sda2 to the desired size
  • resize2fs -p /dev/sda2
  • e2fsck -f /dev/sda2

The latest images have a script, /etc/expandcard.sh from https://github.com/maemo-leste/image-builder/blob/master/rootfs-overlay/common/etc/expandcard.sh

Serial

http://n900.elektranox.org/serial-adapter.html

http://wiki.maemo.org/N900_Hardware_Hacking#Debug_ports

Accessing MTD

List devices:

cat /proc/mtd

Mount:

apt install mtd-utils
mkdir -vp /mnt/fremantle
ubiattach -p /dev/mtd5
mount -t ubifs ubi:rootfs /mnt/fremantle