Bluetooth - Support fr Bluetooth-Gerte

BlueZ-Konfiguration

	Dieses Paket stellt die Treiber und Module der Bluetooth
	Untersttzung zur Verfgung.
	Die Beschreibung der Applikationen erfolt weiter unten (ab Zeile 113).
	
	Es gibt drei Reichweiten-Klassen:
	I = ca. 100m, II = ca. 20m, III = ca. 3-5m
	Die am meisten verbreiteste ist z.Z. Klasse II.
	Wobei bezglich der Reichweite die gleichen Einschrnkungen wie bei WLAN gelten.
	
	In den Bluetooth-Spezifikationen sind strke Verschlsselungen als in WLAN
	(802.11 und folgende) enthalten. Es soll angeblich nicht so einfach zu 
	knacken sein wie WLAN. Zudem wechselt bis zu 1600/Min. die Frequenz. 
	Eine Garantie gibt es dafr aber nicht!!
	Tatschlich wurden auch schon Bluetooth-Verbindung geknackt, diese waren
	jedoch bislang auf Implementations-Fehler zurckzufhren, bzw. waren dies
	speziell angepasste Bluetooth-Firmware von CSR (Cambridge Silicon Radio - 
	einer der hauptschlichen Hersteller von Bluetooth-Chips).

	Was es vermutlich in nchster Zeit NICHT geben wird, ist drucken ber
	Bluetooth. Problem daran ist, dass dies z.Z nur ber die Entwickler-Version 
	der CUPS-Drucker-Suite in Verbindung mit Samba mglich ist. 
	Und ein OPT_CUPS gibt es bis jetzt nicht, geschweige den eine Integration 
	in OPT_SAMBA_LPD. Dies sind aber auch Funktionen, die auf einem Router 
	eigentlich nichts zu suchen haben. 

OPT_BLUEZ
	Hier wird die Untersttzung fr den Bluetooth-Stack "BlueZ" aktiviert.
	Es gibt noch einen weiteren Bluetooth-Stack names "AXIS". Dieser wird 
	jedoch durch das OPT_USB zur Verfgung gestellt.
	Es gibt zur Zeit das Problem, dass im Kernel zwei Stacks vorhanden sind,
	aber nur immer EINER geladen sein darf.
	"AXIS" wird nur noch leidlich weiterentwickelt, der Stack der Wahl ist 
	der "BlueZ". Dieser befindet sich in sehr aktiver Entwicklung und unter-
	sttzt PAN und RFCOMM. Erklrung dazu weiter unten.
	Ein weiteres, Fli4l spezifisches, Problem ist, dass es zur Zeit 
	(05.11.2003) keine Auswahlmglichkeit im OPT_USB fr den "AXIS"-Stack 
	gibt, daher kann ich in meinem Skript nicht darauf reagieren und keine 
	Fehlermeldung generieren.
	Daher muss selbst darauf geachtet werden, wenn ein neues OPT_USB erscheint,
	dass der "AXIS"-Stack nicht geladen wird (in opt/usb.txt - "bluetooth.o").
	Im jetzigen OPT_USB wird es nicht geladen (Stand: Oktober 2004).
	
	WICHTIG!!!
	Wird ein USB-Stick benutzt, darf NICHT 'uhci' als USB-Treiber benutzt werden.
	Bitte in diesem Fall den 'usb-uhci'-Treiber benutzen. Der 'uhci' ist ein
	alternativer Treiber, mit dem es allerdings unter Bluetooth Schwierigkeiten
	gibt (nur kurzfristige unstabile Verbindungen).

	Standard-Einstellung:  OPT_BLUEZ='no'

BLUEZ_ESSID
	Der Name mit dem der Bluetooth-Daemon sich meldet.
	
	Standard-Einstellung:  BLUEZ_ESSID='bluetooth'

