Bluetooth ja gprs

Johdanto

Itse olen kokeillut bluetooth + gprs -yhteyttä Debian Woodyssa halvimmalla mahdollisella Epox-sovittimella (n. 50 euroa) ja Ericssonin T68i puhelimella. Ohjeet olen pyrkinyt tekemään mahdollisimman selkeiksi ja yksinkertaisiksi ja yhteyden muodostukseen olen käyttänyt Debianin pon-skriptiä.

Uskoisin ohjeistani olevan erityisesti hyötyä niille, jotka haluavat vaihtaa modeemiyhteyden edulliseen DNA:n bluetooth + gprs -yhteyteen.

Ohjelmien asennus

Tarvittavat paketit

Itse asensin Bluez-paketeista Debianiin vain bluez-utils ja libbluetooth1 -ohjelmat. Käänsin myös uuden 2.4.20 kernelin usb ja bluetooth -tuella.

Näin minä sen tein

Otin koneesta, jolla tarvitaan bluetoothia, kiintolevyn toiseen koneeseen, jossa on kiinteä nettiyhteys, ja asensin levylle Debian Woodyn ja hain uusimman vakaan kernelin linux-2.4.20.tar.gz sivun http://www.kernel.org/ linkeistä. Samoin hain kerneliin bluetooth-päivityksen patch-2.4.20-mh5.gz sivulta http://www.holtmann.org/linux/kernel/. Sitten käänsin kernelin toiselle koneelle optimoiduksi (siis koneelle, jossa kokeilin bluetoothia) usb- ja bluetooth-tuella.

Seuraavassa kääntämäni kernelin konfigurointitiedoston bluetooth- ja usb-sektiot:

#
# USB support
#
CONFIG_USB=y
# CONFIG_USB_DEBUG is not set
#
# Miscellaneous USB options
#
CONFIG_USB_DEVICEFS=y
# CONFIG_USB_BANDWIDTH is not set
CONFIG_USB_LONG_TIMEOUT=y
#
# USB Host Controller Drivers
#
# CONFIG_USB_EHCI_HCD is not set
CONFIG_USB_UHCI_ALT=y
# CONFIG_USB_OHCI is not set
#
# Bluetooth support
#
CONFIG_BLUEZ=m
CONFIG_BLUEZ_L2CAP=m
# CONFIG_BLUEZ_SCO is not set
CONFIG_BLUEZ_RFCOMM=m
CONFIG_BLUEZ_RFCOMM_TTY=y
# CONFIG_BLUEZ_BNEP is not set
#
# Bluetooth device drivers
#
CONFIG_BLUEZ_HCIUSB=m
CONFIG_BLUEZ_USB_ZERO_PACKET=y
# CONFIG_BLUEZ_HCIUART is not set
# CONFIG_BLUEZ_HCIVHCI is not set

Lisäksi välttämätön valinta kernelin käännössä on "PPP support for async serial ports":

CONFIG_PPP_ASYNC=m

Katso myös ohjeeni kernelin kääntämisestä.

Bluetooth-ohjelmien asennus

Tarvittavat ohjelmat löytyvät sivulta http://bluez.sourceforge.net/download/download.html sekä lähdekoodina että rpm- tai deb-paketteina.

Itse olin lisännyt Debianissa /etc/apt/sources.list-tiedostoon rivit

deb http://bluez.sourceforge.net/download/debian/woody/ ./
deb-src http://bluez.sourceforge.net/download/debian/woody/ ./

Käskyllä apt-cache search bluez* näkee Debianissa, mitä bluetooth-paketteja on saatavilla. Asensin käskyllä apt-get install bluez-utils tarvittavat paketit, joita olivat bluez-utils ja libbluetooth1. Muita en itse tarvinnut. Katso Packages-listasta, tarvitsetko itse myös muita paketteja.

Skripti yhteyden muodostamiseen

Debianissa on valmiina pon-skripti, jolla yhteys luodaan ja poff-skripti, jolla yhteys katkaistaan. Muuta ei tarvita.

Tiedostojen muokkaus DNA-yhteydelle sopiviksi

Yhteyden testaus

Tarkista, että tarvittavat moduulit on ladattu!

Kirjoita konsolissa superuserina (su) lsmod, nin näet ladatut moduulit:

l2cap                  17408   1  (autoclean)
bluez                  35048   1  (autoclean) [l2cap]
usbcore                76992   1 

Koska tarvittavia bluetooth-ajureita ei tässä tapauksessa ollut ladattu, niin ne pitää ladata käsin:

# modprobe hci_usb
# modprobe usb-uhci
Bluetooth-ohjelman käynnistys

BlueZ käynnistetään kirjoittamalla: /etc/init.d/bluez-utils start. Nyt pitäisi ruudulle ilmestyä teksti: Starting bluez-utils: hcid. Ohjelma lopetetaan käskyllä /etc/init.d/bluez-utils stop

