Pagina 1 di 3

Bluetooth, kdebluetooth e bluez 3.x

Inviato: sab 19 ago 2006, 14:41
da gianogli
Ho installato (dal repository) i pacchetti:
bluez-firmware-1.2
bluez-hcidump-1.31
bluez-libs-3.2
bluez-utils-3.2
kdebluetooth-20060415 con relativa patch e compilato da me su kde 3.5.3
e relative dipendenze (dbus,...).
Ho modificato tutti i file di configurazione (rc.local, hcid.com e rfcomm.conf) e (dalla versione 3.2) non viene restituito alcun tipo di errore (da dmesg e da /var/log/messages).
Ho pero' riscontrato 2 problemi che mi impediscono di collegare il mio cellulare (prima con i bluez 2.x riuscivo!):
1) Se dal cellulare ricerco i dispositivi bluetooth raggiungibili il PC non viene riconosciuto.
2) Se dal PC cerco di collegarmi al cellulare tutto funziona fino alla richiesta del PIN: in particolare non riesco a capire come funziona ora la gestione dei PIN. Con i bluez 2.x c'era l'opzione pin_helper che faceva partire un programmino presente in kdebluetooth ed era tutto semplice. Ora c'e' l'opzione passkey in hcid.conf ma sembra non funzionare! Se infatti in hcid.conf inserisco la stringa:
passkey "123";
e al momento della connessioni sul cellulare inserisco 123 hcid restituisce i sequenti errori:

hcid[]: link_key_request (sba=XX:XX:XX:XX:XX:XX, dba=YY:YY:YY:YY:YY:YY)
hcid[]: pin_code_request(sba=XX:XX:XX:XX:XX:XX, dba=YY:YY:YY:YY:YY:YY)
hcid[]: call_passkey_agent(): no agent registered

Qualcuno ha qualche idea? Purtroppo non riesco a trovare nulla di interessante sulla documentazione dei bluez 3.x...

Grazie a tutti...
GiAn

Inviato: sab 19 ago 2006, 18:36
da twister
Sono nella tua stessa identica situazione, ho provato di tutto, mi mancano solo i riti vodoo :roll:

Inviato: sab 19 ago 2006, 19:16
da l1q1d

