web-dev-qa-db-fra.com

Problème de dongle Bluetooth

Comme problème de dongle Bluetooth. (Probablement en ce qui concerne le pilote) J'efface le même problème que le périphérique Bluetooth ne s'initialisera pas correctement:

$ lsusb | grep Bluetooth
Bus 001 Device 006: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)

$ usb-devices | awk '/0a12/' RS=
T:  Bus=01 Lev=02 Prnt=02 Port=02 Cnt=01 Dev#=  6 Spd=12  MxCh= 0
D:  Ver= 1.10 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=0a12 ProdID=0001 Rev=88.91
S:  Product=USB1.1-A
C:  #Ifs= 2 Cfg#= 1 Atr=e0 MxPwr=100mA
I:  If#= 0 Alt= 0 #EPs= 3 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
I:  If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb

$ hciconfig -a hci0
hci0:   Type: Primary  Bus: USB
    BD Address: 00:1A:7D:DA:71:11  ACL MTU: 679:9  SCO MTU: 48:16
    DOWN 
    RX bytes:574 acl:0 sco:0 events:30 errors:0
    TX bytes:368 acl:0 sco:0 commands:30 errors:0
    Features: 0xff 0xff 0xc5 0xfa 0xdb 0xbf 0x7b 0x87
    Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3 
    Link policy: RSWITCH HOLD SNIFF PARK 
    Link mode: SLAVE ACCEPT

$ hcidump
...
> HCI Event: Command Complete (0x0e) plen 12
    Read Local Version Information (0x04|0x0001) ncmd 1
    status 0x00
    HCI Version: 4.0 (0x6) HCI Revision: 0x810
    LMP Version: 4.0 (0x6) LMP Subversion: 0x1113
    Manufacturer: Cambridge Silicon Radio (10)
...
> HCI Event: Command Complete (0x0e) plen 6
Delete Stored Link Key (0x03|0x0012) ncmd 1
status 0x11 deleted 0
Error: Unsupported Feature or Parameter Value

Vous ne verrez que le dernier événement HCI pour Error: Unsupported Feature or Parameter Value Tant que vous n'avez pas appliqué le patch. Après le correctif, vous ne verrez pas l'événement/la commande dans la sortie de hcidump.

Cela fonctionne bien dans Windows 10, mais pas à Ubuntu 18.04 (non pas avec le noyau 5.3). Blueman ne reconnaît pas les périphériques Bluetooth.

Je reçois cela lors de l'insertion du dongle USB Bluetooth:

jan 26 21:10:38 some-computer kernel: usb 1-1.3: new full-speed USB device number 6 using ehci-pci
jan 26 21:10:38 some-computer kernel: usb 1-1.3: config 1 interface 1 altsetting 0 endpoint 0x3 has wMaxPacketSize 0, skipping
jan 26 21:10:38 some-computer kernel: usb 1-1.3: config 1 interface 1 altsetting 0 endpoint 0x83 has wMaxPacketSize 0, skipping
jan 26 21:10:38 some-computer kernel: usb 1-1.3: New USB device found, idVendor=0a12, idProduct=0001, bcdDevice=88.91
jan 26 21:10:38 some-computer kernel: usb 1-1.3: New USB device strings: Mfr=0, Product=2, SerialNumber=0
jan 26 21:10:38 some-computer kernel: usb 1-1.3: Product: USB1.1-A
jan 26 21:10:38 some-computer systemd[1]: Starting Load/Save RF Kill Switch Status...
jan 26 21:10:38 some-computer systemd[1]: Started Load/Save RF Kill Switch Status.
jan 26 21:10:38 some-computer systemd[1]: Reached target Bluetooth.
jan 26 21:10:38 some-computer upowerd[9037]: unhandled action 'bind' on /sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.3/1-1.3:1.1
jan 26 21:10:38 some-computer upowerd[9037]: unhandled action 'bind' on /sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.3/1-1.3:1.0
jan 26 21:10:38 some-computer upowerd[9037]: unhandled action 'bind' on /sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.3
jan 26 21:10:38 some-computer kernel: [UFW BLOCK] IN=eno1 OUT= MAC= SRC=<REMOVED from output by me!> DST=ff02:0000:0000:0000:0000:0000:0000:0001 LEN=64 TC=0 HOPLIMIT=1 FLOWLBL=939113 PROTO=UDP SPT=8612 DPT=8612 LEN=24 

J'espère que quelqu'un a un indice comme quoi faire.

J'ai des informations complémentaires.

Il s'agit de celui-ci: https://launchstudio.bluetooth.com/listtingDétails/7527 et probablement des puce (s) pertinentes sont les suivantes: http://en.barrot.com.cn /a/br80xx-series/48.html et http://en.barrot.com.cn/a/br200xxilie/12.html

Remarque: On m'a demandé de créer cela comme une question distincte pour éviter que mes commentaires précédents (ajoutés comme une réponse dans la question mentionnée dans le début) seront supprimés.

