mini guida bluetooth: trasferire file

Ho appena acquistato un cellulare nuovo con fotocamera e interfaccia bluetooth. Ecco come sono riusco a configurare io mio portatile con Fedora Core 4 per poter trasferire le foto dal cellulare al portatile.
Per prima cosa ho acquistato un adattatore Bluetooth USB. Ne ho scelto uno a caso al supermercato, avevo letto che questo tipo di dispositivo è largamente supportato dalle distribuzioni recenti di Linux. Effettivamente, appena collegato il sistema lo ha subito riconosciuto.
Poi con google ho trovato un primo documento che spiegava esattamente cosa fare e che rimandava ad un tutorial molto dettagliato.

Installare i package necessari

Sulla FC4 installate i seguenti package:

# apt-get install gnome-bluetooth bluez-hcidump bluez-pin bluez-utils

Cambiare SELinux

Se avete SELinux abilitato, che è il default in FC4, dovete disabilitare il controllo del servizio bluetooth. Eseguite il comando system-config-security-level, selezionate la pagina SELinux e dalla lista SELinux Service Protection selezionate la voce Disable SELinux Protection for bluetooth daemon.

Attivare il servizio bluetooth

Dopo le modifiche a SELinux ora possiamo attivare il servizio bluetooth:

# service bluetooth restart

Stopping Bluetooth services:                              [  OK  ]
Starting Bluetooth services:                              [  OK  ]

# service bluetooth status

hcid (pid 10036) is running...
sdpd (pid 10038) is running...

Verificare che l’adattatore si riconosciuto

Per verificare che l’adattatore sia effettivamente riconosciuto da Linux digitate il comando:

# hcitool dev
Devices:
        hci0: 00:AA:BB:CC:DD:EE

Modificare hcid.conf

Modificate il file /etc/bluetooth/hcid.conf. Sostituite la riga:

#autoinit yes;

con:

autoinit yes;

Le due righe:

#pin_helper /etc/bluetooth/feed-pin.sh
dbus_pin_helper;

con:

pin_helper /etc/bluetooth/feed-pin.sh
#dbus_pin_helper;

Nota: il parametro dbus_pin_helper va commentato per aggirare un bug noto.
Le due righe:

#auth enable;
#encrypt enable;

con:

auth enable;
encrypt enable;

Creare feed-pin.sh

Create il file /etc/bluetooth/feed-pin.sh con il seguente contenuto:

#!/bin/sh
echo "PIN:1234"

Nota: sostituite il PIN indicato con uno a vostra scelta. Rendete quindi eseguibile il file appena creato:

# chmod +x /etc/bluetooth/feed-pin.sh

Riattivazione del servizio

Riattivate quindi il servizio bluetooth:

#  service bluetooth restart

Stopping Bluetooth services:                              [  OK  ]
Starting Bluetooth services:                              [  OK  ]

#  service bluetooth status

hcid (pid 10046) is running...
sdpd (pid 10048) is running...

Attivazione sul cellulare

Sul vostro cellulare dovete ora abilitare il bluetooth e rendere visibile l’apparecchio. Ogni cellulare ha i suoi modi per effettuare queste operazioni.

Connessione

Ora sul PC esegute il seguente comando:

# hcitool scan
Scanning ...
        00:11:22:33:AA:CC      Samsung XYZ

Otterrete così la lista di tutti i dispositivi attivi nei dintorni. Segnateve l’ID del vostro cellulare.

Ora stabilite una connessione tra il PC e il cellulare, con il seguente comando, usando l’ID ricavato con lo scan:

# hcitool cc XX:XX:XX:XX:XX:XX

Abilitare send e receive

Per abilitare le connessioni in entrata dal cellulare al PC digitate il seguente comando, usando l’ID del cellulare:

# bluez-pin in XX:XX:XX:XX:XX:XX

Abilitate anche le connessioni in uscita:

# bluez-pin out XX:XX:XX:XX:XX:XX

Trasferire un file dal cellulare al PC

Sul PC eseguite il seguente comando gnome-obex-server. Una piccola icona apparirà nella notification area di gnome. Ora potete trasferire un file alla volta dal cellulare al PC. Terminato il trasferimento di un file, una finestra su PC vi chiederà conferma e salverà il file nella vostra home directory.

Trasferire un file dal PC al cellulare

Sul PC eseguite il comando gnome-obex-send. Ad esempio, per trasferire un’immagine:

gnome-obex-send immagine.jpg

