Provided by:
scmxx_0.9.0-2.2_i386 
NAME
scmxx - Datenaustausch mit einem Siemens-Handy
SYNOPSIS
scmxx [--device Gerätedatei] [--baud Baudrate] [--quiet] [--verbose]
[--reset] {--info | --set-time | --mem-info | --lock-info | --lock lock
{--enable | --disable} | --set-smsc --number {Nummer | Name} }
scmxx [--device Gerätedatei] [--baud Baudrate] [--quiet] [--verbose]
[--reset] [--out Datei] [--pipe Pipe] {--remove | --send | --get}
[--binary] [--mem Speicher] [--slot Speicherplatz] [Datei...]
scmxx [--device Gerätedatei] [--baud Baudrate] [--quiet] [--verbose]
[--reset] [--out Datei] [--pipe Pipe] [--pin PIN] {--remove | --send |
--get} [--pbook] [--mem Speicher] [--slot Speicherplatz] [--text Text]
[ --number {Nummer | Name} ] [Datei...]
scmxx [--device Gerätedatei] [--baud Baudrate] [--quiet] [--verbose]
[--reset] [--out Datei] [--pipe Pipe] {--remove | --send | --get}
[--sms] [--mem Speicher] [--slot Speicherplatz] [--text Text] [
--number {Nummer | Name} ] [--direct] [--flash] [--srr] [--unicode]
[Datei...]
scmxx [--help] [--version]
BESCHREIBUNG
SCMxx kann bestimmte Dateien zu und von einem Siemens-Handy übertragen
und dort gespeicherte löschen. Die Daten werden aus einer Datei oder
von der Standardeingabe gelesen, geschrieben wird in eine Datei oder
auf die Standardausgabe. Kurznachrichten (SMS) können direkt gesendet
und empfangen werden, also ohne daß sie auf dem Handy gespeichert
werden. SCMxx wurde mit mehreren Handys von Siemens getestet (nur S25
und später).
OPTIONEN
--device (-d)
definiert eine Gerätedatei. Diese wird statt der in der
Umgebungsvariable SCMXX_TTY und dem einkompilierten Wert
verwendet. Für Linux-Systeme kann dies /dev/ttyS0 für eine
serielle Verbindung, /dev/ircomm0 für eine Infrarot-Verbingung
und /dev/rfcomm0 for eine Bluetooth-Verbingung sein. Wenn
native Bluetooth-Unterstützung einkompiliert wurde, können
zusätzlich die Formen bt://[xx:xx:xx:xx:xx:xx]:n oder
bluetooth://[xx:xx:xx:xx:xx:xx]:n benutzt werden, um eine
Bluetooth-Adresse xx:xx:xx:xx:xx:xx und einen Kanal n
(Vorgabewert ist 1) anzugeben. Die Angabe des Kanals is
optional, in diesem Fall muss aber auch der Doppelpunkt
weggelassen werden.
--baud (-b)
definiert ein Baudrate, mit der zum Gerät verbunden wird. Die
gültigen Werte sind abhängig vom System, typische sind jedoch
9600, 19200, 38400, 57600 oder 115200. Der Standardwert ist
19200. Das S25 und die *35i arbeiten nur bei 19200, alle
späteren Modelle arbeiten auch bei voller serieller
Geschwindigkeit. Infrarotverbindungen können, abhängig vom
IrDA-Modul, eine Ausnahme sein. Dies übergeht die
SCMXX_BAUD-Variable und den einkompilierten Wert.
--out (-o)
definiert eine zu benutzende Datei. Wenn man Binärdatein mit
"all" holt, werden die Speicherplatznummer und der Dateityp
angehängt. Wenn man sendet oder löscht, hat dieser Parameter
keine Wirkung aber die letzten Parameter sollten beim Senden
gültige Dateien sein. Die Standardausgabe muß explizit mittel
einem Bindestrich (’-’) angegeben werden, sonst wird nichts auf
diese geschrieben. Wenn ’-’ angegeben wurde, wird nicht an
diesen Wert, auch beim holen von mehereren Dateien, angehängt.
--pipe (-p)
definiert eine Pipe zu einem anderen Programm. Wenn man mit
"all" Daten holt, wird jede Datei in eine eigene Pipe geschickt
(nur mit --binary und --sms).
--quiet (-q)
verringert die Menge der Ausgaben um 1
--pin die Option kann man benutzen, wenn ein PIN-Code zum Zugriff
erforderlich ist
--verbose (-v)
erhöht die Menge der Ausgaben um 1
--reset
versucht, das Handy zurückzusetzen, sodaß man wieder darauf
zugreifen kann. Es kann passieren, daß das Handy nicht mehr auf
der seriellen Schnittstelle antwortet, besonders nach einem vom
Benutzer unterbrochenen Dateitransfer. Dies sendet einfach
blind ein paar besondere Zeichen.
--help (-h)
gibt die Hilfeseite aus
--version
gibt die Version aus
--remove (-r)
löscht einen Eintrag vom Handy Wenn --sms und --get mit
angegeben werden, holt und löscht dies. Wenn --sms und --send
mit angegeben werden, sendet und löscht dies.
--get (-g)
holt einen Eintrag und Speichert ihn in eine Datei Wenn --sms
und --remove mit angegeben werden, holt und löscht dies. Wenn
--sms und --send mit angegeben werden, holt und sendet dies.
--send (-s)
sendet eine Datei zum Handy Beim Senden vom Kurznachrichten
könnte die Option --direct ebenfalls von Interesse sein. Wenn
--sms und --remove mit angegeben werden, sendet und löscht dies.
Wenn --sms und --get mit angegeben werde, holt und sendet dies.
--info (-i)
sammelt Informationen vom Handy, --mem-info kann als Schalter
benutzt werden und eine komplexere Tabelle über die verfügbaren
Speicher auszugeben.
--mem-info
zeigt Informationen über verfügbare Speicher und deren
Speicherplätze und andere Informationen an. Es benutzt dasselbe
Format wie --mem=? und kann als Schalter für --info dienen, um
die kurze Speicherauflistung zu ersetzen.
--lock-info
zeigt den Status der Zugriffssperren (locks) an. Es kann als
Schalter für --info dienen, um die kurze Speicherauflistung zu
ersetzen.
--lock wählt die ein-/auszuschaltende Sperre aus. Für einige Sperren
wird ein Passwort benötigt (siehe --pin).
--enable
einschalten z.B. einer Sperre
--disable
ausschalten z.B. einer Sperre
--dial wählt eine Nummer (erforder --number). Das Programm beendet
sich entweder nach 10 Sekunden oder wenn der Anruf die
angerufene Seite erreicht hat.
--hangup
beendet alle, momentan aktiven Gespräche
--set-time
gleicht die Zeit des Handy mit der des Rechners ab. Der Einsatz
eines Programms wie ntpdate wird vor der Nutzung dieses
Parameters empfohlen.
--set-smsc
setzt eine neue SMSC nummber (erfordert --number)
--binary (-N)
wählt den Binärdateiübertragungsmodus
--pbook (-P)
wählt den Telefonbuchübertragungsmodus
--sms (-S)
wählt den Kurznachrichtenübertragungsmodus
--mem wählt den Speicher aus, der benutzt werden soll.
Speicherplatznummern hängen von dieser Wahl ab. Die Ausgabe von
--info zeigt unterstützte Speicher an. Wird diese Optioen nicht
benutzt, wird eine eventuell vorhandene Vorgabe benutzt. Es gibt
den besonderen Wert "?", der die selbe Ausgabe wie --mem-info
hat, nur daß es auf den gewählten Modus eingeschränkt wird.
--slot wählt die zu benutzende Speicherplatznummer aus. (siehe Ausgabe
von --mem-info oder --mem=?). Wird diese Optioen nicht benutzt,
wird eine eventuell vorhandene Vorgabe benutzt. Der besondere
Wert "all" definiert the alle verfügbaren Speicherplatznummern
für den gewählten Speicher und Modus (mit der Ausnahme von --sms
mit --send). Für den Kurznachrichtenübertragungsmodus gibt es
die besonderen Werte "read" (gelesen), "unread" (ungelesen),
"sent" (bereits gesendet) und "unsent" (noch nicht gesendet).
Die letzteren beiden können mit --sms und --send benutzt werden.
Für den Telefonbuchmodus gibt es zusätzlich den Wert "last"
(letzter). Wenn diese Option nicht angegeben wird, versucht
scmxx einen leeren Speicherplatz zu finden (je nachdem kann dies
auch länger dauern). Wenn ein Wert angegeben wurde und meherere
Datei gesendet werden, ist die angebene Speicherplatznummer der
Startpunkt für die Suche nach leeren Speicherplätzen. Mehere,
nicht-leere Speicherplätze zu überscheiben wird noch nicht
unterstützt, außer für den Spezialfall "all" (alle).
--text (-t)
definiert den Inhalt einer Kurzmitteilung oder eine
Telefonbucheintrags. Bei Telefonbucheinträgen hängt die Länge
vom gewählten Telefonbuch ab (siehe Ausgabe von --mem-info oder
--mem=?).
--number (-n)
definiert die Nummber beim Senden einer Kurznachricht oder die
Nummer bei einem Telefonbucheintrag. Die Nummer kann ein Prefix
’+’ für internationale Nummern haben und ist normalerweise auf
20 Ziffern (ohne das ’+’) limitiert, was genug sein sollte.
--direct
sendet/holt Kurznachrichten ohne sie auf dem Handy zu speichern.
Dies ist kein Standardwert, weil man für das Senden von
Kurznachrichten normalerweise Geld bezahlen muß. Beim direkten
Holen werden Kurznachrichten, die nicht vom Type SMS-DELIVER
sind trotzdem auf dem Handy gespeichert, da diese noch nicht
dekodiert werden können.
--unicode
sendet Kurznachrichten als UCS-2 (16bit-Unicode-Zeichensatz).
Dieser Parameter muß nicht angegeben werden, um
Unicode-Kurznachrichten zu dekodieren.
--flash
dies setzt das Class0-Bit im DCS-Feld, was beim Empfänger
normalerweise als "immediate display" (unmittelbar anzeigen)
interpretiert wird. Nicht alle Empfangsgeräte unterstützen das.
Man muß außerdem beachten, daß eine zweite Kurznachricht mit
dieser Einstellung eine vorherige ohne Nachfrage überschreibt!
Die Nutzung wirde deshalb nicht empfohlen.
--srr dies setzt das Bit StatusReportRequest (Statusreport anfordern)
im pdutype-Feld der SMS-PDU. Es hängt von der SMSC ab, ob dieses
Bit beachtet wird. Bei manchen Providern kosten StatusReports
extra.
--sort sortiert die Kurznachrichten bei der Ausgabe. Mögliche
Sortiermethoden sind "type", "slot" und "type,slot". "type"
sortiert nach dem Nachrichtentyp mit einer internen Rangfolge:
erst die nicht unterstützten Typen, dann SMS-SUBMIT,
SMS-STATUS-REPORT und SMS-DELIVER. "slot" sortiert nach dem
Speicherplatz der Kurzmitteilung. "type,slot" sortiert erst wie
"type" und dann jeden Typen wie "slot". Die Vorgabe ist keine
Sortierung (Reihenfolge hängt vom Handy ab).
--pin ermöglichst die Nutzung einer PIN. Diese Option sollte nur
benutzt werden, wenn nach eine Fehlermeldung erscheint, die nach
einer PIN oder PUK verlangt. Für eine PIN ist dies die erwartete
"<PIN>", für eine PUK ist dies die erwartete "<PUK>,<new PIN>".
Der Wert wird nur ein einziges Mal benutzt. Die Pin-Datei
sollte, wenn möglich, stattdessen benutzt werden (siehe unten).
--system-charset
definiert den Systemzeichensatz anstatt den Rückgabewert von
nl_langinfo(CODESET) zu nutzen. Das ist eine Behelf für Systeme,
die keine Unicode-Locales wie UTF-8 unterstützen oder wenn Daten
von einem anderen System mit einer anderen Locale als Eingabe
benutzt werden soll. Normalerweise wird diese Option nicht
benötigt.
BEISPIELE
Senden einer Bitmapdatei an das Handy (Logo):
scmxx --send --binary --mem="bmp" --slot=0 myfile.bmp
Holen eines Logos vom Handy und speichern in eine neue Datei:
scmxx --get --binary --mem="bmp" --slot=0 --out=myfile.bmp
Holen aller ungelesenen (Vorhabe beim holen) Kurznachrichten und
Ausgabe auf die Standardausgabe:
scmxx --get --sms --slot=unread --out=-
scmxx -gS -o-
Direkten empfangen einer Kurznachricht:
scmxx --send --sms --direct --number=123 --text="test"
Holen eines Telefonbuchs und speichern in eine Datei:
scmxx --get --pbook --mem=SM --out=SM.pb
Änders des Speicherplatzes 33 im Telefonbuch SM:
scmxx -sP --mem=SM --slot=33 --number=123 --text="test"
BESONDERHEITEN
Die Ausgabe von Text (Telefonbuch und SMS) hängt von dem Zeichensatz
der gewählten Systemlocale ab, ebenso für die Eingabe. Das hat den
Vorteil der Lokalisation aber auch den Nachteil, daß alle nicht von der
Locale unterstützten Zeichen mit einer Sequenz \XXXX eingegeben werden
müssen, wobei X ein Hexadezimalzeichen ist (z.B. \20ac für das
Eurozeichen). Das ist der 16bit-Unicode-Wert. Die \XXXX-Ausgabe wird
nur für Ausgaben benutzt, die normalerweise auch wieder als Eingabe
dienen können. Für alle anderen Ausgabe wird ein Fragezeichen (’?’)
als Platzhalter genommen. Mit einer UTF-8-locale kann man
sicherstellen, daß alle Zeichen konvertiert und angezeigt werden
können. Das Zeichen für das Zeilenende kann als das übliche \n
eingegeben werden und ’\’ muß sich selbst vorangestellt werden. In der
bash kann dies sogar in einem "\\\\" enden.
VERBINDUNGSPROBLEME
Es gibt die zusätzlichen Parameter --ignore-serial-bits (serielle Bits
ignorieren, Vorgabe) und --keep-serial-bits (serielle Bits
beibehalten). Diese sollte man nur probieren, wenn das Handy keine
Antwort zu geben scheint. Welchen Einstellung die richtig ist, hängt
vom Kabel und vom seriellen Port ab und kann nicht automatisch bestimmt
werden.
Wenn Timeouts beim ersten Kommando kommen, kann man außerdem die Option
--start-delay=<seconds> (Anfangsverzögerung in Sekunden) probieren.
Eine weitere Option --device-timeout=<seconds> (Gerätetimeout in
Sekunden) gibt es für den Fall, daß es das Handy nicht schafft, auf ein
Kommando innerhalb von 10 Sekunden zu antworten. Eigentlich sollte dies
mehr als genug sein, aber man weiß ja nie. Der minimal erlaubte Wert
ist 1, der höchste von 25 bedeutet "unendlich lange".
SICHERHEIT
Die --pin Option sollte man mit Vorsicht benutzen. Diese Option mitsamt
Wert ist in der Prozesslist sichtbar.
UMGEBUNGSVARIABLEN
SCMXX_TTY
siehe --device für eine Beschreibung
SCMXX_BAUD
siehe --baud für eine Beschreibung
DATEIEN
~/.scmxx/cache.pb
Diese Datei dient als Telefonbuch (für Nummer von
Empfänger/Sender) während der Ausgabe von Kurznachrichten und
als Alias für --number beim Senden von Kurznachrichten. Das
Format ist dasselbe wie eine Telefonbuchdatei (die
Speicherplatznummern sind nicht wichtig, müssen aber vorhanden
sein).
~/.scmxx/config
Diese Datei kann Option in der langen Form (aber ohne die --)
enthalten. Der Wert is von der Option durch ein ’=’ getrennt.
Eine beliebige Anzahl von Leerzeichen ist am Anfang der Zeile,
vor und nach dem Trennzeichen erlaubt. Ein ’#’ am Anfang der
Zeile markiert diese Zeile als Kommentar. Beispiele:
#eine andere Gerätedatei festlegen
device = /dev/ttyS0
#SMS immer als UCS-2 senden
unicode
~/.scmxx/pin
Diese Datei wird als Alternative zur --pin Kommandozeilenoption
benutzt. Die Datei DARF NICHT gruppenlesbar/-schreibbar oder
weltlesbar/-schreibbar sein! Es MUSS auch eine reguläre Datei
sein, kein SymLink. SCMxx wird sonst die Nutzung der Datei
verwehren. Wenn ein PUK-Wert vom Gerät angefordert wird, muß
ein zugehöriger PIN-Wert ebenfalls definiert sein. Die einzig
nötigen Formatelemente sind ’{’, ’=’, ’;’ und ’}’. Leerzeichen
und Zeilenumbrüche werden ignoriert. Die Datei hat das folgende
Format:
sim 262031234567890 {
pin = 1234
puk = 12345678;
pin2 = 4321;
puk2 = 87654321;
}
device 350123456789012 {
type SIM {
pin = 0000;
puk = 0000;
}
}
"sim"-Sektionen benutzen die IMSI als Variable,
"device"-Sektionen benutzen die IMEI als Variable (siehe Ausgabe
von --info). Da die IMSI benötigt wird, können sie hiermit nicht
das Handy einschalten. Die "type"-Untersektion in der
device-Sektion hat folgende Variablen:
SIM Gerätecode (Diebstahlsicherung)
FSIM die zuallererst eingelegte SIM
NET Netwerk-Personalisierung
NETSUB Netwerk-Subset-Personalisierung
SP Service-Provider-Personalisierung
CORP Corporate-Personalisierung
AUTOR
Hendrik Sattler post@hendrik-sattler.de