Přihodilo se nám zajímavé setkání s „GSM kartou“ Sierra MC7890 (MiniPCI-e). Podobně se chovají další výrobky Sierra Wireless (čipsety/moduly).
Modul MC7890 je založený na čipsetu MSM6290. Patří mezi čipsety a moduly Sierra, které podporují dva styly komunikace na USB: „legacy“ a „direct IP“ (modernější hardware Sierra umí ještě třetí variantu, zvanou QMI).
Modul v režimu „legacy“ ukazuje na USB sběrnici jiný USB PID než v režimu „Direct IP“. Přepnout režim (a PID) lze privilegovaným AT příkazem (a restart).
Zdá se, že nejnovější dostupné verze driverů pro Windows počítají spíše s režimem „Direct IP“ - staré drivery podporovaly PID 683C, nové drivery podporují PID 68A3. Liší se i struktura navazujících ovladačů pro jednotlivé „virtuální funkce“ složeného USB zařízení, které modul Sierra ukazuje na USB sběrnici.
Zajímavá vlastnost Sieřřího USB je, že PIDy nejsou identifikátorem konkrétního modelu čipsetu či modulu, ale indikátorem použitého protokolu. Čili ovladače vlastně nejsou pro konkrétní model hardwaru, ale pro používanou variantu prezentovaného USB rozhraní. Ovladače pro Windows (a Linux apod.) jsou tedy do značné míry nezávislé na konkrétním hardwaru Sierra, a starší hardware lze s trochou štěstí zprovoznit s aktuálnějšími ovladači.
Nám dodané kusy MC7890 jsou patrně stará skladová zásoba, modul byl nový někdy v roce 2008, teď už je pár let „EOL“, Sierra už pro něj nemá na webu firmware a nezmiňuje pro něj aktuální driver. ATI3 hlásí nejnovější firmware (co se různě válí po webu u třetích stran) a rok výroby 2010. Druhá věc je, že MC7890 je OEM produkt, počítá se s tím, že si výrobce počítače nebo GSM operátor pro modul dosochá firmware i driver (na základě polotovaru od firmy Sierra). Přesto jsou na trhu k vidění značně „vanilkové“ skladové zásoby (patrně staré přebytky).
Nám dodané moduly byly od přírody v režimu Legacy. V zájmu kompatibility s novějšími drivery má smysl, přepnout je do režimu „Direct IP“.
Vedle přepnutí režimu (legacy / Direct IP) lze konfiguračně pomocí privilegovaných příkazů měnit sadu rozhraní / vlastností / frekvenčních pásem, které modul podporuje - například:
Do privilegovaného režimu je třeba se dostat pomocí „tajného hesla“, které je údajně OEM-specific, reálně často funguje řetězec A710 (patrně vanilkové heslo):
AT!ENTERCND="A710"
Hrst potenciálně zajímavých nastavení:
AT!CUSTOM? AT!CUSTOM=?
Konkrétně může být zajímavé, jaký je nastavený region. Toto nastavení má vliv na frekvenční pásma a možná i další vlastnosti. Význam kódů:
01 Evropa (a zbytek světa) 02 Severní Amerika 03 Austrálie 04 Japonsko
Vhodné nastavení pro nás (u Sierry možná tovární) je
AT!CUSTOM="PRLREGION",01
existují dvě možnosti, údajně ne všechny fungují správně na všem hardwaru:
AT+CFUN=1 (může taky znamenat "radio on", AT+CFUN=0 = "radio off") AT!RESET
Pokud AT+CFUN=1 zasekne modem, někdy zabírá AT!GRESET.
AT!UDINFO? = ukaž aktuální PID AT!UDPID? = ukaž aktuální PID AT!UDPID=? = jaké PIDy tento hardware podporuje?
AT!UDPID=683C = použij PID pro legacy režim AT!UDPID=68A3 = použij PID pro Direct IP
(AT!RESET)
AT!UDUSBCOMP? AT!UDUSBCOMP=? AT!UDUSBCOMP=<volba> (v režimu Direct IP nezní špatně volba 3)
AT!RESET
Mělo by fungovat v legacy i „direct IP“ režimu.
AT!CUSTOM="GPSENABLE",1 = GPS zapnout AT!CUSTOM="GPSENABLE",0 = GPS vypnout AT!GSTATUS?
Pokud chcete GPS, je také návazně třeba, povolit výstup GPS v množině rozhraní na USB. A další věc je, že zapnutí/vypnutí GPS v modulu Sierra může přečíslovat COM porty pod Windows, protože NMEA výstup je taky jenom virtuální USB COM port. Toto a další poznámky (testování GPS) najdete v „dalším čtení“,
AT!CUSTOM="USBMSENABLE",1 = mass storage zapnout AT!CUSTOM="USBMSENABLE",0 = mass storage vypnout
AT!CUSTOM="USBDMDISABLE",1 = diag.int. vypnout AT!CUSTOM="USBDMDISABLE",0 = diag.int. zapnout
něco je v hardwaru natvrdo, něco se dá ovládat / maskovat. Problematiky se týkají příkazy
AT!BAND? AT!BAND=?
(podporované množiny záleží na regionu.)
AT!GBAND? AT!GBAND=?
AT!GBAND=0002000000400000 (pouze příklad syntaxe, nepoužívejte bez rozmyslu!)
AT!GBAND=0002000004400000,0000000000000004 (opět pouze příklad)
AT!BAND=00 (?? tohle přece nepracuje přímo s maskami! ??)
Nastavení pásem a masky rozdrbe software AirCard Watcher. Podrobnosti opět http://whirlpool.net.au/wiki/sierra_advanced
AT!SELRAT? AT!SELRAT=?
AT!CUSTOM="STARTLPM",1 = zapnout = snížit TX výkon AT!CUSTOM="STARTLPM",0 = vypnout = normální chování TX
(a následně restart modemu/modulu)
Home network ID dané SIM karty je prvních 5 čísel IMSI:
AT+CIMI
AT^SYSCONFIG=16,3,1,4
AT^SYSCONFIG=16,3,0,4
Nahodit Direct IP session přes AT příkaz:
AT!SCACT=1,<profile> (kde <profile> resp. <cid> je číslo APN profilu)
APN profil musí být napřed nastaven - toho se týkají příkazy AT!SCPROF, AT+CGDCONT, AT$QCPDPP.
V rámci GPRS profilů / CIDů lze přes AT příkazy nastavit styl autentikace.
Je to na delší povídání, kdyžtak
http://whirlpool.net.au/wiki/sierra_advanced
nadpis „Connection Settings Demystified“ Pokud to nastavíte přes AT příkazy, opět do toho může drbat „Watcher“.
Pokud to budete zkoušet, pozor: když vypadnete z Watcheru, watcher na modemu vypne rádio (AT+CFUN=0) - je třeba ho znovu ručně zapnout (AT+CFUN=1). Že máte rádio vypnuté, poznáte podle AT+CSQ=99,99 (nesmysly) a podle AT+CREG=2,2 (hledá síť) a AT+CGREG=2,2 (hledá síť) a AT+CGATT a AT+CGACT odmítají fungovat…
Taky nezapomeňte, že po resetu modemu musíte v terminálové relaci znovu zadat „privilegované heslo“ (AT!ENTERCND=„A710“), jinak Vám půlka „vykřičníkových“ příkazů nebude fungovat.