Collegare un mouse Bluetooth

 

 

 

Prologo

 

Logico che per collegare un mouse Bluetooth, il mouse sia acceso con batterie nuove o cariche e che funzioni bene, che il servizio Bluetooth su Linux sia attivato e si disponga di un programma, di solito fornito dal Desktop (esempio, menu KDE5→Impostazioni→Bluetooth) e di un attimo di pazienza, meglio se non ci siamo altri dispositivi Bluetooth accesi nella vicinanza.

 

Qui si affronta il riconoscimento del mouse Bluetooth ma tecnicamente è anche di qualsiasi dispositivo che si voglia collegare al PC con il ​​ Bluetooth.

 

Vecchie guide in fondo sempre valide anche se OpenSUSE 11 e in inglese per altri supporti:

SDB:Bluetooth headphones , SDB:Bluetooth kinputwizard , SDB:ELM327 based ODB2 scan tool , SDB:Nokia E72 umts bluetooth . Qualche volta occorre qualche modulo aggiuntivo: Esempio per collegare audio in pulseaudio occorre pulseaudio-module-bluetooth e alsa-firmware.

 

 

 

 

 

 

Attenzione: Per risparmiare energia su un laptop e per essere protetto contro gli hack di bluetooth (è facilmente bucabile e consuma un sacco), il modulo bluetooth dovrebbe essere abilitato solo quando necessario. Usa la combinazione di tasti Fn (ad esempio Fn + F5, a seconda del modello del tuo laptop) per accenderlo / spegnerlo.

 

 

 

 

 

 

 ​​ ​​​​ Attenzione il modulo YaST Bluetooth non funziona più. Speriamo che qualcuno provveda, comunque ora è demandato su utilità del Desktop stesso.

 

 

Il problema è semmai che esistono diversi modi, vediamoli..

 

Prima di tutto

 

-Ma si può collegare?

​​ Attenzione: Spesso ci sono mouse Bluetooth che NON si possono collegare direttamente ma solo con l’apposito adattatore e per esempio il mouse Samsonite (che è pure un lusso) questo adattatore è nascosto all’interno del mouse (mini-mouse) stesso al fianco della batteria! Solo leggendo attentamente le istruzioni che si scopre. 😁 Ogni tentativo di connessione diretta in questo caso è quindi inutile!

 

Un indizio è che non ci sono driver per questo mouse o dispositivo e che disponga di un adattatore che va agganciato alla presa USB o simili.

 

Il problema è che Bluetooth deve essere riconosciuto in ambedue le direzioni sia dal PC che dal dispositivo e per semplificare hanno predisposto il dispositivo già con il riconoscimento pre-inserito. Quindi è un problema hardware che si può risolvere solo intervenendo meccanicamente.

 

-Il servizio?

Occorre un programma (Controller BT, BT è per BlueTooth) della classe dei servizi ed è la prima cosa da controllare. Il controller-BT-GUI è l’interfaccia grafica per usarla in modo più comodo.

Deve:

1) Il programma controller esegue la scansione per i dispositivi disponibili

2) L'utente sceglie il dispositivo con cui effettuare l'accoppiamento

3) Il controller e il dispositivo si scambiano il PIN

4) Accoppiamento effettuato. Mantenere la connessione e riconnessione.

 

Potete controllare se attivo da Yast→ Servizi oppure da terminale con:

systemctl status bluetooth

 

Se dice che è fermo, avviatelo con:

systemctl start bluetooth

 

Per abilitarlo all’avvio:

systemctl enable ​​ bluetooth

 

--Non parte il servizio?

Spesso se è inattivo potete provare con:

​​ hciconfig hci0 up

se non funziona (un killwitch impegnato?) anche con:

/sys/class/rfkill/rfkill*/name

/sys/class/rfkill/rfkill*/state

e poi riprovare.

Rfkill serve anche per vedere se è bloccata o meno un attività hardware

/usr/sbin/rfkill list

emette per esempio:

/usr/sbin/rfkill list
0: phy0: Wireless LAN
       Soft blocked: yes
       Hard blocked: no