Images trouvées sur Internet qui correspond à des subventions spécifiques 'BQB 75270' LMP ( identifiées par l'utilisateur):

Subversion LMP ( A.L): 0x1113

Subversion LMP ( [~ # ~ ~] BXL [~ # ~] - Produit 3 Dans l'image ci-dessous): 0x1712

Subversions LMP actuellement inconnues pour Produits 1 et 2 ci-dessous.

Cliquez pour une image plus grande: -Other BQB75270 dongles

7
a.l

Il était possible de faire un patch qui rend le dongle travail de Linux, mais nous avons du travail à faire avant de l'obtenir dans le noyau. Donc, le dongle utilise une fausse puce CSR faite par Barrot comme mentionné précédemment. Nous devons contacter le support de noyau Linux pour un soutien Bluetooth, mais avant de faire cela, nous avons besoin de plus de personnes que de confirmer que cela fonctionne. Et puis je posterai nos résultats ici: https://bugzilla.kernel.org/show_bug.cgi?id=60824#C48 puis contactez ensuite les responsables du noyau (et essayez de vous conformer Avec les "conseils pour les auteurs de patch" https://www.kernel.org/doc/linux/Maintaineries )

Veuillez tester

Quiconque souhaiterait que le support du noyau Veuillez tester ce correctif et écrire avec vos résultats dans les commentaires. J'ai utilisé le noyau 5.3. Votre noyau peut varier en ce qui concerne les numéros de ligne, etc. Vous voudrez peut-être vérifier ces re. Comment découvrir les noyaux Ubuntu - sauf si vous utilisez des noyaux de https://www.kernel.org/ :

https://wiki.ubuntu.com/kernelteam/gitkernelbuild et Comment/Où pour cloner le noyau actuel 18.04 (5.0.0-37-générique), en utilisant spécifiquement GIT et https://unix.stackexchange.com/questions/46077/4077/where-to-townload-Linux-kernel-source-code-of-a-specific-verse/46088#46088 et https://stackoverflow.com/questions/8519880/git-checkout-excurde-tags-remotes-de-Possibiles-list et HTTPS : //stackoverflow.com/questions/3404936/show-qui-git-tag-you-are-on/3405221#3405221 (J'ai utilisé: Git Checkout Ubuntu-Hwe-5.3.0-28.30_18. 04.1):

diff -Nuar btusb.c_OLD btusb.c
--- btusb.c_OLD 2020-01-29 12:32:30.383536820 +0100
+++ btusb.c 2020-01-29 12:33:49.579840488 +0100
@@ -1599,7 +1599,8 @@

    /* Detect controllers which aren't real CSR ones. */
    if (le16_to_cpu(rp->manufacturer) != 10 ||
-       le16_to_cpu(rp->lmp_subver) == 0x0c5c) {
+       le16_to_cpu(rp->lmp_subver) == 0x0c5c ||
+            le16_to_cpu(rp->lmp_subver) == 0x1113) {
        /* Clear the reset quirk since this is not an actual
         * early Bluetooth 1.1 device from CSR.
         */
@@ -3851,7 +3852,7 @@
            set_bit(HCI_QUIRK_RESET_ON_CLOSE, &hdev->quirks);

        /* Fake CSR devices with broken commands */
-       if (bcdDevice <= 0x100 || bcdDevice == 0x134)
+       if (bcdDevice <= 0x100 || bcdDevice == 0x134 || bcdDevice == 0x8891)
            hdev->setup = btusb_setup_csr;

        set_bit(HCI_QUIRK_SIMULTANEOUS_DISCOVERY, &hdev->quirks);

, le fichier est situé dans la source du noyau: pilotes/Bluetooth

Comment déterminer si vous avez le même dongle

  1. Insérez votre dongle Bluetooth USB dans un port USB de votre ordinateur.

  2. Avoir deux fenêtres terminales ouvertes.

  3. Dans la première fenêtre, commencez:

    hcidump
    

Ubuntu: Vous pouvez installer le programme via le paquet 'BlueZ-HCIDUMM'.

  1. Dans la deuxième fenêtre, commencez:

    Sudo hciconfig hci0 down
    
    Sudo hciconfig hci0 up
    

Assurez-vous d'activer le dongle Bluetooth dans votre gestionnaire Bluetooth ou vous obtiendrez un message d'erreur E.g.:

Can't init device hci0: Operation not supported (95)

(Pour ceux qui ne fonctionnent pas avec le patch (ou un dongle incorrect/non supporté))

Can't init device hci0: Operation not possible due to RF-kill (132)

(sera probablement montré si votre dongle est pris en charge/le patch a été appliqué)

Vous pouvez installer le programme HCiconfig et en avez évidemment besoin pour le support Bluetooth Ubuntu: "BlueZ".

  1. Localisez-vous maintenant dans le premier terminal les lignes:

    \> HCI Event: Command Complete (0x0e) plen 12
        Read Local Version Information (0x04|0x0001) ncmd 1
    

Assurez-vous de disposer de la même sortie de HCiconFIG indiquée en haut de la question pour cet événement/commande.

Nous par ex. Besoin de connaître la subversion et le fabricant du LMP, pour être sûr qu'il est identique au dongle que je me réfère.

  1. Assurez-vous que vous avez la même sortie de HCiconFIG indiquée en haut de la question de cet événement/commande:

    \> HCI Event: Command Complete (0x0e) plen 6
    Delete Stored Link Key (0x03|0x0012) ncmd 1
    

, re. Statut et renvoie-t-il "Erreur: fonctionnalité non prise en charge ou valeur de paramètre". Comme mentionné ci-dessus, vous ne verrez ce message que tant que vous n'avez pas appliqué le patch.

  1. Assurez-vous que vous avez la même sortie de périphériques USB Re. Votre dongle Bluetooth USB a déclaré en haut de la question pour cette commande:

    usb-devices | awk '/0a12/' RS=
    

Ubuntu: Vous devez installer le package 'USButils' Package pour obtenir les périphériques USB du programme.

5
a.l