Post  |  Commenti

Post Meta

24th
SEP

Bluetooth su Linux

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...

Posted by RedSend | Filed under Bluetooth

Questo post spiega come configurare una penna Bluetooth su linux, c’è da dire che non tutti i dispositivi sono compatibili quindi è bene, prima di comprare, verificare se è supportato, potete farlo a questo indirizzo.

Questa breve guida non spiegherà  come creare una PAN host-to-host o quello che sia, ma vi dirà  solo come configurare un device bluetooth per poi usarlo in tante applicazioni come ad esempio scaricare file dal cellulare, mandare file sul cellulare, usare il vosto cell da telecomando per il pc :), etc……

Allora dopo aver acquistato una penna compatibile, passiamo all’installazione del software necessario.

Come prima cosa dobbiamo aggiungere il supporto nel kernel per lo standard Bluetooth e i relativi protocolli di incapsulamento, andiamo nella cartella del kernel e seguiamo la solita procedura

redsendP4 redsend # cd /usr/src/linux
redsendP4 linux # make menuconfig

inseriamo queste voci

Device Drivers  --->
  Networking Support  --->
    <M> Bluetooth subsystem support  --->
        <M> L2CAP protocol support
        <M> SCO links support
        <M> RFCOMM protocol support
  • RFCOMM TTY support <M> BNEP protocol support
  • Multicast filter support
  • Protocol filter support <M> HIDP protocol support Bluetooth device drivers ---> <M> HCI USB driver
  • SCO (voice) support USB support ---> <*> Support for Host-side USB --- USB Host Controller Drivers EHCI HCD (USB 2.0) support OHCI HCD support <M> UHCI HCD (most Intel and VIA) support --- USB Device Class drivers <M> USB Audio support
  • ora ricompiliamo e ripartiamo con il nuovo kernel

    redsendP4 linux # make
    redsendP4 linux # make modules_install
    redsendP4 linux # mount /boot
    redsendP4 linux # make install
    

    Ora passiamo all’installazione del software necessario, emergiamo

    redsendP4 ~ # emerge -av bluez-utils
    

    da questo pacchetto dipende anche bluez-libs, serve per fornire i tool indispensabili per configurare al meglio la periferica, sono disponibili altri tool come bluez-hcidump per analizzare i pacchetti in una trasmissione, per maggiori info andate sul sito di bluez

    emergiamo anche

    redsendP4 ~ # emerge -av kdebluetooth
    

    è il framework di kde per il bluetooth, si basa appunto sullo stack BlueZ, fornisce una serie di tool grafici per interfacciarsi con i servizi più comuni ad esempio per lo scambio di dati tra telefoni o pda e molte altre cosette

    Ora passiamo alla configurazione, non c’è molto da fare solo cambiare qualche riga in qualche file, prima cosa andiamo ad editare il file /etc/bluetooth/hcid.conf e cambiamo queste righe

    # PIN helper
      pin_helper /usr/lib/kdebluetooth/kbluepin;
    

    tramite questo tool quando c’è bisogno di inserire il codice per autenticarsi vi appare una finestra sul monitor

    poi se volete potete cambiare il nome del vostro device

    # Local device name
    #   %d - device id
    #   %h - host name
      name "RedBlueZ (%h)";
    

    Ora salviamo e avviamo il servizio bluetooth

    redsendP4 ~ # /etc/init.d/bluetooth start
    

    si avviano vari demoni, il file di configurazione è /etc/conf.d/bluetooth. I moduli li carica hotplug quando inserite il device

    Se si è avviato tutto correttamente, inseriamo la penna bluetooth e facendo

    redsendP4 ~ # lsmod
    

    dovete vedere dei moduli caricati cioè

    Module                  Size  Used by
    hci_usb                14600  0
    bluetooth              47108  1 hci_usb
    

    dobbiamo verificare che la penna è stata riconosciuta

    redsendP4 ~ # hciconfig -a
    hci0:   Type: USB
            BD Address: 00:0F:3D:0C:11:4F ACL MTU: 192:8 SCO MTU: 64:8
            UP RUNNING PSCAN ISCAN AUTH ENCRYPT
            RX bytes:117 acl:0 sco:0 events:15 errors:0
            TX bytes:310 acl:0 sco:0 commands:14 errors:0
            Features: 0xff 0xff 0x0f 0x00 0x00 0x00 0x00 0x00
            Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3
            Link policy: RSWITCH HOLD SNIFF PARK
            Link mode: SLAVE ACCEPT
            Name: 'RedBlueZ (redsendP4)'
            Class: 0x3e0100
            Service Classes: Networking, Rendering, Capturing
            Device Class: Computer, Uncategorized
            HCI Ver: 1.1 (0x1) HCI Rev: 0x20d LMP Ver: 1.1 (0x1) LMP Subver: 0x20d
            Manufacturer: Cambridge Silicon Radio (10)
    

    vedrete comparire tutte le informazioni che avete settato nel file /etc/bluetooth/hcid.conf

    Tutto è andato a buon fine, abbiamo il dispositivo bluetooth configurato e funzionante, questi sono alcuni comandi utili ma basta fare un semplice man hcitool e man sdptool per vedere tutte le opzioni

    redsendP4 ~ # hcitool scan
    
    per cercare altri dispositivi
    redsendP4 ~ # hcitool dev
    per visualizzare i dispositivi locali
    redsendP4 ~ # hcitool inq
    per interrogare un dispositivo remoto
    redsendP4 ~ # sdptool browse [btaddress]
    per visualizzare i servizi offerti da un dispositivo
    Tags:

    Leave a Reply

    Il contenuto di questo Blog è rilasciato sotto Licenza Creative Commons (Leggi)