Linux a mobilní telefony Siemens

Pořídil jsem si nový telefon Siemens M65, který v sobě má integrovaný fotoaparát s kamerou, tak by bylo škoda to nevyužít. Když jsem byl u Siemensu kupovat USB kabel, tak jsem se ptal, jestli nemají zkušenosti, jak tento telefon komunikuje s Linuxem.

7.6.2005 06:00 | Jiří Simon | přečteno 17573×

Bylo mi odpovězeno, že s Linuxem mi to fungovat nebude. Ale i přesto jsem to zkusil a ejhle, ono to funguje a to mnohem lépe než ve Windows XP. Po prvním připojení k Linuxu jsem se až divil, co mi to vše vypsalo. Jedna z informací byla, že se telefon připojil jako zařízeni /dev/ttyUSB0. Což bylo příjemné a dá se říct, že i velice pozitivní, proti tomu co mi řekli u prodejce. Další věcí bylo najít správný program pro komunikaci. Vybral jsem si scmxx

Scmxx je konzolový program, jehož domovská stránka je http://www.hendrik-sattler.de/scmxx/ a aktuální verze 0.7.5. Tento program byl napsán pro Siemens S35i, ale dnes už podporuje snad všechny typy mobilních telefonů značky Siemens. Jeho základní funkce zahrnují detekování připojeného telefonu, psaní a čtení SMS zpráv, archivace telefonních seznamů a manipulace s multimediálními soubory, jako jsou loga a melodie.

Základnímy parametry jsou --device, --baud, --out, --info, --mem-info, --lock-info, --toggle-lock,--mem, --slot, --pbook, --sms, --binary.

--device (-d) je zařízení, na kterém se telefon nachází, standardně je nastaveno /dev/ttyS0. Pokud se váš telefon nachází jinde, jako třeba ten můj, na /dev/ttyUSB0 stačí zadat scmxx --device=/dev/USB0. Aby se tato hodnota nemusela stále zadávat do konzole, můžeme si tento parametr uložit ve svém HOME co ./.scmxx/config (který si musíme vytvořit) a do něj přidáme řádek device = /dev/ttyUSBO.

