Matkapuhelin modeemina

Kohteesta Linux.fi
Loikkaa: valikkoon, hakuun

Matkapuhelinta voidaan käyttää modeemina, jos siinä on joko 3G-, EDGE- tai GPRS -valmius (myös vanhempia, näitä tukemattomia, matkapuhelimia voi käyttää, mutta yhteys on tällöin hyvin hidas). Yhteys voidaan luoda joko bluetoothin tai datakaapelin kautta. Yhteydenottoa varten tarvittavat ohjelmat tulevat useimpien jakeluiden mukana. Jos oppaassa käytettävät komennot eivät toimi (ohjelmia ei löydy), etsi paketinhallinnasta pakettia nimellä bluez-utils.

Testatut matkapuhelimet[muokkaa]

Pitäisi toimia kaikilla Nokian uudehkoilla puhelimilla jotka saa USB:llä tai Bluetoothilla kiinni.

  • HTC Hero, datakaapeli (USB)
  • Nokia 2720 fold, bluetooth
  • Nokia 2730 classic, datakaapeli (USB), bluetooth
  • Nokia 5500 Sport, bluetooth
  • Nokia 6110 Navigator, bluetooth, DKE-2 datakaapeli
  • Nokia 6120 Classic, bluetooth
  • Nokia 6121 classic, DKE-2 datakaapeli (USB)
  • Nokia 6151, CA-53 datakaapeli (USB)
  • Nokia 6630, bluetooth
  • Nokia 6680, bluetooth
  • Nokia 6760 slide, datakaapeli (USB)
  • Nokia 6822, CA-42 datakaapeli (USB) (bluetoothilla epäonnistui)
  • Nokia 9300, bluetooth
  • Nokia C6-00 bluetooth
  • Nokia E61i, datakaapeli (USB)
  • Nokia E71, bluetooth (ongelmia pitkäaikaisessa yhteydessä, yhteys katkeaa 2-3h sisällä), datakaapeli (USB)
  • Nokia E61, datakaapeli (USB)
  • Nokia E65, bluetooth
  • Nokia N70, CA-53 datakaapeli (USB) & bluetooth
  • Nokia N73, bluetooth
  • Nokia N80, bluetooth
  • Nokia N82, datakaapeli (USB)
  • Nokia E90, bluetooth
  • Nokia N95 (myös 8GB versio), datakaapeli (USB) & bluetooth
  • Sony Ericsson k550i, bluetooth
  • Sony Ericsson Z530i, DCU-60 datakaapeli (USB)
  • Sony Ericsson w660i, bluetooth
  • ZTE Blade, datakaapeli (USB)

Testatut GPRS-sovittimet[muokkaa]

NetworkManager[muokkaa]

NetworkManagerin uusimmat versiot mahdollistavat matkapuhelimen tai 3G-modeemin käytön graafisen hallinnan. Tätä kannattaa kokeilla ensimmäisenä.

NetworkManagerin valikosta löytyy tällöin joko kännykän/modeemin laitenimi tai "mobiililaajakaista" ym valinta, jonka avulla yhteyden asetukset voi määrittää. Tarkka tapa vaihtelee riippuen NetworkManagerin versiosta.

Bluetooth[muokkaa]

Parita ensin puhelin tietokoneen kanssa. (Nokia N70: yhdeydet –> bluetooth –> laiteparit –> lisää uusi laite). Parituksen epäonnistuminen saattaa johtua ISCAN:n puuttumisesta. Homman voi tarvittaessa korjata näillä komennoilla (pääkäyttäjän oikeuksilla):

hciconfig hci0 down
hciconfig hci0 up PISCAN

Jos käytät esimerkiksi openboxia, kannattaa käynnistää esimerkiksi bluetooth-applet ja stalonetray, niin saat parituksen toimimaan.

Ja sitten asiaan.

Ensiksi pitää selvittää mikä on matkapuhelimen MAC-osoite. Aja komento

hcitool scan