12 pensieri su “mini guida bluetooth: trasferire file

  1. buon giorno…spero di aver trovato la persona giusta!Vorrei trasmettere files tra un PC fisso ed un portatile tutti e due muniti di chiavetta bluetooth,all’inizio tutto ok si riconoscono ecc…al momento di spedire il file…esce la scritta:verificare che sia installato profilo push file OBEX (sist. windows home per entrambi ,aggiornati)
    Grazie Riccardo

  2. Riccardo, purtroppo posso aiutarti solo con Linux, però con windows xp dovrebbe essere tutto più facile. Ad ogni modo per trasferire files da pc a pc sceglierei una connessione più veloce, un cavo di rete o al limite wi-fi, il bluetooth è decisamente lento.

  3. buona sera…..volevo chiedere una cosa….sto cercando di far comunicare il mio cellulare con il mio pc tramite un adattatore usb bluetooth. premetto che sto usando una versione di Fedora Core 5.Arrivo a compiere tutti i passi da lei spiegati fino a che non provo a fare gnome-obex-server che mi da il seguente errore:
    ]# gnome-obex-server

    ** (gnome-obex-server:10480): WARNING **: OBEX server register error: -94

    ** (gnome-obex-server:10480): WARNING **: Unable to initialize OBEX source

    ** (gnome-obex-server:10480): WARNING **: Couldn’t initialise OBEX listener

    mentre quando eseguo gnome-obex-send ottengo questo errore:
    (gnome-obex-send:10429): libglade-WARNING **: could not convert string to type
    `GdkPixbuf’ for property `icon’
    ** Message: inquiry_result: bdaddr 00:12:56:9F:BD:F7 class 520204
    ** Message: Already know about 00:12:56:9F:BD:F7, preparing for rediscovery
    ** Message: inquiry_result: bdaddr 00:12:56:9F:BD:F7 class 520204
    ** Message: inquiry_result: bdaddr 00:12:56:9F:BD:F7 class 520204
    ** Message: inquiry_result: bdaddr 00:12:56:9F:BD:F7 class 520204
    ** Message: inquiry_result: bdaddr 00:12:56:9F:BD:F7 class 520204
    ** Message: inquiry_result: bdaddr 00:12:56:9F:BD:F7 class 520204
    ** Message: inquiry_result: bdaddr 00:12:56:9F:BD:F7 class 520204
    ** Message: inquiry_result: bdaddr 00:12:56:9F:BD:F7 class 520204
    ** Message: inquiry_result: bdaddr 00:12:56:9F:BD:F7 class 520204
    ** Message: inquiry_result: bdaddr 00:12:56:9F:BD:F7 class 520204
    ** Message: inquiry_result: bdaddr 00:12:56:9F:BD:F7 class 520204
    ** Message: inquiry complete
    ** Message: device 00:12:56:9F:BD:F7 Paura! found
    Browsing 00:12:56:9F:BD:F7 …
    Service Name: OBEX Object Push
    Service RecHandle: 0x10000
    Protocol Descriptor List:
    “L2CAP” (0x0100)
    “RFCOMM” (0x0003)
    Channel: 1
    “OBEX” (0x0008)
    Service Class ID List:
    “OBEX Object Push” (0x1105)
    ** Message: device 00:12:56:9F:BD:F7 (OBEX Object Push) port 1

    ** (gnome-obex-send:10429): WARNING **: Unable to make a Bluetooth connection.

    ** (gnome-obex-send:10429): WARNING **: Unable to initialize OBEX client
    source

    Lei potrebbe aiutarmi?
    grazie mille
    Lorena

  4. Ciao Malex,
    io vorrei poter spedire files di qualsiasi tipo da qualsiasi dispositivo BT verso PC senza che compaia nessuna notifica su PC e senza richeidere l’autorizzazione, ma che accetti tutto da qualsiasi sorgente.
    Hai suggerimenti?
    Luca

  5. ciao malex, grazie alle tue guide ora dal dvb-t posso passare a configurare il bluetooth
    seguendo la tua guida arrivo al punto in cui dici di modificare il file “hcid.conf”
    per la prima modifica, cioè decommentare la riga “#autoinit yes” nessun problema (anzi è già decommentata), ma poi in quel file non ho le righe successive che tu dico di modificare, cosa faccio le aggiungo a mano in fondo?
    ti copio il mio file hcid.conf nel caso tu voglia dargli un’occhiata.
    ciao e grazie per la tua disponibilità

    #
    # HCI daemon configuration file.
    #

    # HCId options
    options {
    # Automatically initialize new devices
    autoinit yes;

    # Security Manager mode
    # none – Security manager disabled
    # auto – Use local PIN for incoming connections
    # user – Always ask user for a PIN
    #
    security user;

    # Pairing mode
    # none – Pairing disabled
    # multi – Allow pairing with already paired devices
    # once – Pair once and deny successive attempts
    pairing multi;

    # Default PIN code for incoming connections
    passkey “BlueZ”;
    }

    # Default settings for HCI devices
    device {
    # Local device name
    # %d – device id
    # %h – host name
    name “%h-%d”;

    # Local device class
    class 0x120104;

    # Default packet type
    #pkt_type DH1,DM1,HV1;

    # Inquiry and Page scan
    iscan enable; pscan enable;

    # Default link mode
    # none – no specific policy
    # accept – always accept incoming connections
    # master – become master on incoming connections,
    # deny role switch on outgoing connections
    lm accept;

    # Default link policy
    # none – no specific policy
    # rswitch – allow role switch
    # hold – allow hold mode
    # sniff – allow sniff mode
    # park – allow park mode
    lp rswitch,hold,sniff,park;
    }

  6. @Mauro: questo articolo è basato sulla Fedora Core 4 che usavo allora. Dovrei verificarlo sulla Fedora Core 6, mi pare che qualcosa sia cambiato. Tu che distribuzione usi?

  7. Scusatemi ò un problema? ò aquistato una antenna usb bluethoot,installato tutto bene, ora anche il telefonino Black berry lo riconosce solo che il computer mi chiede un codice Pin, io le o provate tutte le numerazioni che o trovato in giro sulla scatola eccc eccc non ci salto fuori che numero Pin devo immetere? è sopratutto dove lo trovo? Grazie aiutatemi chunque voi siate!!!!
    grazie Maurizo

  8. @Maurizio:
    il codice lo devi scegliere tu. Prima lo devi digitare su pc, poi devi digitare lo stesso codice sul telefono. Tutto qua.

  9. E’ possibile eliminare la fase di conferma, nel momento di ricezione dei file? Ovvero automatizzare tutto il procedimento di ricezione in modo tale da non dover digitare niente?

    Grazie

    Stefano

  10. @Steto: che io sappia no. A mio parere sarebbe ancora più interessante se si potesse accedere da gnome al dispositivo bluetooth come se fosse un disco esterno e poter trascinare gli oggetti o fare taglia e incolla. Ma non so se il protocollo bluetooh supporta tutto questo.

I commenti sono chiusi.