1: hci0: Bluetooth
       Soft blocked: no
       Hard blocked: no

Nell’esempio esiste un blocco software per il Wireless ma non hardware, mentre per il Bluetooth non esiste blocco.

Vedere comando rfkill per sapere come procedere.

---LOG

Se non parte controllare i log (informazioni d’errore scritti in un file) con:

systemctl --failed

per verificare da quando non parte. Al load (caricamento) , active (durante l’uso) o sub (attraverso altri).

Grazie i log potete sapere con precisione il perché e qui lo mostra:

journalctl -r -u bluetooth

Questo per catturare il log su un file:

journalctl -r -u bluetooth > /tmp/bluetoothd.out

 

Logico che qui andiamo sul complicato, quindi molti di voi dovranno ricorrere al Forum e riportate qui i LOG.

 

--Il LED Bluetooth sul mio laptop è spento

con

sudo hcitool scan

​​ dice all’incirca:

“Il dispositivo non è disponibile: nessun dispositivo del genere”

 

I computer portatili hanno spesso un LED dedicato che mostra lo stato. Per esempio. un Lenovo X60s ha l'indicatore hardware Bluetooth tra la WLAN e l'indicatore Num-Lock.

 

Il Bluetooth non funziona mentre il LED è spento. Un laptop Lenovo x60s ha uno switch hardware sotto il suo bordo anteriore, che deve essere spinto sul lato destro, per abilitare Bluetooth e WLAN.

 

Se il LED WLAN è acceso, ma il LED Bluetooth rimane spento, prova a premere Fn-F5. A volte ciò è necessario dopo una Sospensione / Ripresa o se si spegne irregolarmente.

Se necessari passare al capitolo “--Non parte il servizio?”

 

Vari tipi di dispositivo

 

Ci sono diversi tipi di collegamento da parte dell’hardware del dispositivo da collegare:

​​ 

-Dispositivo ad auto-riconoscimento

 

Sono quelli più moderni, esempio i Microsoft o gli Apple, dispongono di un apposito bottone sul fianco per facilitare il riconoscimento.

 

 

 

 

 

 

 

In questo caso è semplice:

  • Tenere premuto il pulsante di connessione nella parte inferiore del mouse. Se il dispositivo include una spia per la batteria, questa (ma dipende dal modello) si illuminerà alternativamente di colore rosso e verde per indicare che il dispositivo è individuabile.

  • Nel computer aprire il software Bluetooth.

  • Fare clic sulla scheda Dispositivi, quindi scegliere Aggiungi.

  • Seguire le istruzioni visualizzate.

  • Se chiede la password del dispositivo non digitate nulla, se si incavola con il nulla vedere “-Dispositivo con password”.

Al massimo se il mouse è riconosciuto ma non funziona andare qui.

-Dispositivo con password

 

Di solito è specificato sulla scatola o sul libretto d’uso del dispositivo.

In questo caso sul programma di riconoscimento vi compare il mouse nella lista del programma ma poi bisogna inserire la password del dispositivo.

Questa password è di solito 0000 (quattro zeri) oppure un codice scritto sul un pezzetto di carta appiccicata o sotto il mouse (che intelligenti, dopo poco sbiadisce) oppure appiccicato sulle istruzioni che si sa che si perderanno. 😘😁

Se il mouse è riconosciuto ma non funziona andare qui.

-Dispositivo con USB

Ci sono dispositivi che possono essere connessi anche con il mouse, in questo caso collegateli prima con la USB.

Date da Terminale il comando

lsusb

 

Da qui potete sapere come si chiama il dispositivo.

Poi procedete come al solito per i dispositivi Bluetooth. In effetti questi dispositivi una volta collegati con il USB imparano come si chiama il PC, e quindi saltano la procedura di controllo del riconoscimento.

Niente programma Bluetooth

Non possedete un programma per Bluetooth (i Desktop forniscono uno loro ma i Windows-Manager detti WM non lo hanno) o impostazioni ​​ o che funzionano?

  • GNOME : gnome-bluetooth

  • KDE : ​​ bluedevil (kbluetooth per KDE3)

  • Altri (di solito WM) in Gtk2: blueman

  • Altri: bluez ​​ 