Sovittimen testaus

Kokeile seuraavaksi, että bluetooth-sovitin toimii kirjoittamalla: hciconfig. Näytölle pitäisi tulla seuraavanlaista tekstiä:

# hciconfig 
hci0:   Type: USB 
        BD Address: 00:08:1B:00:1B:E7 ACL MTU: 192:8  SCO MTU: 64:8
        UP RUNNING PSCAN ISCAN 
        RX bytes:0 acl:0 sco:0 events:0 errors:0
        TX bytes:0 acl:0 sco:0 commands:0 errors:0
Yhteyden skannaus

Seuraavaksi skannataan yhteys puhelimen ja sovittimen (dongle) välille kirjoittamalla hcitool scan (puhelin pitää olla haettavissa!):

# hcitool scan
Scanning ...
        00:80:37:55:B3:07     T68i 
Rfcomm-tiedoston muokkaus

Huom. Kirjoita skannauksessa saamasi osoite, joka on sovittimen oma kiinteä osoite /etc/bluetooth/rfcomm.conf-tiedostoon! Muokkaa myös muut tarvittavat kohdat oikeiksi.

#
# RFCOMM configuration file.
#
# $Id: rfcomm.conf,v 1.1 2002/10/07 05:58:18 maxk Exp $
#
rfcomm0 {
  # Automatically bind the device at startup
  bind yes;
  # Bluetooth address of the device
  device 00:80:37:55:B3:07;
  # RFCOMM channel for the connection
  channel 1;
  # Description of the connection
  comment "Ericsson T68i  Bluetooth device";
}
Bind

Seuraavaksi sidotaan yhteys puhelimen ja sovittimen välillä:

# rfcomm bind /dev/rfcomm0 00:80:37:55:B3:07

Koska Bluetooth-laitteen osoite on kirjoitettu edellä valmiiksi /etc/bluetooth/rfcomm.conf-tiedostoon, niin voit kirjoittaa em. bind-käskyn myös lyhyesti:

# rfcomm bind rfcomm0

Jos haluat peruuttaa sitomisen, niin kirjoita:

# rfcomm release rfcomm0
Yhteyden muodostaminen

Sitten muodostetaan yhteys pon-ohjelmalla: # pon dna

Jos olisimme käyttäneet oletuksena olevia /etc/chatscripts/provider ja /etc/ppp/peers/provider -nimisiä tiedostoja, niin pelkkä # pon olisi riittänyt yhteyden muodostamiseen ja # poff yhteyden katkaisemiseen.

Bluetooth-yhteyden käyttö

Jos tarvittavat moduulit on ladattu /etc/modules.conf-tiedostossa, niin ainoastaan seuraavat vaiheet tarvitaan yhteyden muodostamiseen:

$ /etc/init.d/bluez-utils start
        Starting bluez-utils: hcid
$ hcitool scan
Scanning ...
        00:80:37:55:B3:07     T68i 
# rfcomm bind rfcomm0
# pon dna
(yhteyden katkaisu 'poff dna')

Muiden asennuskokemuksia

Hyvä selonteko Bluetooth + GPRS -yhdistelmän asennuksesta Debianiin löytyy linkistä http://www.hut.fi/u/kehannin/bluetooth/bluetooth.html.

Sivulla http://kotinetti.suomi.net/mcfrisk/linux_gprs.html on vielä sitäkin yksityiskohtaisempi ohje asennuksesta Red Hatiin (gprs + Bluetooth, IrDA, sarjakaapeli). Sivuilla on myös neuvottu kuinka rfcomm bind rfcomm0 -vaiheen voi automatisoida (Debianissa lisäämällä rfcomm bind all -käskyn tiedoston /etc/init.d/bluez-utils start-funktion loppuun ja rfcomm release all -käskyn stop-funktion loppuun), ks. em. sivun malliesimerkki. Bluetooth-yhteyden voi käynnistää automaattisesti koneen käynnistymisen yhteydessä, tekemällä symbolisen linkin bluetooth-skriptin ajotason (run level) hakemistosta bluetooth-käynnistysskriptille.

Katso myös omat ohjeeni, joissa olen käyttänyt Gprs-skriptiä.

Lopuksi

Sivulla saattaa olla edelleen virheitä (pahoittelen) ja olen testannut eri asennusvaiheet vain Debian Woodyssa enkä takaa, että kaikki toimisi samalla tavalla RH-pohjaisissa distroissa. Jos löydät virheitä sivultani tai sinulla on vinkkejä, miten jonkin asian voisi tehdä yksinkertaisemmalla tavalla, olisin kiitollinen tiedosta :)

Päivitetty viimeksi: 4.7.2004

Windowsista Linuxiin abc!