# Installatie

## Benodigdheden

Afhankelijkheden (die dient zowel de bibliotheken als ook de corresponderende dev-pakketten te hebben):

- KDE 3.2 of nieuwer

- Openobex 1.0 of nieuwer

- Qt 3.2 of nieuwer

- bluez-libs 2.5 of nieuwer

- bluez-utils 2.5 of nieuwer

Voor de Bemused-server hebt u xmms-dev nodig.

Onthoud dat het compileren mogelijk ook wel lukt met oudere versies van bovengenoemde bibliotheken. Als u het met succes hebt gecompileerd met een oudere versie, of als het compileren faalt ondanks dat u de juiste versies hebt geïnstalleerd, laat het ons dan even weten.

## Compilatie en installatie

Pak het Tar-archief uit, `cd kdebluetooth`, voer dan het commando `./configure --prefix=...`. KDE dient te zijn ingesteld om het opgegeven prefix te gebruiken. Meestal is dit `/usr` (bij SUSE is het `/opt/kde3`), maar u kunt ook andere mappen toevoegen door middel van de omgevingsvariabele $KDEDIRS. Zie http://www.kde.org/documentation/faq/install.html voor meer informatie.

Als het compileren geslaagd is, dan kunt u de installatie starten met `make install`. We raden het u echter met klem aan om een softwarepakket te gebruiken in plaats van de broncode zelf te compileren. Als u geen prefix exclusief voor kdebluetooth hebt gebruikt, dan moet u veel moeite doen om na enkele opwaarderingen de rommel op te ruimen.

## Instellingen

Het KDE Bluetooth-framework zelf heeft bijna geen aanvullende instellingen nodig. Maar voordat u het kunt gebruiken dient u Linux' Bluetooth-stak BlueZ correct in te stellen. Ga voor meer informatie hierover naar de website van BlueZ. BlueZ levert een daemon genaamd `hcid`. Deze is verantwoordelijk voor het contact maken met uw apparaten en het beheren van beveilingsgerelateerde zaken. Het wordt gebruikelijk gestart tijdens het opstarten van Linux via een init-script.

Voor kbluetooth adviseren we de volgende instellingen (ongewijzigde of irrelevante secties zijn vervangen door '...'):

    options {
    ...
            # Security Manager mode
            #   none - Security manager disabled
            #   auto - Use local PIN for incoming connections
            #   user - Always ask user for a PIN
            #
            # Use 'security user' to use the graphical pin helper only
            # 'auto' means that for incoming connection the static number
            # in the file /etc/bluetooth/pin is used.
            security user;

            # Pairing mode
            # Allow to overwrite an existing pairing
            pairing multi;

            # PIN helper
            # Use kdebluetooth's own pin helper.
            # Errors messages can be found in the syslog.
            # !! CHANGE ME !! Change the path according to your own setup
            pin_helper /usr/local/lib/kdebluetooth/kbluepin;
    }

    # Default settings for HCI devices
    device {
    ...
            # Local device class
            # "Uncategorized computer", which pretends
            # to support just about anything.
            class 0xff0100;

            # For some mobile phones you will have to tag your system
            # as a Audio/Handsfree device to be able to use your computer
            # as a Handsfree (only when connecting from the phone)
            # class 0xff0408;

            iscan enable; pscan enable;
            lm accept;
            lp hold,sniff,park;

            # Authentication and Encryption
            # If you enable this, a device *must* be paired to access any
            # service on your computer
            #auth enable;
            #encrypt enable;
    }

Onthoud dat u `hicd` dient te herstarten na elke wijziging in dit bestand. Als iets niet werkt tijdens het opzetten van een paarkoppeling tussen de apparaten, kijk dan in uw systeem' syslog (op Debian: `/var/log/syslog`) wat er mis is gegaan.

Voor wat basis achtergrondinformatie over Bluetooth-beveiliging, zie de sectie Paarkoppelingen.

Een andere daemon die dient te draaien is BlueZ's `sdpd`. Deze daemon wordt gebruikt om de beschrijvingen van diensten die door andere apparaten worden aangeleverd te publiceren.

Als beide draaien, controleer dan of uw Bluetooth-apparaat werkt met behulp van de commandoprompt-programma's die BlueZ meelevert:

    root:~# hciconfig      <- controleert of de adapter is gevonden en draait
    hci0:   Type: USB
            BD Address: 00:10:60:A3:8B:DE ACL MTU: 192:8  SCO MTU: 64:8
            UP RUNNING PSCAN ISCAN AUTH ENCRYPT
            RX bytes:176023 acl:2046 sco:0 events:1809 errors:0
            TX bytes:23000 acl:971 sco:0 commands:469 errors:0

    root:~# hcitool inq    <- probeert te zoeken naar andere waarneembare apparaten
    Inquiring ...
            00:A0:32:1A:B0:27       clock offset: 0x122b    class: 0x000100

    root:~# sdptool browse FF:FF:FF:00:00:00
    Browsing FF:FF:FF:00:00:00 ...
    Service Name: SDP Server
    Service Description: Bluetooth service discovery server
    Service Provider: BlueZ
    Service RecHandle: 0x0
    ...
    root:~#

Het eerste commando controleert of uw bluetooth-adapter werkt, het tweede commando zoekt naar andere apparaten binnen het bereik (deze dienen op 'waarneembaar' te zijn gezet). Het derde commando toont een lijst met de diensten die u aanbiedt aan de andere bluetooth-apparaten. Als u kbluetooth al hebt draaien, dan zult u hier de volledige lijst met actieve diensten zien, inclusief OBEX push etc. Als dit allemaal goed is gegaan, dan zult u kdebluetooth kunnen gebruiken zonder verdere instelling.

Start nu de metaserver van kdebluetooth: `kbluetoothd`. Er wordt vervolgens een kdebluetooth-pictogram in uw systeemvak geplaatst. Zolang kbluetoothd draait zijn alle diensten die door kdebluetooth worden aangeleverd beschikbaar. Klik eens met de linker en rechter muisknop op de pictogram en verken de verschillende instellingen. Veel plezier!