Blueman e ​​ KBluetooth sono deprecati e non più sviluppati.

Niente paura esiste sempre la linea di comando!👏

Digitate su un Terminale (esempio Konsole)

dmesg | grep Blue

dpkg -l | grep blue

Uno fa vedere i messaggi di connessione riguardanti Bluetooth e l’altro i servizi appesi al servizio Bluetooth.

Da questi due comandi scoprirete dove è il vostro mouse Bluetooth.

Prima esecuzione

hcitool scan

per ottenere l'indirizzo MAC del bluetooth ( questo è $BTADDRESS) dal programma di scan si esce con CTRL+C se si dilunga più di un minuto.

Esempio di output:

# hcitool scan

 ​​ ​​ ​​ ​​ ​​ ​​​​ Scanning ...

 ​​ ​​ ​​ ​​ ​​ ​​​​ XX:XX:XX:XX:XX:XX  ​​ ​​ ​​ ​​ ​​​​ Microsoft Bluetooth Notebook Mouse 5000

Nota esempio: XX:XX:XX:XX:XX:XX è il $BTADDRESS da segnarsi.

Dopo la connessione iniziale associamo il dispositivo con

hidd --connect $BTADDRESS

  • è necessario eseguire

/usr/share/doc/bluez/examples/test-device trusted $BTADDRESS

per abilitare le successive riconnessioni automatiche (ad es. al riavvio).

-Esempio

Esempio (peso da un forum) di come può apparire l’esecuzione dei comandi:

dmesg | grep Blue

[  ​​​​ 95.870149] Bluetooth: Core ver 2.21
[  ​​​​ 95.870171] Bluetooth: HCI device and connection manager initialized
[  ​​​​ 95.870176] Bluetooth: HCI socket layer initialized
[  ​​​​ 95.870178] Bluetooth: L2CAP socket layer initialized
[  ​​​​ 95.870184] Bluetooth: SCO socket layer initialized
[  ​​​​ 96.330565] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[  ​​​​ 96.330569] Bluetooth: BNEP filters: protocol multicast
[  ​​​​ 96.330577] Bluetooth: BNEP socket layer initialized
[  ​​​​ 96.431728] Bluetooth: RFCOMM TTY layer initialized
[  ​​​​ 96.431740] Bluetooth: RFCOMM socket layer initialized
[  ​​​​ 96.431750] Bluetooth: RFCOMM ver 1.11
[ ​​ 104.511265] Bluetooth: HIDP (Human Interface Emulation) ver 1.2
[ ​​ 104.511277] Bluetooth: HIDP socket layer initialized
[ ​​ 104.513918] input: Trust Bluetooth Mouse as /devices/pci0000:00/0000:00:12.0/usb3/3-2/3-2:1.0/bluetooth/hci0/hci0:1/0005:05AC:3232.0002/input/input15
[ ​​ 104.516949]
hid-generic 0005:05AC:3232.0002: input,hidraw1: BLUETOOTH HID v0.01 Mouse [Trust Bluetooth Mouse] on 00:11:67:ce:f3:8f

 

Qui si riconosce dove è il mouse. E...

dpkg -l | grep blue

 

ii ​​ blueman  ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ 2.0.4-1ubuntu2  ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ amd64  ​​ ​​ ​​ ​​ ​​ ​​​​ Graphical bluetooth manager
ii ​​ 
bluez  ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ 5.37-0ubuntu5  ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ amd64  ​​ ​​ ​​ ​​ ​​ ​​​​ Bluetooth tools and daemons
ii ​​ bluez-cups  ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ 5.37-0ubuntu5  ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ amd64  ​​ ​​ ​​ ​​ ​​ ​​​​ Bluetooth printer driver for CUPS
ii ​​ bluez-obexd  ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ 5.37-0ubuntu5  ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ amd64  ​​ ​​ ​​ ​​ ​​ ​​​​ bluez obex daemon
ii ​​ libbluetooth3:amd64  ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ 5.37-0ubuntu5  ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ amd64  ​​ ​​ ​​ ​​ ​​ ​​​​ Library to use the BlueZ Linux Bluetooth stack

