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.
Itse asensin Bluez-paketeista Debianiin vain bluez-utils ja libbluetooth1 -ohjelmat. Käänsin myös uuden 2.4.20 kernelin usb ja bluetooth -tuella.
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ä.
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.
Debianissa on valmiina pon-skripti, jolla yhteys luodaan ja poff-skripti, jolla yhteys katkaistaan. Muuta ei tarvita.
Oletuksena olevien tiedostojen /etc/chatscripts/provider ja /etc/ppp/peers/provider tilalla 'provider' voi käyttää mitä tahansa nimeä kuten dna, kun vaan muistaa muokata tiedoston /etc/ppp/peers/provider kohdan connect "/usr/sbin/chat -v -f /etc/chatscripts/provider" vastaavaksi. Tiedostot voi tehdä joko käsin tai pppconfig-ohjelmalla (toimii ainakin Debianissa).
Muuta AT-käsky ja puhelinnumero DNA:ta vastaavaksi.
# abortstring ABORT BUSY ABORT 'NO CARRIER' ABORT VOICE ABORT 'NO DIALTONE' ABORT 'NO DIAL TONE' ABORT 'NO ANSWER' ABORT DELAYED # modeminit "" AT+CGDCONT=1,"IP","internet" # ispnumber OK-AT-OK ATDT*99***1# # ispconnect CONNECT '' # postlogin '' \d\c
noauth connect "/usr/sbin/chat -v -f /etc/chatscripts/dna" debug /dev/rfcomm0 115200 defaultroute noipdefault usepeerdns persist
# lcp-echo-interval 30 # lcp-echo-failure 4
Jos unohdat kommentoida rivit pois, yhteys katkeaa kahden minuutin kuluttua :-/
Nimipalvelimia ei tarvitse määritellä, jos puhelimesi tukee 'usepeerdns' optiota (/etc/ppp/peers/dna-tiedostossa). Voit halutessasi myös kommentoida (#) ne pois (esim. # nameserver 192.168.0.1).
nameserver 217.78.192.78 nameserver 217.78.192.22
options ppp_async flag_time=0
Aja Debianissa update-modules, joka päivittää /etc/modules.conf-tiedoston (älä muokkaa tiedostoa suoraan!).
# BlueZ modules alias net-pf-31 hci_usb alias bt-proto-0 l2cap alias bt-proto-2 sco alias bt-proto-3 rfcomm alias bt-proto-4 bnep alias tty-ldisc-15 hci_uart alias char-major-10-250 hci_vhci
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
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
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
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
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";
}
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
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.
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')
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ä.
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
Copyright © 2003 Tapani Räikkönen. All rights reserved.