BUEZ_PIN
	Hier wird der PIN eingestellt, den Client's bei der 
	Verbindungsanfrage eingeben mssen. 
	
	Es drfen keine Leerzeichen enthalten sein.
	Zur Erhhung der Sicherheit sollten Buchstaben- 
	(gemischte Gro-/Kleinschreibung )und Zahlenkombinationen
	benutzt werden.
	
	Standard-Einstellung:  BLUEZ_PIN='key eintragen'

BLUEZ_PIN_SAVE_KEY 
	Sollen die bereits eingegebenen Schlssel gesichert und
	nach dem Neustart wieder hergestellt werden?

	Standard-Einstellung:  BLUEZ_PIN_SAVE_KEY ='no'

BLUEZ_PIN_SAVE_KEY_PATH		
	Hier wird der Pfad zur Sicherung eingestellt. Muss natrlich
	'rw' gemountet sein! Sollte der Pfad nicht existieren, wird
	er angelegt.

	Standard-Einstellung:  BLUEZ_PIN_SAVE_KEY_PATH='/boot'

BLUEZ_AUTH_ENABLE
	enable/disable authentification, for DUN set to no, for PAN to yes

	Standard-Einstellung:  BLUEZ_AUTH_ENABLE='yes'

BLUEZ_ENCRYPTION_ENABLE
	enable/disable encryption, for DUN set to no, for PAN to yes

	Standard-Einstellung:  BLUEZ_ENCRYPTION_ENABLE='yes'

BUEZ_DRV
	#------------------------------------------------------------------------------
	# BlueZ drivers:
	#
	#  Driver       Bus     Description
	#
	#  bfusb        USB     BlueFritz (AVM)
	#  hci_usb      USB     "normal" Bluetooth USB Stick
	#  hci_uart     PCMCIA  Device with serial port interface, PCMCIA or CF 
	#  bluecard_cs	PCMCIA	Anycom Bluetooth PC / CF Card
	#  bt3c_cs	PCMCIA	3Com Bluetooth Card (3CRWB6096), HP Bluetooth Card - need's BlueFW
	#  btuart_cs	PCMCIA	Xircomm CreditCard / RealPort2 Bluetooth Adapter, Sphinx PICO Card, H-Soft blue+Card, Cyber-blue Compact Flash Card
	#  dtl1_cs	PCMCIA	Nokia Bluetooth Card, Socket Bluetooth CF Card     
	#------------------------------------------------------------------------------

	Mit dieser Variabel wird der Gerte-Treiber fr den Bluetooth-Stack
	ausgewhlt. Der hufigste drfte der 'hci_usb' fr USB-Sticks sein.
	Es sollen angeblich alle zur Zeit vorhandenen USB-Bluetooth-Sticks
	erkannt werden (mein 'SCM' und 'ACER BT610' geht).
	AVM, unter anderem der Hersteller der ISDN-Fritz Karten, "brt" mal
	wieder eine ExtraWurst, und hat fr seinen BlueFritz-USB-Adapter
	einen eigenen Treiber.
	Update(Oktober 2004): ich Augenblick werden AVM-Sticks vermutlich nicht 
	funktionieren. Das liegt daran, da die Firmware auf den Sticks in der
	Laufzeit temporr berschrieben werden muss (keine Sorge - nach dem Abziehen
	und neu einstecken des USB-Sticks ist die alte Firmware wieder aktiv). Dies
	erledigt unter Linux normalerweise der Hotplug-Daemon. Dieser steht jedoch
	unter Fli4l z.Z. nicht zur Verfgung. 
	
	Es muss zustzlich auch das jeweilige OPT fr den Bus geladen werden,
	d.h. OPT_USB fr bfusb und hci_usb, OPT_PCMCIA fr PCMCIA-Device's. 
	
	Standard-Einstellung: BLUEZ_DRV_1='hci_usb'