Joka tulostaa esimerkiksi seuraavaa:

00:15:A0:7A:1D:5A       Epelin N70

Tässä 00:15:A0:7A:1D:5A on puhelimen mac-osoite. Laita se muistiin.

Seuraavaksi pitää selvittää, mitä kanavaa kännykän modeemi(RFCOMM) käyttää:

sdptool browse 00:15:A0:7A:1D:5A

Komento tulostaa listan eri ominaisuuksista joita puhelimessa on. Etsi kohta Dial-Up Networking.

Service Name: Dial-Up Networking
Service RecHandle: 0x1000f
Service Class ID List:
  "Dialup Networking" (0x1103)
Protocol Descriptor List:
  "L2CAP" (0x0100)
  "RFCOMM" (0x0003)
    Channel: 3
Language Base Attr List:
  code_ISO639: 0x454e
  encoding:    0x6a
  base_offset: 0x100
Profile Descriptor List:
  "Dialup Networking" (0x1103)
    Version: 0x0100

Tässä tapauksessa kanava on siis kolme.

Dialup Networking -kanavan voi etsiä myös suoraan seuraavalla komennolla:

 sdptool search --bdaddr 00:15:A0:7A:1D:5A dun | grep -i channel

Komennon pitäisi kanavan numero yhdellä tekstirivillä:

    Channel: 3

Bluetooth-asetukset[muokkaa]

Muokkaa tiedosto /etc/bluetooth/rfcomm.conf vastaavaksi tämän kanssa:

rfcomm0 {
# Ota laite automaattisesti käyttöön käynnistyksen yhteydessä
bind yes;
#
# Puhelimen mac-osoite
device 00:15:A0:7A:1D:5A;
#
# # RFCOMM kanava
channel 3;
#
# Yhteyden kuvaus
comment "Nokia N70";
}

Tämän jälkeen käynnistä bluetooth-palvelu uudestaan:

/etc/init.d/bluetooth restart

Yhteysasetukset[muokkaa]

Tehdään esimerkkinä asetukset Saunalahtea varten. Alempana lista muiden operaattoreiden asetuksista. Muille operaattoreille asetuksia voi etsiä vaikka tästä Ubuntu Suomen keskustelualueiden viestiketjusta.

Yhteysasetukset tulevat hakemistoon /etc/ppp/peers/. Luo esimerkiksi tiedosto /etc/ppp/peers/saunalahti ja laita sinne seuraavat asetukset (Saunalahden liittymälle). Käy tiedosto läpi ja muuta sinne tarvittavat kohdat itsellesi sopiviksi (esim. käyttäjätunnus, salasana ja polut).

# Most GPRS phones don't reply to LCP echo's
lcp-echo-failure 0
lcp-echo-interval 0
# Keep pppd attached to the terminal:
# Comment this to get daemon mode pppd
nodetach
# Debug info from pppd:
# Comment this off, if you don't need more info
debug
# Show password in debug messages
show-password
# Connect script:
# scripts to initialize the GPRS modem and start the connection,
connect /etc/ppp/saunalahti-connect-chat
# Disconnect script:
# AT commands used to 'hangup' the GPRS connection.
disconnect /etc/ppp/saunalahti-disconnect-chat
# Serial device to which the GPRS phone is connected:
# HUOM! Ota komentti pois sen kohdalta kumpaa yhteystapaa haluat käyttää.
#/dev/ttyACM0    # Datakaapeliyhteys
#/dev/rfcomm0      # Bluetoothyhteys
# Serial port line speed
115200  # fast enough
#57600
# Hardware flow control:
# Use hardware flow control with cable, Bluetooth and USB but not with IrDA.
crtscts  # serial cable, Bluetooth and USB, on some occations with IrDA too
#nocrtscts # IrDA
# Ignore carrier detect signal from the modem:
local
# IP addresses:
# - accept peers idea of our local address and set address peer as 10.0.0.1
# (any address would do, since IPCP gives 0.0.0.0 to it)
# - if you use the 10. network at home or something and pppd rejects it,
# change the address to something else
0.0.0.0:0.0.0.0
# pppd must not propose any IP address to the peer!
noipdefault
# Accept peers idea of our local address
ipcp-accept-local
# Add the ppp interface as default route to the IP routing table
defaultroute
# DNS servers from the phone:
# some phones support this, some don't.
usepeerdns
# ppp compression:
# ppp compression may be used between the phone and the pppd, but the
# serial connection is usually not the bottleneck in GPRS, so the
# compression is useless (and with some phones need to disabled before
# the LCP negotiations succeed).
novj
nobsdcomp
novjccomp
nopcomp
noaccomp
noccp
# The phone is not required to authenticate:
noauth
# Username and password:
# If username and password are required by the APN, put here the username
# and put the username-password combination to the secrets file:
# /etc/ppp/pap-secrets for PAP and /etc/ppp/chap-secrets for CHAP
# authentication. See pppd man pages for details.
user "none"
password 12346
#
mtu 1500
mru 1500
asyncmap 0xa0000