Inviato: sab 19 ago 2006, 19:23
da gianogli
Allora...
Ho perso tutto il pomeriggio attaccato a questi bluez e ho risolto alcuni problemi ma non tutto... :evil:
Da quello che ho capito bisogna aggiungere al pacchetto presente su slacky.it almeno un file e precisamente:
/etc/bluetooth/passkeys/default
il file default deve contenere il PIN di default: ad esempio "1234".
Nella stessa directory ci possono essere altri file (nome file = indirizzo del dispositivo per es. XX:XX:XX:XX:XX:XX): uno per ogni dispositivo che si vuole collegare: ognuno contiene il PIN per quel dispositivo!
Una volta fatto questo e scoperto che in /etc/inet.d esiste uno script bluetooth per avviare il tutto in automatico e senza scrivere righe in rc.local (probabilmente, lavorandoci su, si puo' convertire questo file in un rc.bluetooth!) ho fatto un test e l'errore
hcid[]: call_passkey_agent(): no agent registered
e' sparito!!!
Rimane il fatto che non riesco ancora a connettermi con il cellulare sempre per l'errore "PIN errato"!
Se qualcuno ha voglia (io adesso sto tornando al bluez 2.25) puo' dare un'occhiata al pacchetto debian che dovrebbe funzionare e che contiene diversi file in piu' rispetto a quello di slacky.it (per la gestione dei PIN) che potrebbero far funzionare il tutto!
Ciao ciao...
Se qcuno ha novita' faccia sapere!
GiAn

Inviato: sab 19 ago 2006, 19:27
da l1q1d
io l'ho configurato così:
Aggiungete al file /etc/modules.conf

alias bt-proto-0 l2cap
alias bt-proto-2 sco
alias bt-proto-3 rfcomm

Il file /etc/bluetooth/hcid.conf dovrebbe diventare così:

#
# HCI daemon configuration file.
#
## Sono stati tolti tutti i commenti che nel file originale c'erano

# HCId options
options {
autoinit yes;
security user;
pairing multi;
pin_helper /usr/bin/bluepin;
}

device {
name "%h Bluetooth";

class 0x3e0100;
iscan enable; pscan enable;
lm accept;
lp rswitch,hold,sniff,park;
#auth enable;
#encrypt enable;
}

In questa maniera il sistema richiederà come pin quello presente in /etc/bluetooth/pin

1234

Inviato: dom 20 ago 2006, 3:40
da gianogli
Ehm....
Ma che versione dei Bluez usi? Secondo me la 2.x in quanto l'opzione pin_helper e' stata eliminata dalla 3.x!
La versione 2.x funziona anche a me!!! Il problema sembra stare nella 3.x...
comunque grazie...
GiAn

P.S.: Ho tolto la 3.x e reinstallato la 2.x (megapack di slacky.it!), ricompilato kdebluetooth e ora sembra funzionare abbastanza bene... A proposito, dove posso trovare la versione aggiornata e/o magari le ultime patch da applicare a kdebluetooth? Grazie...

Inviato: dom 20 ago 2006, 9:20
da l1q1d
La versione è ancora la 2 e visto ceh funziona non vedo il motivo di cambiarla...
Per kbluetooth:
http://sourceforge.net/project/showfile ... _id=147546

Inviato: mar 22 ago 2006, 0:09
da useless
$!"$"£%"|!&|!"%!"$=&/!£&=

mi sono appena scontrato anch'io con questo problema, e non vi dico le bestemmie. non capisco per quale motivo NON CI SIA ASSOLUTAMENTE DOCUMENTAZIONE SU BLUEZ! questi con la versione 3 hanno sconvolto il funzionamento del loro programma, e ho trovato le differenze PER CASO su un sito dedicat a gentoo. non capisco, non capisco non capisco. mi han fatto veramente inca**are. non c'è MEZZA pagina che spiega cosa facciano tutti i vari demoni, ecc ecc. probabilmente, secondo gli sviluppatori mi sveglierò una mattina avendo sognato tutto ciò che gli passava per la testa. che nervi, dannazione. l'unica cosa che si trova sul sito di bluez è una serie di link ad howto preistorici.

comunque ho risolto. e la soluzione fa ancora più girare le palle. praticamente, le nuove bluez_utils sono pesantemente basate su d-bus, e quindi questa dipendenza, facoltativa per la serie 2.x, è ora obbligatoria.

praticamente, ora, per chiedere la password, bluez si appoggia ad un programma esterno, tale "passkey-agent". PECCATO CHE TALE PROGRAMMA NON VENGA INSTALLATO DAL make install! ma porc!!! lo trovate nella dir "hcid" al termine della compilazione, copiatelo nel pacchetto a mano.

come se già questo non bastasse, nessuno dei programmini atti a chiedere il pin è stato portato a questo nuovo meccanismo. quindi bisogna lanciare a mano sto cavolo di passkey-agent, così:

passkey-agent --default 1234

fatto questo, per magia tutto funzionerà. mi chiedo solo a chemmink*a serva la keyword "passkey" in hcid.conf, e idem per le varie /etc/bluetooth/passkeys/* che mi pare di aver capito servano. forse però è un modo delle altre distro di ovviare a sti casini.

aggiungo altre 2 cose:
- alcuni chip bt si incasinano con le ultime versioni di bluez. se avete un messaggio in syslog che dice:
hcid[6638]: Can't write inquiry mode for hci0: Input/output error (5)
allora dovete usare la versione cvs.
- lo script per l'init funziona 100% anche su slackware. io nello slackbuild, x slackwarizzare la cosa, faccio così:
# Arrange init scripts
CONF=/etc/rc.d/rc.bluetooth.conf
mv $PKG/etc/init.d/bluetooth $PKG/etc/rc.d/rc.bluetooth
mv $PKG/etc/default/bluetooth $PKG/etc/rc.d/rc.bluetooth.conf
sed -i s:/etc/default/bluetooth:$CONF:g $PKG/$CONF || exit $?
sed -i "s:\(HIDD_ENABLE=\).*:\1false:" $PKG/$CONF || exit $?
sed -i "s:\(HID2HCI_ENABLE=\).*:\1false:" $PKG/$CONF || exit $?
rm -rf $PKG/etc/{init.d,default}
così il tutto diventa + "slackwaroso".

adesso mi sbatto per capire se ci sono modi più comodi di fare tutto ciò.

scusate il tono di questo messaggio, ma mi han fatto VERAMENTE girare la palle.

Inviato: mar 22 ago 2006, 0:23
da useless
ho trovato questo, di suse:
These latest packages are updates to version 3.1, which brings some different configuration options.
WARNING: the YaST2 bluetooth module will not function correctly with these packages, especially the PIN and the security settings will not work out of the box.
You have to either: - set your pin in /etc/bluetooth/hcid.conf: security auto; passkey "your_PIN"; - set security to "user" in hcid.conf: security user; and then start passkey-agent before trying to pair your device: passkey-agent --default your_PIN
Passkey-agent won't exit once the device is paired, you have to abort it with CTRL-C.
This is a temporary solution, until kbluetoothd has support for DBUS and the YaST2 bluetooth module has been updated.
If you used the YaST2 bluetooth module or updated from an older version, you have to remove the "auth" and "encrypt" lines from hcid.conf, otherwise it probably won't work.
There are probably some more hidden problems in this new release. If you find some of them, don't hesitate to report a bug on http://bugzilla.novell.com.
Have a lot of fun...
quindi dovrebbero esserci 2 metodi, il primo dei quali senza il passkey. però a me non funziona... si vede che suse patcha bluez...

EDIT: no, _forse_ il pin in hcid.conf serve solo per le connessioni ENTRANTI.

domanda: ho capito male, o a parte la 1.0-beta1, le nuove versioni di kdebluetooth richiedono qt4 (e presumo kde4)? c'è modo di compilare il svn con qt3?

Inviato: mar 22 ago 2006, 1:30
da useless
ok, appurato tutto.

il sistema in /etc/bluetooth/passkeys, come descritto da gianogli, è un piccolo hack di debian, che è stato mia premura copiare e integrare nel mio pkg di bluez-utils.

in sostanza, in questo modo basta settare il pin che si vuole in /etc/bluetooth/passkeys/default, riavviare il tutto con lo script rc.bluetooth, e siete a posto.

i miei pkg son qua:
http://sukkonet.cjb.net/~sukko/slackwar ... 6-1suk.tgz
http://sukkonet.cjb.net/~sukko/slackwar ... 6-2suk.tgz

vi serviranno hal e dbus, almeno. trovate entrambi a http://sukkonet.cjb.net/~sukko/slackware/slackbuild/ se già non li avete, e ci trovate anche kdebluetooth (prendete sempre la build + recente della versione + recente).

se loris vuole copiare i pkg, faccia pure :).

enjoy!

Inviato: mar 22 ago 2006, 8:42
da l1q1d
Ma perchè hanno messo la dipendenza con dbus?

Inviato: mar 22 ago 2006, 12:29
da twister
Sono inaxxato anche io infatti useless, grazie per la soluzione all'enigma, ora devo solo riuscire a far andare anche rfcomm :?

Inviato: mar 22 ago 2006, 12:45
da Loris
useless ha scritto:se loris vuole copiare i pkg, faccia pure :)
Giorgio... faccio di più, ti frego direttamente lo SlackBuild ;)

Inviato: mar 22 ago 2006, 13:10
da twister
Nulla da fare, con questi pacchetti sono tornato al vecchio problema: il telefono non vede il pc e viceversa... quindi a malincuore resto alla 2, solo che non va rfcomm per accoppiare telefono e cell, mi da sempre connection refused :cry:

Inviato: mar 22 ago 2006, 13:44
da gianogli
Sicuro che serva anche hal? Sul sito del Bluez mi sembra di aver letto la dipendenza solo di dbus e ho installato solo quest'ultimo... Sara' forse questo il problema?

A me gli rfcomm funzionano! (Ho provato anche il software kmobiletools e il cell si collega qsi senza problemi...)
Gli unici problemi che ho avuto di connesion refused erano dovuti ai permessi deldevice /dev/rfcomm0 che era root:root. L'ho modificato a gianogli:users e tutto funziona!

Per quello che riguarda kdebluetooth sono andato sul sito che mi hanno segnalato ma le ultime modifiche risalgono a ben 2 anni fa! Niente di piu' recente? Tra l'altro con i bluez 2.x riesco a vedere le directory picture, music ed image del mio cellulare ma quando cerco di entrarci konqueror mi chiede con che programma le deve aprire e non si riesce in nessun modo: questa situazione non doveva essere corretta dalla patch presente nel repository?

Grazie a tutti...

Ciao ciao...
GiAn