View previous topic :: View next topic |
Author |
Message |
Momentime Tux's lil' helper
Joined: 08 Sep 2003 Posts: 111 Location: Italy
|
Posted: Tue Dec 07, 2004 11:01 am Post subject: [HOWTO] Come connettere due computer con Bluez e Kernel 2.6 |
|
|
Altro howto con il titolo che parla da solo.
Come connettere due computer con Bluetooth
0. Chanelog
Versione 1.0
- Corretto qualche errore grammaticale (whoops, ce ne saranno degli altri =)
- Modificata la sezione 4 sotto consiglio di [hammerfall]
- Modificata la sezione 3 - adesso non e' necessario avere /etc/bluetooth/hcid.conf diverso da server a client
1. Prefazione
(Ancora una volta) Non mi assumo alcuna responsabilità dei risultati che otterrete seguendo questo howto, quindi se il vosto computer si fonde o se fate esplodere tutte le cose fatte di vetro che stanno attorno a voi nel raggio di 2 km o meno (e questo è solo un PICCOLISSIMO esempio), sono problemi vostri. Non miei. =) Non mi piace scriverlo ma è meglio farlo.
Inoltre, credo che la configurazione di hcid.conf sia una specie di SECURITY HAZARD. Fate voi. Ah, se è così e sapete dare un senso alla sicurezza, scrivete in questo topic cosa devo fare per rendere sicura la connessione.
2. Preparativi
Allora, avete bisogno di 2 computer con kernel 2.6 che abbiano un adattatore Bluetooth ciascuno. Non so come vada compilato il kernel di preciso, io ho fatto così: ho preso tutto quello che aveva qualcosa a che fare col bluetooth in Device Drivers ==> Net e l'ho messo come modulo ove possibile, altrimenti integrato nel kernel. NON bisogna attivare il sottosistema bluetooth in Device Drivers ==> USB, altrimenti tutto non funzionerà . NON serve anche se il vostro adattatore (come il mio) è USB. Ripeto (non fa mai male), NON serve.
3. Installazione e configurazione di Bluez
Bisogna innanzitutto installare i programmi per controllare il sottosistema Bluetooth, e i tools Bluez fanno al caso nostro. A seconda del vostro adattatore, potreste aver bisogno di un firmware. Ad esempio, i Broadcom ne hanno bisogno, e si trova il firmware nell'ebuild bluez-firmware. Se lo trovate invece sul CD di installazione (o magari anche su Google, o sul sito del produttore) copiatelo nella directory /etc/bluetooth/firmware .
Code: |
emerge bluez-utils bluez-firmware
|
Nota: server è chi riceve connessioni da dei client. Non so come funzioni realmente, quindi non vi dico altro, non vorrei sparare troppe ca**a*e. Se sapete correggermi, fate pure =P
Da me il server condivide la connessione ad internet e il client la scrocca.
Adesso configuriamo /etc/bluetooth/hcid.conf
Questo è il mio (leggete i commenti!)
Code: |
options {
autoinit yes;
security user;
pairing multi;
pin_helper /usr/bin/bluepin;
}
device {
# Fate in modo che il risultato finale non sia uguale
# %d - id del device
# %h - hostname
name "Bluez (%d) on %h";
class 0x100100;
iscan enable; pscan enable;
lm accept;
lp rswitch,hold,sniff,park;
}
|
Abbiamo bisogno di caricare dei moduli all'avvio, fate così.
Code: |
cat >> /etc/modules.autoload.d/kernel-2.6 << EOF
rfcomm
bluetooth
hidp
bnep
EOF
|
Caricateli e uppate il device Bluetooth (Fate sia nel server che nel client)
Code: |
for i in `cat /etc/modules.autoload.d/kernel-2.6 | grep -v "#"`; do modprobe $i; done
/etc/init.d/bluetooth start
hciconfig hci0 up
hciconfig hci0
/etc/init.d/bluetooth stop
|
Scrivete l'indirizzo del device del server (BD address: 00:11:22:33:44:55:66) su un foglio, servirà tra poco.
4. Connettiamo i due computer!
Perfetto. Modifichiamo il file di configurazione /etc/conf.d/bluetooth . Le due righe alla fine sono quelle che ci interessano.
Nel server mettiamo
Code: | PAND_ENABLE=true
PAND_OPTIONS="--master --listen --role GN" |
Nel client invece
Code: | PAND_ENABLE=true
PAND_OPTIONS="--connect indirizzo:bt:hardware:del:computer:server --service GN" |
Mettiamo l'initscript nel livello rc default e avviamolo
Code: | rc-update add bluetooth default
rc |
Fate in modo che il server abbia già avviato il demone pan prima che lo faccia il client, altrimenti non funzionerà. Se dovesse succedere così, fate nel client
Code: | /etc/init.d/bluetooth restart |
Adesso possiamo configurare le interfacce di rete, mettendo nel server l'ip 10.0.0.1 e nel client 10.0.0.2. C) sta per client e S) sta per server.
Code: | C) ifconfig bnep0 10.0.0.2
S) ifconfig bnep0 10.0.0.1 |
Vi ricordo che la velocità massima che ho raggiunto trasferendo un file è 80 kb/s -- perciò non aspettatevi grandi prestazioni nel client. Trasferire 700 MB tramite Bluetooth impiega 170 minuti circa.
THE END
Fine. Finito. Non è difficile; di sicuro è più facile farlo che dirlo. Se avete qualche idea, consiglio, critica, richiesta d'aiuto, numero della lotteria vincente (meglio un PM =), suggerimento, ecc. ecc. scrivete qui. Ah, le critiche sui gatti assassini NON saranno tollerate =)
P.S.: lo stesso vale per l'uso frequente delle (parentesi). Al prossimo howto, ciao. _________________ Registered Linux User #367816
Registered Linux machine #262819
No hope, life is none, none!
Last edited by Momentime on Tue Dec 07, 2004 2:40 pm; edited 1 time in total |
|
Back to top |
|
|
[hammerfall] Apprentice
Joined: 27 May 2004 Posts: 243
|
Posted: Tue Dec 07, 2004 11:24 am Post subject: |
|
|
da quel che ne so gli unici pacchi necessari sono bluez-utils bluez-libs (dpiendenza del primo). Bluez-kernel ti mette delle versioni aggiornate dei driver nel kernel. Hai dimenticato forse una cosa, alcuni adattatori necessitano del firmware da caricare ad ogni avvio della periferica, per esempio il mio che un chipset broadcom. di norma questi firmware vanno messi nella cartella
Code: | /etc/bluetooth/firmware | e li potete prendere dal cd di installazione per windows.
Poi, i moduli che fai caricare non credo sia necessario metterli cosi' (ovvio che posso sbagliarmi eh? ^_^ ) visto che c'e' gia' un servizio chiamato bluetooth
Code: | /etc/init.d/bluetooth | che se messo nel rc correttamente fa gia' partire i vari servizi caricando anche i moduli necessari.
Infine faccio un'aggiuntina per chi magari vuole solo collegare il cell al pc tramite porta seriale virtuale (la famosa rfcomm). Una cosa che non e' molto chiara nei vari tutorial e' che bisogna editare il file Code: | /etc/bluetooth/rfcomm.conf | in modo che riporti il mac adress del proprio cellulare altrimenti la connessione fallira' inesorabilmente.
Spero di aver dato una mano. ciau! _________________ --------
Hammerfall ^_^ |
|
Back to top |
|
|
Momentime Tux's lil' helper
Joined: 08 Sep 2003 Posts: 111 Location: Italy
|
Posted: Tue Dec 07, 2004 11:45 am Post subject: |
|
|
Bene, appena possibile correggerò l'howto. Non sapevo dei firmware, visto che il mio (un digicom, non so altro) non ne ha bisogno. Beh a dire il vero non avevo previsto l'uso di /etc/init.d/bluetooth, credo sia più comodo così. Ma alla fine è uguale, o ci pensa il modules.autoload o ci pensa l'initscript bluetooth (o ci penso io! mwawaawwaaw).
Ciao _________________ Registered Linux User #367816
Registered Linux machine #262819
No hope, life is none, none! |
|
Back to top |
|
|
Momentime Tux's lil' helper
Joined: 08 Sep 2003 Posts: 111 Location: Italy
|
Posted: Tue Dec 07, 2004 2:41 pm Post subject: |
|
|
A proposito, non che che sapete come creare un net.bnep0? Sarebbe più comodo! _________________ Registered Linux User #367816
Registered Linux machine #262819
No hope, life is none, none! |
|
Back to top |
|
|
fedeliallalinea Administrator
Joined: 08 Mar 2003 Posts: 30917 Location: here
|
Posted: Wed Dec 08, 2004 4:04 pm Post subject: |
|
|
Aggiunto ai post utilissimi sezione howto _________________ Questions are guaranteed in life; Answers aren't. |
|
Back to top |
|
|
d3vah Apprentice
Joined: 13 Feb 2003 Posts: 184 Location: Italy
|
Posted: Fri Apr 01, 2005 11:40 am Post subject: |
|
|
Mi rendo conto di essere moltissimo ot ma non saprei dove chiedere:
E' Possibile mettere un windows XP come client?
Tutto funziona bene fintanto che si collegano 2 linux anche se l'ifconfig del bnep0 funziona solo dopo che un client si è collegato e sinceramente non so se sia il comportamento normale, abituato a dispositivi tipo eth0 che stanno li a prescindere che il cavo di rete ci sia o meno.
Comunque ho seguito la guida lato server mettendo come role NAP dato che windows dice che supporta il PAN come client è basta, credo, lanciato hciconfit hci0 up e ho fatto eseguire la scansione dei dispositivi pan a windows ma non trova nulla!
Sto sbagliando qualcosa?
Griazie in anticipo e scusate l'ot ma mi trovo di frequente a dover trasferire file tra il mio portatile (gentoo) e altri pc con windows e volevo evitare di usare un cavo crossato ogni volta, l'idea era di portarmi dietro 2 pennine bluetooth e festa finita
Saluti _________________ Ciro Guariglia |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|