Luodaan seuraavaksi skripti, joka luo yhteyden. Varmistu että yhteysasetustiedostossa on oikeat polut tähän. Luo tiedosto /etc/ppp/saunalahti-connect-chat seuraavalla sisällöllä (tiedostonimen alkuosassa on siis yhteyden nimi:

#!/bin/sh
exec /usr/sbin/chat                                     \
        TIMEOUT         5                               \
        ECHO            ON                              \
        ABORT           '\nBUSY\r'                      \
        ABORT           '\nERROR\r'                     \
        ABORT           '\nNO ANSWER\r'                 \
        ABORT           '\nNO CARRIER\r'                \
        ABORT           '\nNO DIALTONE\r'               \
        ABORT           '\nRINGING\r\n\r\nRINGING\r'    \
        ''              AT                              \
        OK              ATH                             \
        OK              ATE1                            \
        OK              'AT+CGDCONT=1,"IP","internet","0.0.0.0",0,0' \
        OK              ATD*99#                         \
        TIMEOUT         22                              \
        CONNECT         ""


Luodaan myös vastaavasti skripti, jolla yhteys katkaistaa tiedostoon /etc/ppp/saunalahti-disconnect-chat, ja lisätään sinne seuraavat rivit:

#!/bin/sh
exec /usr/sbin/chat -V -s -S \
ABORT "BUSY" \
ABORT "ERROR" \
ABORT "NO DIALTONE" \
SAY "\nSending break to the modem\n" \
"" "K" "" "K" "" "K" "" \
"+++ATH" "" "+++ATH" "" "+++ATH"

Anna seuraavaksi tiedostoille suoritusoikeudet:

chmod +x /etc/ppp/saunalahti-*

Muut operaattorit[muokkaa]

Yhdistäminen[muokkaa]

Lopuksi yhteyden voi luoda komennolla:

pon saunalahti

Ja sitten surffaamaan :)

Surffaamisen voi lopettaa oikeaoppisesti toisessa päätteessä komennolla:

poff saunalahti

Sana "saunalahti" tulee /etc/ppp/peers/ -hakemistoon tallennetun tiedoston mukaan. Ctrl+c:llä voi myös katkaista yhteyden. Kännykän (ainakin Nokia N70) Connection managerilla, joka näyttää mm. senhetkiset yhteysnopeudet ja siirretyn datamäärän, voi seurata yhteyden käyttöä.

Fedorassa (ainakin 8) pon ja poff skriptit ovat hakemistossa /usr/share/doc/ppp-2.4.4/scripts/ ja peräisin paketista ppp (tarkista sijainti komennolla rpm -ql ppp | grep poff. Ne kannattaa kopioida vaikka /usr/local/bin-hakemistoon ja antaa niille suoritusoikeus (chmod +x ...).

Katso myös[muokkaa]

Linkkejä ja lähteet[muokkaa]