Neo FreeRunner Debian on Neo Freerunner phone
After trying other distributions, i have ended with Debian on Neo FreeRunner phone. I don't use it as phone already, only as PDA with step by step installation. My current status is as follows.
For short:
Currently there is little useful things in Debian repository. Install system usual way (look here) and then try install some software i have compiled, you will find it in downloads.
For long:
You need some GUI, I'm using Enlightenment E17 with Illume. Download it, unpack the zip file and install with the install.sh script (chmod +x first). You can install some additional modules, for example Weather forecasts or calendar.
I'm using the modified Exposure to enable GPS, Bluetooth, Wi-Fi and change backlight and suspend timeout - not available yet, i need to package it.
I'm currently using those applications:
Neo Setup
My setup utility "eneoset" to set backlight brightness, turn on/off bluetooth, Wi-Fi and switch USB mode as device or host. Works only with kernel 2.6.29 up.
Download package for Debian armel and source codes.
tangoGPS
Application for GPS with maps, it is in Debian repositories. I use it for track logging and to extend OpenStreetMaps.
Navit
for car navigation - get it here. Last svn version fixes a lot of bugs and has a lot of improvements. On Freerunner is very slow, I can say unusable.
Mokoko
as audio player - get it here. It is needed to make some work - allow it to select directory. Currently it reads the directory from config file only. I don't use it anymore.
Or use
Intone
as audio player - get it here, source code here. It is frontend for mplayer using Elementary widgets from E17, best use with mplayer compiled by PaulTT, unpack from this package.
But Neo Freerunner has hardware bug - very low capacitance (1uF) on the output amplifier, even thought datasheet recommends 100uF - so there is no frequency below 1kHz in headphones. I have replaced the capacitor with 220uF type. Because it is much bigger and there is so little space inside, it is needed to connect it with a wire outside of metal case. But it is the only solution to make it work. But I don't recommend it if you have not very good soldering station. And you will loose warranty. Also the headphones are of poor quality with bad bass response. I'm using my old hands-free-headphones for Motorola and it is a lot better. I plan to cut the original speakers and replace it with something better.
FBReader
Original book reader FBReader is on Freerunner hard to use, because of tap scrolling (needs to tap without movement) and switching to fullscreen (can't press enter without keyboard). So i have added switching to fullscreen with tap to the center of screen and increased maximum movement to 50 pixels, so it can be touched with finger easily.
I have renamed the Debian package to fbreaderm, so it will not collide with fbreader version numbering. Download binary here and source code here.
Iceweasel
for web browsing (=Firefox)- works better than Midori, starts 2x slower, but then works better with better rendering engine. Install also the Adblock and Grab and Drag extensions. Waiting for Firefox Mobile aka Fennec - currently in alpha versions.
EChrono
Chronometer alias stopwatch with split function and lap counter. It uses Elementary widgets from Enlightenment. Download package for Debian armel and source codes.
ENeoLock
Screen locker inspired by Zedlock. Zedlock was written in python using GTK and Cairo, so start up was very slow, so I have rewritten it using Edje. It only locks the screen and provide no other information, it will be added later (write me, if you need it). You can set eneolock as external screen locker in Enlightenment. Download package for Debian armel and source codes.
Put logs to memory
I put logs to ram to prevent demage of SD card (it comes from here). Create new directory /var/disk-log and create script /etc/init.d/ramfs-log which looks like that:
#! /bin/sh
### BEGIN INIT INFO
# Provides: ramfs
# Required-Start: mountall
# Required-Stop:
# Default-Start: S
# Default-Stop:
# Short-Description: copy /var/log content in ramdisk
# Description: copy /var/log content in ramdisk
### END INIT INFO
case "$1" in
start)
echo "Copying /var/log contents to ramdisk"
tar -xzpf /var/disk-log/logs.tar.gz
;;
stop)
echo "Copying /var/log contents to disk"
mkdir –p /var/disk-log/
chmod 777 /var/disk-log/
tar -cvzpf /var/disk-log/logs.tar.gz /var/log
;;
*)
echo "Usage: ramfs-log [start|stop]" >&2
exit 3
;;
esac
Enable it run on boot and shutdown
update-rc.d ramfs-log start 37 S . stop 99 0 1 6 .
Also disable dpkg logs. Replace in /etc/dpkg/dpkg.conf line "log /var/log/dpkg.log" with "log /dev/null".
Usage
And what I do whith Neo? For example I can connect USB device, backup SD card with SD card reader to hard drive, also USB mouse and keyboards work good. When connecting hard drive through the hub, there was voltage drops on the connectors and cables and the drive stopped working, so I have added some capacitors (3000µF in total) inside the hub. Now everything works good.
The USB cable for Neo I have created from two typical USB cables, one with mini USB connector and one with type A receptacle. Between i have added also power connector with switch to allow injecting of 5V voltage from external supply to power all devices. The hub draws about 50mA, SD reader and flash drive 100mA when reading and 200mA when writing and hard drive 500mA. So the external supply is recommended (and needed for HDD).
If Enlightenment is copying large amount of data, it shows wrong size. The speed of transfer from SD card to hard drive is about 0.5MB/s, so backup of 16GB card form camcorder takes 8 hours ;).
More will come.
|