Howto

Serielles Kabel bauen

Ich (Gonium) verwende ein selbstgestricktes Kabel, um meinen Rechner mit dem C123 zu verbinden. Das Kabel besteht aus einem FTDI USB-Seriell-Adapterboard mit Arduino-Belegung, sprich: der Adapter kann auch zum Programmieren einiger Arduino-Clone verwendet werden. Wichtig ist, dass der Adapter auf 3.3V betrieben wird. Geeignet ist z.B. der USB-BUB von Modern Devices oder das Sparkfun FTDI Basic breakout board 3,3V (http://www.watterott.com/de/FTDI-Basic-Breakout-33V). Andere serielle Adapter sollen auch funktionieren.

Dann verbindet man über eine kleine Platine das Breakout-Board mit dem Kopfhörerstecker:

  • TxD is at the tip of the plug (PC to Device)
  • RxD is at the middle contact (Device to PC)
  • GND is the outer contact

Natürlich müssen RxD und TxD am Adapter gekreuzt werden. Reichelt verkauft 2,5„-Klinkenstecker, die zu groß für den Kopfhöreranschluss sind. Die sehen zwar aus, als ob sie wirklich Kontakt herstellen würden, aber das tun sie nicht - da fehlen dann etwa 2 mm. Lässt man die Plastikhülle des Steckers weg und feilt etwas Metall vom Stecker, geht es dennoch. Im Bild oben verhindert Heisskleber, dass die Kontakte sich berühren - gleichzeitig verleiht der Kleber dem Ganzen Stabilität. Im Bild unten sieht man, wie tief der Stecker in das Telefon geschoben werden muss, damit der Kontakt sicher hergestellt wird. Alternativ zur Bastelvariante kann man auch ein fertiges 2,5- auf 3,5mm Adapterkabel nehmen. Dann ist der Stecker klein genug und man kann ihn leichter wieder aus dem Telefon rausziehen.

Virtualisierte Maschinen funktionieren nicht, da das Timing des Bootloaders im C123 recht sensitiv ist. Also: Linux, nativ oder gar nicht. Kommt beim Bootloader ein Fehler, kann ein aus- und einstecken des FTDI helfen.

Die Software

Generell gilt: Erstmal im OsmocomBB-Wiki lesen. Die meisten Fragen sind dort bereits beantwortet. Der Crosscompiler aus dem Arch Linux-Repo ist kaputt, daher wirklich eine fertige Toolchain von GNUARM runterladen und installieren.

Dann: GettingStarted folgen. Generell sind die Schritte die Folgenden:

  • execute ./osmocon -p /dev/ttyUSB0 -m c123xor ../../target/firmware/board/compal_e88/layer1.compalram.bin in $base_dir/src/host/osmocon/
  • execute ./mobile in $base_dir/src/host/layer23/src/mobile/
  • execute telnet localhost 4247 to access the management interface
  • enter enable and press return

Eine Konfigurationsdatei kann wie folgt angelegt werden:

touch /etc/osmocom/osmocom.cfg
./mobile
telnet localhost 4247
enable
configure terminal
write file

Damit wurde dann die laufende Konfiguration in die Textdatei geschrieben, very Cisco-like.

Bis dahin ist allerdings das Senden deaktiviert, und die SIM kann nicht ausgelesen werden. Für die meisten Anwendungen ist der Code so noch nicht brauchbar. Trotzdem: Das sollte man einfach mal durchexerzieren, um ein Gefühl dafür zu bekommen.

Startskripte

Layer 1

#!/bin/sh
cd src/host/osmocon/
echo "press power of cell phone to load layer1"
sudo ./osmocon -d tr -p /dev/ttyUSB0 -m c123xor ../../target/firmware/board/compal_e88/layer1.compalram.bin | tee /tmp/layer1.log
#-d tr #2>&1

Layer 2 & 3

#!/bin/sh
cd ./src/host/layer23/src/mobile
./mobile -i 127.0.0.1 -d 2>&1 | tee /tmp/mobile.log

Wireshark

#!/bin/sh -x
nc -u -l 4729 > /dev/null &
sudo wireshark -k -i lo -f 'port 4729'

Senden im GSM-Netz

Vorsicht! Es könnten $Dinge passieren.

git checkout sylvain/testing

TX aktivieren in /src/target/firmware/Makefile:

# Uncomment this line if you want to enable Tx (Transmit) Support.
CFLAGS += -DCONFIG_TX_ENABLE

Der Code ist experimentell und kompilliert so nicht - die app „simtest“ ist kaputt. Diese kann einfach am Anfang des Makefiles auskommentiert werden:

# List of all applications (meant to be overridden on command line)
APPLICATIONS?=hello_world compal_dsp_dump layer1 loader chainload
#simtest

SIM Reader aktivieren:

ena l conf ; ms 1 ; no shutdown ; sim reader ; end ; end ; write

Dann sollte das Telefonieren funktionieren.

Siehe auch: http://bb.osmocom.org/trac/wiki/SIMReader

Random Hints

* Random IRC snippets, i.e.: Enable TX in sylvains branch
23:42 <         Neodyn > what means "network not in list" What list ?
23:47 <        xorAxAx > Neodyn: that means that TX is not enabled
14:12 <        philipp > Hi, how can I get a list of ARFCNs in the neighboorhood that are curently used? (C123 with layer1 and layer23 are
                       still working)
14:17 <          jolly > philipp: try cell_log application. you will get a text file with received power levels and even with system
                       informations.
                       
01:20 <       massoud_ > i am trying to get my c123 to run w/ my sim card
01:21 <       massoud_ > mobile is giving "Mobile '1' initialized, please start phone now!"
01:21 <       massoud_ > is there a config that should be set to enable the sim-reading ?
01:22 <            dw_ > ena l conf ; ms 1 ; no shutdown ; sim reader ; end ; end ; write 
01:22 <            dw_ > s/ena l/ ena ;/   and press enter instead of typing the semicolon
01:23 <            dw_ > thats to be typed into mobile's telnet interface

Beschreibung eines kompletten Setups: http://blog.rot13.org/2011/01/osmocom-bb_-_free_software_finally_comes_to_gsm.html

Toolchain für MacOS:http://stuge.se/macos-arm-none-eabi.tar.bz2

project/osmocombbhowto.txt · Zuletzt geändert: 14.01.2013 15:56 von 127.0.0.1
Falls nicht anders bezeichnet, ist der Inhalt dieses Wikis unter der folgenden Lizenz veröffentlicht: CC Attribution-Noncommercial-Share Alike 4.0 International
Recent changes RSS feed Driven by DokuWiki