Huawei E220/E270

Linux.fista
Versio hetkellä 24. huhtikuuta 2008 kello 12.20 – tehnyt TJ (keskustelu | muokkaukset) (vielä hieman)
Siirry navigaatioon Siirry hakuun

Tämä sivu käsittelee Huawei E220/E270 USB-liitäntäisen 3G-kännykän/modeemin asennusta. Tätä tuotetta myy Saunalahti DataPaketti-liittymiensä mukana ja DNA:lta saa samaa laitetta Mokkula-nimisenä. Myös Soneralta laitteen saa paketoituna 3G-mobiililittymiin.

Laite näkyy USB:n yli samaan aikaan kolmena laitteena: CD-asemana (jolta löytyvät laitteen Windows-ajurit) ja kahtena USB-sarjaporttiadapterina. Ensimmäinen USB-sarjaporttiadapteri (laitetiedosto /dev/ttyUSB0) toimii perinteisen modeemin tai rfcomm:lla liitetyn kännykän tapaan, eli sillä voidaan "soittaa" ja yhdistää verkkoon. Toinen sarjaporttiliitäntä (ttyUSB1) taasen mahdollistaa laitteen seurannan ja ohjaamisen myös verkkoyhteyden ollessa käytössä.

Käyttöönotto

SIM-kortin PIN-koodin antaminen tuottaa ongelmia, joten koodin kysely on poistettava käytöstä. Käytä SIM-korttia normaalissa kännykässä ja käy turva-asetuksista poistamassa PIN-koodin kysely käytöstä. Sammuta puhelin ja laita SIM-kortti takaisin modeemiin ja kytke se uudelleen koneeseen. Alkuun laitteessa pitäisi välähtää vihreä ledi kahdesti kolmen sekunnin välein. Hetken päästä - jos kaikki meni hyvin - pitäisi laitteen päästä verkkoon, jolloin ledi välähtää vain kerran per sykli. Jos PIN-koodin kysely on käytössä, jää laite pysyvästi tuohon tuplavilkkumoodiin.

Tuoreet Linux-jakelut, kuten Ubuntu 8.04 LTS

Helpoin tapa muodostaa Internet-yhteys (PPP) modeemilla on käyttää wvdial-nimistä ohjelmaa. Asenna se oman jakelusi paketinhallinnasta ja tee sille seuraavanlainen asetustiedosto /etc/wvdial.conf:

[Dialer defaults]
Modem = /dev/ttyUSB0
Init = AT+CGDCONT=1,"IP","internet.saunalahti"
Phone = *99***1#
Stupid Mode = 1
Username = " "
Password = " "

Jos käytät muuta operaattoria kuin Saunalahti, kirjoitetaan yleensä "internet.saunalahti" sijaan vain "internet".

Tämän jälkeen Internet-yhteyden pitäisi olla käytettävissä suorittamalla komento wvdial. Esimerkiksi Gnomessa painamalla Alt-F2 ("Suorita sovellus") ja kirjoittamalla ikkunaan wvdial.

Jos kaikki meni hyvin, loistaa modeemin ledi yhtäjaksoisesti ja yhteydet toimivat.

Ongelmanratkaisu ja vanhemmat Linux-jakelut

Vanhemmilla Linux-jakeluilla käyttöönotto on hankalampaa ja vaatii monimutkaisempia toimenpiteitä. Vaatimuksena on ytimen versio 2.6.20 tai uudempi. Valitse ytimen asetuksista kohdasta Device Drivers -> USB support -> USB Serial Converter support -> seuraavat valinnat:

  • USB Serial Converter support (CONFIG_USB_SERIAL)
  • USB driver for GSM and CDMA modems (CONFIG_USB_SERIAL_OPTION)

Jos ytimesi käyttää moduuleja (mikä on yleistä), on moduulin nimi "option" ja se latautuu automaattisesti. Ajuripuoli onkin tämän jälkeen kunnossa ja laitetiedoston /dev/ttyUSB0 tulisi ilmestyä näkyviin, kun kytket modeemin USB-porttiin. Tässä saattaa tosin olla jopa noin minuutin viive. Jos laitetiedostoa ei tule näkyviin, saattaa kokoonpanosi vaatia pientä "puukotusta".

HUOM: Ubuntu 7.10:ssä olevilla ajureilla modeemi ei toimi oikein. Ongelma korjaantuu viimeistään versioon 8.04, jonka testiversiolla laite ei enää tunnistu CD-asemana, vaan oikeat laitetiedostot ilmestyvät jo muutaman sekunnin kuluessa laitteen kytkemisestä. 7.10:llä kannattaa kokeilla, jos http://oozie.fm.interia.pl/pro/huawei-e220 löytyvästä korjauksesta olisi apua.

Muodostetaan PPP-yhteys vastavaanlaisesti kuin edellisessä kappaleessa, käyttäen wvdial-nimistä ohjelmaa. Asenna se oman jakelusi paketinhallinnasta ja tee sille seuraavanlainen asetustiedosto /etc/wvdial.conf:

[Dialer defaults]
Modem = /dev/ttyUSB0
Init = AT+CGDCONT=1,"IP","internet.saunalahti"
Phone = *99***1#
Stupid Mode = 1
Username = " "
Password = " "

Stupid mode saa wvdialin käynnistämään pppd:n heti, kun yhteys on muodostettu, ilman sisäänkirjautumista. Käyttäjänimeä (username) ja salasanaa (Password) ei käytetä, mutta wvdial vaatii silti niiden määrittelyn. Init-komento täytyy ajaa vain kerran, sillä tehty asetus tallentuu pysyvästi modeemiin. Voit siis poistaa tuon Init-rivin asetustiedostosta heti ensimmäisen yhteydenoton jälkeen, silloin asetus on jo oletuksena oikein (joskaan ei uusiksi asettamisesta joka kerta varsinaisesti haittaakaan ole). Jos käytät muuta palveluntarjoajaa, vaihda kohdan internet.saunalahti tilalle palveluntarjoajasi APN (access point). Jos käytät Soneran 3G-yhteyttä, käytä seuraavia asetuksia

