Debian Bluetooth: Unterschied zwischen den Versionen
Erich (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Erich (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
(8 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
==Allgemeines== | ==Allgemeines== | ||
Debian Linux bietet mit blue-z einen leistungsfähigen Bluetooth-Stack, der auch als Accesspoint dienen kann. Dabei spannt er ein sog. PAN (Personal Area Network) auf, bei dem der Linux-Server als NAP (Network Accesspoint) dient. Es gibt zahlreiche Handys, Smartphones und PDA's, die das PAN-Protokoll unterstützen und so eine Verbindung mit dem Accesspoint aufnehmen können. Mit diesen Endgeräten kann man dann im Internet surfen, Emails abrufen oder Termine und Kontakte synchronisieren (siehe auch [[ | Debian Linux bietet mit blue-z einen leistungsfähigen Bluetooth-Stack, der auch als Accesspoint dienen kann. Dabei spannt er ein sog. PAN (Personal Area Network) auf, bei dem der Linux-Server als NAP (Network Accesspoint) dient. Es gibt zahlreiche Handys, Smartphones und PDA's, die das PAN-Protokoll unterstützen und so eine Verbindung mit dem Accesspoint aufnehmen können. Mit diesen Endgeräten kann man dann im Internet surfen, Emails abrufen oder Termine und Kontakte synchronisieren (siehe auch [[Debian_Funambol|Funambol]]). | ||
Die Bluetooth-Geräte werden in eigenes IP-Subnetz - z.B. 192.168.1.0 - gelegt. Die IP-Adressen vergibt ein DHCP-Server für dieses Subnet. | Die Bluetooth-Geräte werden in eigenes IP-Subnetz - z.B. 192.168.1.0 - gelegt. Die IP-Adressen vergibt ein DHCP-Server für dieses Subnet. | ||
Zeile 10: | Zeile 10: | ||
==Installation== | ==Installation== | ||
apt-get install bluetooth bluez-utils | apt-get install bluetooth bluez-utils | ||
apt-get install apt-get install | apt-get install libdbus-1-dev | ||
apt-get install | apt-get install pkg-config | ||
apt-get install dhcp3-server | |||
Um Bluetooth-Geräte zu koppeln ist noch ein sog. Key-Agent erforderlich. Für KDE und Gnome stehen dafür graphische Tools zur Verfügung. Für einen Server ist allerdings ein Kommandozeilen-Tool erforderlich, das allerdings nur als C-Source_Code mit installiert wurde. Dieses wird im Folgenden compiliert und installiert. | Um Bluetooth-Geräte zu koppeln ist noch ein sog. Key-Agent erforderlich. Für KDE und Gnome stehen dafür graphische Tools zur Verfügung. Für einen Server ist allerdings ein Kommandozeilen-Tool erforderlich, das allerdings nur als C-Source_Code mit installiert wurde. Dieses wird im Folgenden compiliert und installiert. | ||
cd /usr/share/doc/bluez-utils/examples | cd /usr/share/doc/bluez-utils/examples | ||
Zeile 17: | Zeile 18: | ||
make | make | ||
cp passkey-agent /usr/bin/ | cp passkey-agent /usr/bin/ | ||
Mit folgendem Befehl können Informationen zum erkannten Bluetooth-Gerät (z.B. USB-Stick) abgerufen werden: | |||
hciconfig -a | |||
Es sollte die Bluetooth-Hardware-Adresse (BD-Address), der logische Name (diesen zeigen später zu koppelnde Geräte an), der Hersteller des Sticks, und weitere Informationen. | |||
==Konfiguration== | ==Konfiguration== | ||
Zeile 38: | Zeile 44: | ||
post-up iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE | post-up iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE | ||
post-up iptables -A FORWARD -i | post-up iptables -A FORWARD -i pan0 -o eth0 -j ACCEPT | ||
post-up iptables -A FORWARD -o | post-up iptables -A FORWARD -o pan0 -i eth0 -j ACCEPT | ||
iface bnep0 inet static | iface bnep0 inet static | ||
address 0.0.0.0 | address 0.0.0.0 | ||
netmask 255.255.255.240 | netmask 255.255.255.240 | ||
iface bnep1 inet static | iface bnep1 inet static | ||
address 0.0.0.0 | address 0.0.0.0 | ||
Zeile 50: | Zeile 56: | ||
Start/Stop-Script für Netzwerkbrücke: | Start/Stop-Script für Netzwerkbrücke: | ||
vi /etc/init.d/ | vi /etc/init.d/bridge_pan0 | ||
Folgende Zeilen einfügen: | Folgende Zeilen einfügen (den Eintrag '''''IPADDR''''' auf die IP-Adresse des Servers setzen) : | ||
#! /bin/sh | #! /bin/sh | ||
Zeile 58: | Zeile 64: | ||
NAME=pan0 | NAME=pan0 | ||
DESC=bridge | DESC=bridge | ||
IPADDR= | IPADDR='''''IP_des_Server''''' | ||
test -f $BRIDGECONTROL || exit 0 | test -f $BRIDGECONTROL || exit 0 | ||
Zeile 112: | Zeile 118: | ||
vi /etc/dhcp3/dhcpd.conf | vi /etc/dhcp3/dhcpd.conf | ||
Folgende Zeilen einfügen: | Folgende Zeilen einfügen: | ||
{{ | {{Hinweis| | ||
*'''''option domain-name-servers''''' auf den DNS-Server des Internet Routers setzen (hier 192.168.0.1) und '''''option domain-name''''' anpassen. | *'''''option domain-name-servers''''' auf den DNS-Server des Internet Routers setzen (hier 192.168.0.1) und '''''option domain-name''''' anpassen. | ||
*Hier wird das Subnet 192.168.1.0 für die Bluetooth Geräte verwendet. Falls dieses Subnet bereits anderweitig verwendet wird, entsprechend anpassen - z.B. 192.168.2.0. Dann alle folgenden Einträge, die mit 192.168.1 beginnen durch 192.168.2. ersetzen.}} | *Hier wird das Subnet 192.168.1.0 für die Bluetooth Geräte verwendet. Falls dieses Subnet bereits anderweitig verwendet wird, entsprechend anpassen - z.B. 192.168.2.0. Dann alle folgenden Einträge, die mit 192.168.1 beginnen durch 192.168.2. ersetzen.}} | ||
Zeile 129: | Zeile 135: | ||
/etc/init.d/bridge_pan0 start | /etc/init.d/bridge_pan0 start | ||
/etc/init.d/bluetooth restart | /etc/init.d/bluetooth restart | ||
Autostart der Netzwerkbrücke beim booten: | |||
update-rc.d bridge_pan0 defaults | |||
Aktuelle Version vom 19. Oktober 2009, 22:27 Uhr
Allgemeines
Debian Linux bietet mit blue-z einen leistungsfähigen Bluetooth-Stack, der auch als Accesspoint dienen kann. Dabei spannt er ein sog. PAN (Personal Area Network) auf, bei dem der Linux-Server als NAP (Network Accesspoint) dient. Es gibt zahlreiche Handys, Smartphones und PDA's, die das PAN-Protokoll unterstützen und so eine Verbindung mit dem Accesspoint aufnehmen können. Mit diesen Endgeräten kann man dann im Internet surfen, Emails abrufen oder Termine und Kontakte synchronisieren (siehe auch Funambol).
Die Bluetooth-Geräte werden in eigenes IP-Subnetz - z.B. 192.168.1.0 - gelegt. Die IP-Adressen vergibt ein DHCP-Server für dieses Subnet.
Voraussetzung: C-Compiler
Installation
apt-get install bluetooth bluez-utils apt-get install libdbus-1-dev apt-get install pkg-config apt-get install dhcp3-server
Um Bluetooth-Geräte zu koppeln ist noch ein sog. Key-Agent erforderlich. Für KDE und Gnome stehen dafür graphische Tools zur Verfügung. Für einen Server ist allerdings ein Kommandozeilen-Tool erforderlich, das allerdings nur als C-Source_Code mit installiert wurde. Dieses wird im Folgenden compiliert und installiert.
cd /usr/share/doc/bluez-utils/examples gunzip passkey-agent.c.gz make cp passkey-agent /usr/bin/
Mit folgendem Befehl können Informationen zum erkannten Bluetooth-Gerät (z.B. USB-Stick) abgerufen werden:
hciconfig -a
Es sollte die Bluetooth-Hardware-Adresse (BD-Address), der logische Name (diesen zeigen später zu koppelnde Geräte an), der Hersteller des Sticks, und weitere Informationen.
Konfiguration
vi /etc/default/bluetooth
Folgende Änderungen durchführen:
PAND_ENABLED=1 PAND_OPTIONS="--listen --role NAP --devup /etc/bluetooth/pan/dev-up --devdown /etc/bluetooth/pan/dev-down"
vi /etc/bluetooth/hcid.conf
Den Eintrag
lm accept;
erweitern in:
lm accept,master;
Bluetooth Netzwerk-Interfaces bnep0, bnep1,... und die Netzwerkbrücke pan0 definieren, der die die einzelnen Bluetooth Devices bnep0, bnep1, ... hinzugefügt werden:
vi /etc/network/interfaces
Folgende Zeilen ans Ende anfügen:
iface pan0 inet static address 192.168.1.1 netmask 255.255.255.240 post-up iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE post-up iptables -A FORWARD -i pan0 -o eth0 -j ACCEPT post-up iptables -A FORWARD -o pan0 -i eth0 -j ACCEPT iface bnep0 inet static address 0.0.0.0 netmask 255.255.255.240 iface bnep1 inet static address 0.0.0.0 netmask 255.255.255.240
Start/Stop-Script für Netzwerkbrücke:
vi /etc/init.d/bridge_pan0
Folgende Zeilen einfügen (den Eintrag IPADDR auf die IP-Adresse des Servers setzen) :
#! /bin/sh PATH=/sbin:/bin:/usr/sbin:/usr/bin BRIDGECONTROL=/usr/sbin/brctl NAME=pan0 DESC=bridge IPADDR=IP_des_Server test -f $BRIDGECONTROL || exit 0 set -e case "$1" in start) echo -n "Starting $DESC: " echo 1 > /proc/sys/net/ipv4/ip_forward $BRIDGECONTROL addbr $NAME >/dev/null 2>/dev/null ifconfig $NAME $IPADDR ifup $NAME /etc/init.d/dhcp3-server start >/dev/null echo "$NAME." ;; stop) echo -n "Stopping $DESC: " /etc/init.d/dhcp3-server stop >/dev/null ifdown $NAME $BRIDGECONTROL delbr $NAME echo "$NAME." ;; *) N=/etc/init.d/bridge_pan0 echo "Usage: $N {start|stop}" >&2 exit 1 ;; esac exit 0
Anlegen der Bluetooth Interface dev-up und dev-down Scripte:
mkdir /etc/bluetooth/pan vi /etc/bluetooth/pan/dev-up
Folgende Zeilen einfügen:
#!/bin/sh ifup $1 brctl addif pan0 $1
vi /etc/bluetooth/pan/dev-down
Folgende Zeilen einfügen:
#!/bin/sh brctl delif pan0 $1 ifdown $1
Scripte ausführbar machen:
chmod +x /etc/init.d/bridge_pan0 chmod +x /etc/bluetooth/pan/dev-up chmod +x /etc/bluetooth/pan/dev-down
DHCP-Server:
vi /etc/dhcp3/dhcpd.conf
Folgende Zeilen einfügen:
subnet 192.168.1.0 netmask 255.255.255.0 { interface pan0; range 192.168.1.10 192.168.1.25; option domain-name-servers 192.168.0.1; option domain-name "bluetooth.domain.org"; option routers 192.168.1.1; option broadcast-address 192.168.1.255; default-lease-time 600; max-lease-time 7200; }
Netzwerkbrücke und Bluetooth-Stack neu starten:
/etc/init.d/bridge_pan0 start /etc/init.d/bluetooth restart
Autostart der Netzwerkbrücke beim booten:
update-rc.d bridge_pan0 defaults
Endgeräte Koppeln
Damit Bluetooth-Geräte Zugriff auf den Accesspoint erhalten, müssen diese erst gekoppelt (Pairing) werden. Zu diesem Zweck dient oben compilierter passkey-agent. Der Code blue_key (numerisch, 4-8 stellig) muß am Server und Endgerät identisch sein.
passkey-agent --default blue_key
Am Endgerät eine suche nach Bluetooth geräten durchführen und mit dem Server koppeln. Das Endgerät verlangt nach einem Code. Hier den Code blue_key eingeben. Der Verbindung einen aussagekräftigen Namen geben - z.B. Server
Engerät konfigurieren
Die Konfiguration der Endgeräte variiert sehr stark, sodass diese hier nicht allgemeingültig erläutert werden kann. Hier eine kurze Anleitung für neuere Sony Ericcson Handys:
- Menü Einstellungen/Verbindungen aufrufen
- Interneteinstellungen anwählen
- Lokale Verb. zulassen: ein
- Verbinden mit:
- Option/Neues Konto
- GPRS-Verbindung
- Name: z.B. Bluetooth
- APN: unbedingt leer lassen, damit Bluetooth verwendet wird!
- Speichern
Funktionstest
Die Bedienung der Endgeräte variiert sehr stark. Deshalb evtl. in der Bedienungsanleitung des Gerätes nachsehen. Bluetooth-Verbindung mit dem gekoppelten Server aufbauen. Internet Browser öffnen. Verifizieren, dass als Verbindung die eben angelegte Bluetooth-Verbindung verwendet wird. Eine Seite wie z.B. www.google.de öffnen. Die Seite sollte sich fehlerfrei öffnen.