BLUEZ_MODULE
	#------------------------------------------------------------------------------
	# BlueZ Modules:
	#
	#  Module	Description
	#
	#  sco		voice transport over bluetooth, for voice appl. like headset and audio
	#  bnep		ethernet emulation, required for PAN (Personal Area Network)		
	#  cmtp     	transport layer for CAPI, for Common ISDN Access Profile
	#  rfcomm    	connection oriented stream support, for dialup, OBEX and many more
	#------------------------------------------------------------------------------

	Hier werden die eigentlichen Funktionen geladen.
	'sco' wird fr Sprach-Applikationen bentigt, 'rfcomm' um mit einem Bluetooth-
	fhigen Handy Verbindung aufzunehmen (z.B. Einwahlverbindung zum Provider, 
	Austausch von digitalen Visitenkarten usw.), oder auch um mit seinem Palm ber 
	Bluetooth online zu gehen), 'cmtp' fr CAPI ber Bluetooth und 
	'bnep' um ein NetzwerkDevice zu emulieren - sozusagen WLAN ber Bluetooth.
	
	Standard-Einstellung: BLUEZ_MODULE_1='bnep'

-------------------------------------------------------------------------------------------------------------------

BlueZ-Tools - Applikationen fr die BlueZ-Kernel-Treiber

	Dies sind die kompletten offiziellen BlueZ Applikationen.

	Es gibt eine Menge Einstellungsmglichkeiten, man muss
	aber nicht allzuviel eintragen, um eine Verbindung auf-
	bauen zu knnen. 
	Eigentlich nur das OPT aktivieren, die PIN eintragen und
	das OPT-Bridge nach unten stehender Anweisung konfigurieren.

	Es sind folgende Bluetooth-Applikationen enthalten:
	- bluez-hcidump-1.5
	- bluez-libs-2.4
	- bluez-pan-1.1
	- bluez-sdp-1.5
	- bluez-utils-2.3
	
	Am 27.12.2003 Update auf:
	- bluez-libs-2.5
	- bluez-utils-2.4 (PAN und SDP wurden in die Utils integriert)

	....

	Am 22.11.2005 Update auf:
	- bluez-libs-2.22
	- bluez-utils-2.22

	Weiterfhrende Links:
	http://www.bluez.org/
	http://bluez.sourceforge.net/
	http://bluez.sourceforge.net/contrib/HOWTO-PAN
	http://www.van-schelve.com/edv-wissen/linux/bluetooth_0.htm
	
	Bluetooth fr den Palm:
	http://www.harbaum.org/till/palm/bluetooth/index.html
	
	Bluetooth in KDE (Linux)
	http://kde-bluetooth.sourceforge.net/html/index.html

