Editing the neofreerunner's IMEISV

This write up describes the use of the ffs-edit-kit tool which I've packaged for Qtmoko. You don't need to use these package(s), but doing so means you do not need an unlock cable to allow running the tools on PC rather than phone, nor a build environment to suit the freerunner.

Preparation

Download the debian package ffs-edit-tools and if you haven't installed it already also loadtools (you must have version 1.2) and install in the normal way on your phone. There is documentation in /usr/local/share/ffs-edit-kit/README which you should look at in conjunction with this write up, particularly the prior use of loadtools to backup your modem image. The backup procedure is also described here in the Backing up vital calibration data section. You'll need a ssh connection to your phone and either a screen session with two windows or a second ssh session.

Using the ffs-edit kit

In the first ssh session or screen window:-

root@moke:~# /etc/init.d/qtmoko-neo stop
root@moke:~# fc-xram -h gta02 /dev/ttySAC0 /usr/local/share/ffs-edit-kit/images/gtamodem-etmffsrw-int-ramImage.srec rvinterf
Sending beacons to /dev/ttySAC0
Toggling /sys/bus/platform/devices/gta02-pm-gsm.0/power_on
Got beacon response, attempting download
< p command successful, switching to 115200 baud
Sending image payload
.............................................
.............................Sending checksum
< c command successful, sending < b
< b command successful: downloaded image should now be running!
FreeCalypso loadagent running
Loaded via UART 0 (MODEM) at baud rate #0
TCXO clock input autodetected to be 26 MHz
Executing init script k5a3281.init
init-script command: w16 fffffb00 00A3
init-script command: w16 fffffb02 00A3
Sending XRAM image to loadagent
Each '.' is 100 S-records
......................................RV 00000000 0 ^@^@^@^@
RV 00000000 1 RVT: Lost Message 04000017
RV 00010001 5 RVM: Created task nb  0x00000001
The first command ensures that no other processes are touching the calypso modem. The rational for that second command is described in the above mentioned documentation; the debian package puts the FFS editing agent in /usr/local/share/ffs-edit-kit/images. Output from it will continue, but at the point above, leave the command running and switch to the second screen window or ssh session.
root@moke:~# fc-tmsh
>set-imeisv pcm xxxxxxxx-yyyyyy-zz
>exit
root@moke:~# 
where xxxxxxxx-yyyyyy-zz is the 16 digit number you wish to use (the punctuating "-" are not necessary).

Switch back to the first window and kill the rvinterf process with ctrl c, then to return the phone to normal operation:-

root@moke:~# /etc/init.d/qtmoko-neo start
You can dial *#06# to confirm the change has been made.