Init = AT+CGDCONT=1,"IP","internet"
Phone= *99#

Aidon, julkisen IP:n saat ainakin Soneralta asetuksella

Init = AT+CGDCONT=1,"IP","prointernet"

mutta tämä ei näyttäisi antavan mahdollisuutta päästää Internetistä tulevaa liikennettä sisäverkkoon. Jos joku tietää ratkaisun, jolla oma palvelin saadaan Internet-näkyväksi, tieto olisi varsin arvokas.

Nyt voit ottaa yhteyden komennolla wvdial. Jos kaikki meni hyvin, loistaa modeemin ledi yhtäjaksoisesti ja yhteydet toimivat. Jos modeemilta tuli viesti CONNECT, mutta pppd antaa vain virhekoodin, puuttuu ytimestä luultavasti PPP-tuki kokonaan tai PPP:n tuki async-sarjaporteille. Yleensä nuo löytyvät moduuleina jakeluiden oletusytimistä, mutta itse kääntäessä ne jäävät usein pois.

Laitteen tilasta kertova LED

  • Vihreä tuplavilkku: modeemi ei ole vielä saanut yhteyttä verkkoon
  • Yksittäinen vilkku: modeemi on verkossa, mutta tietokone ei käytä nettiyhteyttä
  • Jatkuvasti päällä: nettiyhteys käytössä

Lisäksi väri kertoo nopeuden:

  • Vihreä: GPRS/EDGE (max. 236 kbit/s, ping oletttavasti 600 ms tai enemmän)
  • Sininen: WCDMA (nk. normaali 3G, max. 384 kbit/s, ping 300+ ms)
  • Syaani: HSDPA (nopea 3G, max. 7,2 Mbit/s vastaanotto) ja E270:n kohdalla HSUPA (max. 2 Mbit/s lähetys), ping ~100 ms)

Laite näyttäisi automaattisesti vaihtavan WCDMA:lle aina, kun dataa ei liiku lainkaan. Jo hyvinkin pieni dataliikenne kuitenkin aiheuttaa vaihdoksen HSDPA-tilaan ja valitettavasti tilan vaihdosta aiheutuu lyhyt katkos. Kuitenkin jo pingin jättäminen taustalle pyörimään riittää pitämään modeemin pysyvästi HSDPA-tilassa.

Huawei E270 tukee sekä HSDPA:ta että HSUPA:aa, mutta E220 vain HSDPA:ta.

Edistyneet toimenpiteet

Automaattinen yhteydenotto

Ainakin liikkuvassa käytössä olisi toivottavaa, että modeemi ottaisi yhteyden automaattisesti, kun laite kytketään USB:n perään. Tämä onnistuu onneksi udevin avulla hyvin helposti. Luo tiedosto >/etc/udev/rules.d/99-wvdial.rules ja kirjoita sinne rivi

ACTION=="add", KERNEL=="ttyUSB0", RUN="/bin/sh -c wvdial&>/var/log/wvdial&"

Tämä udev-sääntö testaa (huomaa vertailuoperaattori ==) että ACTION on "add" (uusi laite lisätty) ja että ytimen laitteesta käyttämä nimi on "ttyUSB0". Tällöin asetetaan (huomaa sijoitusoperaattori =) ajettavaksi ohjelmaksi wvdial (shellin välityksellä).

Jos koneellasi on inotify käytössä (yleensä on), huomaa udev uuden tiedoston automaattisesti. Jos ei, anna komento udevadm control --reload_rules, Ubuntu- ja Debian-järjestelmissä udevcontrol reload_rules. Modeemi pitää joka tapauksessa irrottaa ja kytkeä takaisin, jotta lisätty sääntö aktivoituu. Yhteys katkaistaan irrottamalla laite USB:stä.

Laitteen kytkemisen jälkeen valitettavasti kuluu aina tuo 60 sekuntia ennen kuin sitä voi käyttää. Näyttäisi olevan ihan modeemin oma ominaisuus, sillä lsusb:llä katsoessa se näkyy alkuun ainoastaan CD-asemana ja vasta minuutin jälkeen ilmestyvät kaksi muutakin laitetta. Ilmeisesti tämä on tarpeen, jotta Windows suostuisi ottamaan CD-aseman käyttöön, eikä hämääntyisi liian monimutkaisesta USB-laitteesta. Toinen ongelma on, ettei laite tunnistu, jos se on valmiiksi kytketty ennen kuin udev ehtii mukaan (esim. lämmin bootti tai "suspend to RAM"). Kylmässä bootissa tuo 60 sekunnin viive kuitenkin on hyödyksi, sillä udev on jo käynnissä, kun laite lopulta tulee esiin. Nämä ongelmat voisi luultavasti kiertää paremmilla udev-säännöillä.

Puhelut ja tekstiviestit

Tulevaan puheluun voi vastata antamalla modeemille komennon ATA (esim. minicomilla), aivan kuten analogisilla modeemeilla aikoinaan, mutta en ole keksinyt miten ääntä saa ulos tai sisään - vastapuoli kuulee pelkkää hiljaisuutta. Myöskään soittaminen ei onnistu, ATD<puhelinnumero> aiheuttaa vastauksen "NO CARRIER". Tekstiviesteistä ei tule minkäänlaista merkkiä, pitääköhän niitä erityisesti kysyä tekstiviestikeskuksesta tms?

Katso myös

Aiheesta muualla