Provided by: scmxx_0.9.0-2.4_amd64 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.  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

SCMxx                                              2006-01-30                                           scmxx(1)