BLUEZ_PAN
	Starten des Personal Area Network (PAN)-Daemon's

	Fr PAN sollte auch das OPT_BRIDGE installiert werden, da
	ansonsten das PAN nicht sinnvoll genutzt werden kann.
	Hintergrund:
	Bei der Verbindung wird ein virtuelles Device (Gert) erstellt,
	diese kann dann ber den PAN-Dmon sehr einfach in eine bereits
	bestehende Bridge hinzugefgt werden. Es sind maximal 6 Clients
	mglich.
	
	ACHTUNG!!!
	Wenn PAN und das OPT_BRIDGE benutzt wird, wird das Forward-Delay
	des betreffenden Bridge-Device's auf '0' (null) gesetzt. Dies ist
	eine empfohlende Einstellung der BlueZ-Entwickler.
	
	Konfiguration:
	-in Base.txt
		IP_ETH_N='1'                     
		IP_ETH_1_NAME='br0'             <<-- Abweichend vom Standard!!
		IP_ETH_1_IPADDR='192.168.xx.xx'   
		IP_ETH_1_NETMASK='255.255.255.0' 

	-in Bridge.txt
		OPT_BRIDGE='yes'
		BRIDGE_BASENAME='br'		
		BRIDGE_N='1'			
		BRIDGE_1_DEVICES='eth0'		<<-- hier wird die NIC wieder
						     hinzugefgt
	(Danke an Marc Gerges)
	
	Wenn man es etwas sicherer mchte (WirelessConnections ber seperates NIC - 
	darber knnte man dann verschiedene Ports besser sperren, oder auch komplett
	voneinader abschotten) kann man folgende Einstellungen nutzen:
	
	config/base.txt:
	ETH_DRV_N='2'          
	ETH_DRV_1='3c59x'      
	ETH_DRV_1_OPTION=''    
	ETH_DRV_2='ne2k-pci'   
	ETH_DRV_2_OPTION=''

	IP_ETH_N='2'                         
	IP_ETH_1_NAME=''                    		# Hieran hngt mein normales Netz 
	IP_ETH_1_IPADDR='192.168.1.1'     
	IP_ETH_1_NETMASK='255.255.255.0'    
	IP_ETH_2_NAME='br0'                 		# und hier das Wireless ber die Bridge
	IP_ETH_2_IPADDR='192.168.2.1'      
	IP_ETH_2_NETMASK='255.255.255.0'    

	MASQ_NETWORK='192.168.1.0/24 192.168.2.0/24'	# damit beide Netze ins Internet kommen
	
	TRUSTED_NETS='192.168.1.0/24 192.168.2.0/24'  	# beide LAN's vertrauen sich - im ersten Schritt,
							# sollte dann besser gesichert werden, oder
							# man lsst es komplett weg, nur knnen sich die 
							# Netze dann nicht mehr 'sehen'

	config/bridge.txt:
	BRIDGE_BASENAME='br'		
	...						# '...'=die dazwischenliegenden Optionen
	BRIDGE_N='1'					# bleiben unverndert
	BRIDGE_1_STP='no'		
	...
	BRIDGE_1_DEVICE_N='1'		
	BRIDGE_1_DEVICE_1_NAME='eth1'	
	...

	config/dsl.txt:
	PPPOE_ETH='eth2'                		# muss eins weitergezhlt werden, eth1 gehrt
							# ja jetzt zur Bridge

	config/dhcp.txt:
	DHCP_RANGE_1='192.168.1.30 192.168.1.50'   	# damit beide Netze DHCP-Adressen bekommen,
	DHCP_RANGE_2='192.168.2.30 192.168.2.50' 	# natrlich knnen weiterhin 'feste' DHCP- 
	DHCP_DNS_SERVER_1='192.168.1.1' 		# Adressen ber die base.txt vergeben werden,
	DHCP_DNS_SERVER_2='192.168.2.1' 		# fr beide Netze!

	Standard-Einstellung:  BLUEZ_PAN='yes'

BLUEZ_PAN_OPTION
	Die Optionen die dem PAN-Daemon beim Starten bergeben werden.
	
	PAN daemon version 1.1
	Usage:
        	pand <options>
	Options:
        --show --list -l          Show active PAN connections
        --listen -s               Listen for PAN connections
        --connect -c <bdaddr>     Create PAN connection
        --search -Q[duration]     Search and connect
        --kill -k <bdaddr>        Kill PAN connection
        --killall -K              Kill all PAN connections
        --role -r <role>          Local PAN role (PANU, NAP, GN)
        --service -d <role>       Remote PAN service (PANU, NAP, GN)
        --device -i <name>        Network interface name
        --source -S <bdaddr>      Source bdaddr
        --nosdp -D                Disable SDP
        --encrypt -E              Enable encryption
        --master -M               Become the master of a piconet
        --nodetach -n             Do not become a daemon
        --persist -p[interval]    Persist mode
        --cache -C[valid]         Cache addresses

	Standard-Einstellung:  BLUEZ_PAN_OPTION='-s -r NAP -E'

BLUEZ_PAN_BRIDGE_DEVICE
        An welchem Bridge-Device sollen die PAN-Verbindungen
        'angedockt' werden?
        
        Hiermit kann der Benutzer, wenn er mehrere Bridge's
        eingerichtet hat, 'sein' Device auswhlen.
        Die weiteren Bridge-Einstellungen sind bitte in der
        'config/bridge.txt' zu ttigen.

	BRIDGE_x_STP='no'
	BRIDGE_x_SETFD='0' # (null)

        Standard-Einstellung:  BLUEZ_PAN_BRIDGE_DEVICE='br0'
                        
