wiki:GSMmuxer

GSM muxer

This page is collecting the status and configuration of the GSM muxing support in Hackable:1. The GSM muxer is not enabled by default at the moment. For ogsmd on hackable1, see ogsmd

Status

What's currently working is:

  • the openmoko-panel-gsm applet
  • outgoing data calls via libgsmd-tool (didn't test with PPP yet)
  • dynamic pseudo-terminal allocation

What's not working is:

  • registering to the network at boot (not a regression)
  • outgoing and incoming voice calls
  • starting gsmd at boot
  • transmitting the pseudo-terminal filename to pppd

Configuration

Required components

You need to install gsm0710muxd if not already:

# apt-get update && apt-get install gsm0710muxd

This will automatically install the latest version from the pkg-fso repository.

Installation

You need an initialization script for gsm0710muxd, which is attached to this page: "gsm0710muxd". It requires configuration in /etc/default/gsm0710muxd, for the Openmoko Freerunner:

BAUDRATE=115200
DEVICE=/dev/ttySAC0

Enable it by running:

# update-rc.d gsm0710muxd defaults 22

You then have to modify the startup of the regular gsmd daemon, to use a pseudo-allocated terminal. This is done in /usr/bin/x (which should be in /usr/local/bin/x, /etc/init.d/xserver-hackable1 needs then be modified). It has to be started like this instead:

identvar=$(date +%s)
ptsvar=$(dbus-send --system --print-reply --type=method_call --dest=org.pyneo.muxer /org/pyneo/Muxer org.freesmartphone.GSM.MUX.AllocChannel "string:$identvar" | grep string | awk -F '"' '{ print $2 }')
/usr/sbin/gsmd -p "$ptsvar" -s 115200 -F -d -l /tmp/gsm.log

Test process

My method is to get it working interactively (through SSH, scripting it as much as possible), and then reflect changes to the bootup scripts. Unfortunately I had differing results at each reboot, and sometimes the same scripts were not functioning twice even in interactive mode.

Always thoroughly check that all daemons are running and adequately logging, that the pseudo-terminal allocation is still effective (they are closed when running stty or cu), etc.

The following tools will be useful:

  • libgsmd-tool
  • openmoko-panel-gsm
  • dbus-send
  • echo in sysfs
  • pppd

Additional information

Attachments