Open source phone project: see for details.

How to load osmocom-bb from the phone Application CPU:

Osmocom can be run directly on the phone. The communication flow is:

Scheme of osmocom running on OpenMoko phone

For details see osmocon and CalypsoRomloader. IP networking between the host and the phone must be set up.

On the phone:

  • disable ogsmd, ousaged, ophoned via /etc/frameworkd.conf
  • prevent fsogsmd from accessing modem by commenting following variables in /etc/freesmartphone/conf/GTA02/fsogsmd.conf:
    • device_port
    • modem_access
  • re-check that nothing uses the modem: fuser /dev/ttySAC0
  • open three SSH terminals to the phone
  • transfer layer1.highram.bin and osmocon binary to the phone
  • in the first terminal, make L2 socket externally available via socat:
    socat -v -x tcp-l:16661,reuseaddr,fork unix-connect:/tmp/osmocom_l2
  • in the second terminal, run osmocon:
    ./osmocon -i 13 -m romload -p /dev/ttySAC0 layer1.highram.bin
  • in the third terminal, turn power off/on:
    echo 0 >/sys/bus/platform/devices/gta02-pm-gsm.0/power_on && echo 1 >/sys/bus/platform/devices/gta02-pm-gsm.0/power_on

on the host machine

  • Connect the socket:
    socat -v -x unix-l:/var/tmp/l2,fork  tcp:,fork

    Note: is default address of the device when you use shr-core linux distribution.

After this you can run various tools on host machine, for example:

./cell_log -s /var/tmp/l2 -l /var/tmp/osmocom.log

How to load osmocom-bb from a computer

Alternatively you can also load a firmware on the openmoko modem from your computer, without needing to cross compile or install something on the phone CPU running GNU/Linux.

  • like with the previous explanations be sure that nothing access the modem.
  • Then run the following command on the phone:
    echo 1 > /sys/bus/platform/devices/gta02-pm-gsm.0/download

    That will connect the second serial port of the modem(named IRDA) to the audio jack.
  • Then connect a 3.3V serial cable(a normal serial port will probably kill your modem because of the higher voltage) to the audio jack(for the pins you can refer to the schematics of the phone that are freely available)
    Then on a computer do(replace /dev/ttyUSB0 by your computer serial port):
    ./osmocon -i 13 -m romload -p /dev/ttyUSB0 layer1.highram.bin

    And back on the phone do:
    echo 0 >/sys/bus/platform/devices/gta02-pm-gsm.0/power_on && echo 1 >/sys/bus/platform/devices/gta02-pm-gsm.0/power_on

    That will load the firmware, and you will be able to interact with it from your computer like if it was a regular supported(by osmocom-bb) feature phone.

Updated by laforge over 2 years ago · 9 revisions

Add picture from clipboard (Maximum size: 48.8 MB)