--baud (-b) je parametr, který určuje rychlost připojeného zařízení(9600, 19200, 38400, 57600 a nebo 115200. Opět si můžete toto nastavení uložit do souboru config ve tvaru baud = rychlost.

--out(-o) určuje, kam bude směrován výstup. Pro vypsání dat na standardní výstup je to --out=- jinak přesměrování do souborů je --out=/soubor.

--info vypíše všechny informace o telefonu, jako jsou výrobce, model, IMEI, stav baterie. Dále vypíše informace o SIM kartě a o operátorovi, který je používán, sílu signálu, jméno operátora, telefonní číslo, třída GPRS a další. Na konci seznamu je výčet pamětových míst a zámků v telefonu.

--mem-info vypíše podrobněji obsazení paměťových míst vašeho telefonu, například takto nebo takto.

--lock-info zobrazí aktuální nastavení některých funkcí jako je zamknutí klávesnice, zda je ativován PIN a další.

--toggle-lock tento parametr může změnit stav zámků v telefonu, na některé je však potřeba zadat PIN, který předáme parametrem --pin=pin kód

--set-time nastaví datum a čas podle aktuálního stavu v systému. Nelze mu zadat žádnou hodnotu, takže je ideální si nejprve srovnat přes nějaké ntp čas systému a potom v telefonu.

--pbook (-P) přepne se do módu pro práci s telefonními seznamy.

--sms (-S) přepne se do módu pro práci se SMS.

--binary (-N) přepne se do módu pro práci s binárními soubory (bmp, mid, jpg,..).

--mem upřesňuje paměťové místo ve vybraném módu.

--slot vybere přímo požadovaný záznam v paměti, používá se většinou s --mem, jako hodnotu mu buď předáte číslo slotu, nebo některé ze speciálních stringů "all", "read", "unread", "sent" a "unsent" pro SMS zprávy nebo "all" a "last". Bohužel tyto stringy se nadají kombinovat, musí se zadávat vždy jenom jeden. Některé z těchto slov nelze použít s --send.

Základní příklady

informace o telefonu:

scmxx --device=/dev/ttyUSB0 --info
scmxx --device=/dev/ttyS0 --baud=57600 --info

pokud jste si však vytvořili soubor config stačí:

scmxx --info

Výpis paměťových míst:

scmxx --mem-info

Výpis zámků:

scmxx --lock-info

Zamkne nebo odemkne klávesnici:

scmxx --toggle-lock=CS

Zapne nebo vypne ochranu kodem PIN SIM karty:

scmxx --toggle-lock=SC --pin=XXXX

Nastavení času v telefonu ze systému

scmxx --set-time

Tak a teď se můžeme pustit do ovládání sms zpráv, telefonního seznamu atd.

Práce s telefonnímy seznamy:
Telefonních seznamů je v telefonu několik. Základní je seznam telefonních čísel na SIM kartě, dále pak adresář a seznamy volaných, zmeškaných nebo přijatých čísel a ještě mnohé další. Seznam čísel na SIM kartě je v telefonu označen SM, adresář VCF, tyto informace zjistíte --mem-info pokud je budete chtít vypsat na obrazovku nebo do souboru stačí zadat:

scmxx --get --pbook --mem=SM(VCF,RC,MC,...)--out=jmeno_souboru #(nebo jenom -- )

Kdybyste chtěli vypsat jenom určitý řádek tak se přidá parametr --slot=číslo. Pokud byste chtěli přidat záznam, tak stačí:

scmxx --send --pbook --mem=SM --number="123456987" --text="text záznamu"

a tento záznam se uloží na první volné místo v seznamu. Pokud byste chtěli nějaký záznam změnit, tak si zjistíte jeho číslo a potom:

scmxx --send --pbook --mem=SM --slot=číslo_záznamu --number="123456987" --text="text záznamu".

Obsluha SMS zpráv:

Posílání nové zprávy

scmxx --send --sms --direct --srr --text="text zprávy" --number="1235454"

kde --srr umožní, aby vám zpět přišla doručenka a --direct zamezí uložení zprávy do telefonu.

Čtení nepřečtených zpráv:

scmxx --get --sms --slot=unread --out=-

Čtení jednotlivých SMS:

scmxx --get --sms --mem=MT --slot=15 --out=-

zobrazí zprávu uloženou na patnáctém místě. Pokud bychom chtěli zprávy jenom z telefonu nebo ze SIM karty ta za --slot= dáme ME nebo SM.

Práce s binárními soubory:

Při práci s binárnímy daty je potřeba upřesnit, s čím chcete pracovat a to přes --mem= kde je možnost si vybrat z "bmp,mid a dalších voleb závislých na typu telefonu" poslání obrázku do telefonu provedeme takto:

scmxx --send --binary --mem="bmp" --slot=0 obrazek.bmp

pokud chcete opak, tak:

scmxx--get --binary --mem="bmp" --slot=0 --out=obrazek.bmp

stejně to funguje u ostatních formátů. Pouze u --slot="dir" dostanete místo obsahu adresářů v telefonu jenom jejich seznam.

Gscmxx je grafická nadstavba nad scmxx s domovskou stránkou http://gscmxx.sourceforge.net/ , ale je napsána pro scmxx 0.6.X a s novou verzí má problémy, protože se změnil formát přepínačů.

Přístup k adresářům a souborům v telefonu

Pokud chcete manipulovat s daty v telefonu, tak to scmxx bohužel neumí, ale existuje tu jiná možnost. A to, že si telefon prakticky přimountnete jako disk. Budete na to potřebovat dvě věci. V první řadě podporu filesystému, který je na telefonu což je siefs. Najdete ho na http://chaos.allsiemens.com/siefs/. Musíte si ho překompilovat pomocí trojkombinace configure, make, make install. A dále potřebujete modul fuse do svého jádra, který je na http://fuse.sourceforge.net/.

Např. debian ho má jako balíček, který si stáhnete a pomocí module-assistant překompilujete. Potom stačí už jenom si vytvořit někde na disku adresář a připojit si telefon na určené místo.

Mount -t siefs /dev/ttyUSB0 /mnt/siemens.

Samozřejmě si hned můžete přidat řádek do /etc/fstab, abyste nemuseli tolik psát.

Všechny zde popsané kousky jsem zkoušel na čtyřech telefonech Siemens a to na ME45,C55,M55 a M65. Byly mezi nimi nějaké odchylky (hlavně mezi řadou 45 a ostatními), ale nebyly velké.

Online verze článku: http://www.linuxsoft.cz/article.php?id_article=857