Come potete vedere in questo caso il programma di conoscimento Bluetooth è l’ottimo Bluez di Ubunto.

Quindi? La soluzione completa di questo caso è qui:

https://forum.ubuntu-it.org/viewtopic.php?f=9&t=621795

Con Bluez basta aggiustare tre file e vi rimando ad un forum in quanto le impostazioni variano da mouse e da programma (magari non avete Bluez) di riconoscimento.

È riconosciuto ma non funziona

Con il comando

hcitool con

vedete se è collegato.

Se non viene utilizzato come tale ma solo riconosciuto, esempio è stato rilevato, registrato ma il mouse non funziona, entrate in Impostazioni→ Dispositivi Immissioni →Mouse oppure (non è strano) Joystick.

Di solito basta questo, se non basta vi rimando ad un forum in quanto le impostazioni variano da mouse e da programma di riconoscimento.

Modalità HID, come posso passare alla modalità HCI?

I set tastiera / mouse Blueooth (BT) sono dotati di dongle bluetooth USB proprietario e funzionano come una tastiera / mouse usb standard dal punto di vista del computer.

Dopo l'avvio, il dongle USB è in esecuzione nella modalità "Human interface device" (HID). Questo comportamento consente di utilizzare la tastiera / il mouse BT solo con BIOS.

Quindi, quando il sistema viene avviato e il sottosistema bluetooth è operativo, il dongle USB può essere commutato sulla modalità "Host Controller Interface" (HCI).

Quindi il dongle usb funziona come un controller BT e la tastiera / il mouse sono collegati al sistema come dispositivi BT.

L'utilità hid2hci dovrebbe coprire l'intero trasferimento, ma funziona solo per un paio di dispositivi (appena segnalato, non ne ho visto nessuno). In genere ho visto che la tastiera / mouse BT è utilizzata in modalità HID con il dongle bluetooth proprietario o la tastiera / mouse BT è utilizzata come ingresso secondario accoppiato ad altri controller HCI bt (tipicamente notebook).

 

Analizzare il protocollo Bluetooth

 

Se si desidera analizzare il protocollo Bluetooth, è possibile utilizzare hcidump e wireshark. Ad esempio, per vedere il dispositivo BT che risponde al comando hcitool scan, effettuare le seguenti operazioni:

  • Mettere il dispositivo BT nella modalità di associazione

  • Come comando di emissione di root

    hcidump -t -w test

  • Come comando di emissione utente

    hcitool scan

    ​​ attendere il completamento del comando

  • Interrompi con Ctrl-C il test

    hcidump -t -w

  • Avvia wireshark e apri il file di test.

Sul Forum

I Forum di OpenSUSE:

https://it.opensuse.org/openSUSE:Elenco_dei_forum

Prima di collegarvi con un Forum (lasciate perdere facebook e simili) meglio che predisponiate di questo:

Specificate il modello di mouse e distribuzione Linux e tipo di Desktop (KDE4 o KDE5, Gnome, ecc..)

Dunque preparate i risultati da terminale di :

systemctl status bluetooth

hcitool scan

hciconfig

dpkg -l | grep blue

dmesg | grep Blue

bluetoothctl (si esce con il comando “quit”)

I suoi sotto comandi:

[bluetooth]# show

[bluetooth]# devices

[bluetooth]# info <mac addr of any device you have problems with>

[bluetooth]# quit

Meglio anche riportare i LOG.

Ricordatevi la netiquette ovvero le norme di come comportarsi, abbiate pazienza e educazione (se non la danno non rispondete come non rispondete allo spiritoso), sappiate che chi risponde non è pagato da nessuno quindi nessuna pretesa, usate gentilezza, provate su più forum, rispondete subito, se trovata la soluzione riportatela e chiudete la discussione e ringraziate sempre!

Ciaooooooooooooooooooooooooooooooo

Precedente Problema connessione in OpenSUSE Successivo Midnight Commander