BLUEZ_PAN_BRIDGE_DEVICE_PRIO
	Mit dieser und der nachfolgenden Einstellung kann man die
	Prioritt und das Routing der Bridge beeinflussen.
	
	Wird fr das richtige Ansteuern der Bridge bentigt.
	Bitte nur ndern, wenn man wei was man tut.
	Auf die Bluetooth-Verbindungen selbst haben diese Einstellungen
	keine Auswirkungen, es werden alle gleich behandelt.

        Standard-Einstellung:  BLUEZ_PAN_BRIDGE_DEVICE_PRIO='128'
        
BLUEZ_PAN_BRIDGE_DEVICE_COST
        Standard-Einstellung:  BLUEZ_PAN_BRIDGE_DEVICE_COST='100'
        
BLUEZ_ALL
	Es werden ALLE Bluetooth-Applikationen installiert. 
	Der PAN-Daemon wird nicht von dieser Option beeinflut.

	Standard-Einstellung:  BLUEZ_ALL='no'


----------------

	Mini-HowTo fr RFComm-Verbindung unter Windows:

	(ich gehe davon aus, dass du einen BluetoothSerialPort eingerichtet hast, z.B. COM5)
	1, Windows Systemsteuerung --> Telefon u. Modemoptionen
	2, Modems --> neues Modem hinzufgen
	3, Modem manuell auswhlen an der Checkbox
	4, links Standardmodemtypen, rechts Kommunkationskabel zw. 2 Computern --> weiter
	5, COM5 auswhlen
	6, besttigen --> soweit hiermit fertig
		7, Netzwerk- und DF-Verbindungen --> neue Verbindung
		8, direkt mit einem anderen Computer verbinden
		9, das soeben angelegt 'Kommunikationskabel' auswhlen
		10, Namen vergeben
		11, fertig
	Verbindung ber DF- und Netzwerkverbindungen aufbauen.

----------------

Christian, mit einer vorlaeufigen Doku	

------------------------------------------------
DOT-Config Options

General setup:
	PCMCIA/CardBus support=M
Bluetooth support:
	Bluetooth subsystem support=M
	L2CAP protocol support=M
	SCO links support=M
	RFCOMM protocol support=M
		RFCOMM TTY support=Y
	BNEP protocol support=M
		Multicast filter support=Y
		Protocol filter support=Y
	CMTP protocol support=M
	Bluetooth device drivers:
		HCI USB driver=M
			SCO (voice) support=Y
		HCI UART driver=M
			UART (H4) protocol support=Y
			BCSP protocol support=Y
==>!!			Transmit CRC with every BSCP packet=N
		HCI BlueFritz! USB driver=M
		HCI DTL1 (PC CARD) driver=M
		HCI BT3C (PC CARD) driver=M
		HCI BlueCard (PC CARD) driver=M
		HCI UART (PC CARD) driver=M
		HCI VHCI (Virtual HCI device) driver=N

---------------------------------------------------------
Die Applikationen wurden wie folgt kompiliert:

export PATH=/usr/i386-linux-uclibc-0.9.26/usr/bin/:$PATH

#bluez-libs-2.14
./configure --prefix=/usr/src/fli4l/Sourcen-2.1.9/opt_bluez/ --target=i486
make
make install

export LD_LIBRARY_PATH=/usr/src/fli4l/Sourcen-2.1.9/opt_bluez/
export LD_RUN_PATH=/usr/src/fli4l/Sourcen-2.1.9/opt_bluez/

#bluez-utils-2.14
./configure --prefix=/usr/src/fli4l/Sourcen-2.1.9/opt_bluez/ --target=i486 --with-bluez-libs=/usr/src/fli4l/Sourcen-2.1.9/bluez-libs-2.14/src/ --with-bluez-includes=/usr/src/fli4l/Sourcen-2.1.9/opt_bluez/include/ --enable-pcmcia --sysconfdir=/etc
make
make install
