Provided by: scmxx_0.8.2-1_i386 bug

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.

       --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