J’ai un problème pour le plugin BLEA avec la selection du port USB
J’arrive clairement à identifier les ports USB de 3 clés USB sur les 4
/dev/ttyUSB1 = Bus 001 Device 009: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter
/dev/ttyUSB0 = Bus 001 Device 006: ID 10c4:ea60 Cygnal Integrated Products, Inc. CP2102/CP2109 UART Bridge Controller [CP210x family]
/dev/ttyACM0 = Bus 001 Device 005: ID 0658:0200 Sigma Designs, Inc. Aeotec Z-Stick Gen5 (ZW090) - UZB
Par contre pour ma clé USB Bluetooth pour le plugin BLEA, je ne sais ou la trouver ?
Bus 001 Device 010: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)
Si je ne me trompe pas, tu as toutes tes clefs sur un hub auto alimenté, non?
As-tu testé de connecter la clef sur l’avant du NAS (si le hub est connecté à l’arrière)?
J’ai remarqué (je ne sais pas pourquoi et si cela est un hasard) que cela jouait un rôle. Mais je peux me tromper (car ce n’est pas forcément logique).
Bref, tester un autre port que celui du NAS.
Es-tu certain que la clef est reconnue par défaut?
As-tu redémarré le NAS après avoir branché la clef (cela joue également… dans mon cas du moins).
Oui en effet, j’ai un Hub USB alimenté.
Sur mon installation en Docker mode Host, Ma clé SENA UD100 est parfaitement reconnu par le plugin BLEA
Sur une installation de test Docker avec un reseau macvlan, c’est la seule clé que je n’arrive pas à identifier
Le plugin me donne comme proposition que Aucun
Donc je me suis dit je vais mapper le port du syno vers celui du conteneur
Mais sur le syno, je n’y arrive pas. De plus les commandes en SSH sont limités sur le syno
Par exemple la commande lsusb -v n’existe pas
Heuresement que je peux uliser les commandes SSH de jeedom lsusb.txt (800 Octets) lsusbt.txt (956 Octets) lsusbv.txt (34,4 Ko)
@Kyoshi voici avec ma clé SENA UD100 seule branché
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID f400:f400
Bus 001 Device 011: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/6p, 5000M
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/7p, 480M
|__ Port 4: Dev 11, If 0, Class=Wireless, Driver=btusb, 12M
|__ Port 4: Dev 11, If 1, Class=Wireless, Driver=btusb, 12M
|__ Port 5: Dev 3, If 0, Class=Mass Storage, Driver=usb-storage, 480M
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 3.00
bDeviceClass 9 Hub
bDeviceSubClass 0 Unused
bDeviceProtocol 3
bMaxPacketSize0 9
idVendor 0x1d6b Linux Foundation
idProduct 0x0003 3.0 root hub
bcdDevice 3.10
iManufacturer 3 Linux 3.10.105 xhci_hcd
iProduct 2 xHCI Host Controller
iSerial 1 0000:00:14.0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 31
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xe0
Self Powered
Remote Wakeup
MaxPower 0mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 9 Hub
bInterfaceSubClass 0 Unused
bInterfaceProtocol 0 Full speed (or root) hub
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0004 1x 4 bytes
bInterval 12
bMaxBurst 0
Hub Descriptor:
bLength 12
bDescriptorType 42
nNbrPorts 6
wHubCharacteristic 0x000a
No power switching (usb 1.0)
Per-port overcurrent protection
bPwrOn2PwrGood 10 * 2 milli seconds
bHubContrCurrent 0 milli Ampere
bHubDecLat 0.0 micro seconds
wHubDelay 0 nano seconds
DeviceRemovable 0x60
Hub Port Status:
Port 1: 0000.02a0 5Gbps power Rx.Detect
Port 2: 0000.02a0 5Gbps power Rx.Detect
Port 3: 0000.02a0 5Gbps power Rx.Detect
Port 4: 0000.02a0 5Gbps power Rx.Detect
Port 5: 0000.02a0 5Gbps power Rx.Detect
Port 6: 0000.02a0 5Gbps power Rx.Detect
Binary Object Store Descriptor:
bLength 5
bDescriptorType 15
wTotalLength 15
bNumDeviceCaps 1
SuperSpeed USB Device Capability:
bLength 10
bDescriptorType 16
bDevCapabilityType 3
bmAttributes 0x02
Latency Tolerance Messages (LTM) Supported
wSpeedsSupported 0x0008
Device can operate at SuperSpeed (5Gbps)
bFunctionalitySupport 3
Lowest fully-functional device speed is SuperSpeed (5Gbps)
bU1DevExitLat 10 micro seconds
bU2DevExitLat 512 micro seconds
Device Status: 0x0001
Self Powered
Bus 001 Device 003: ID f400:f400
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0xf400
idProduct 0xf400
bcdDevice 1.00
iManufacturer 1 Synology
iProduct 2 DiskStation
iSerial 3 6500623365A34F26
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 32
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x80
(Bus Powered)
MaxPower 200mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 8 Mass Storage
bInterfaceSubClass 6 SCSI
bInterfaceProtocol 80 Bulk-Only
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Device Qualifier (for other device speed):
bLength 10
bDescriptorType 6
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
bNumConfigurations 1
Device Status: 0x0000
(Bus Powered)
Bus 001 Device 011: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 224 Wireless
bDeviceSubClass 1 Radio Frequency
bDeviceProtocol 1 Bluetooth
bMaxPacketSize0 64
idVendor 0x0a12 Cambridge Silicon Radio, Ltd
idProduct 0x0001 Bluetooth Dongle (HCI mode)
bcdDevice 82.41
iManufacturer 0
iProduct 0
iSerial 0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 177
bNumInterfaces 2
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xc0
Self Powered
MaxPower 0mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 3
bInterfaceClass 224 Wireless
bInterfaceSubClass 1 Radio Frequency
bInterfaceProtocol 1 Bluetooth
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0010 1x 16 bytes
bInterval 1
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 1
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 1
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 224 Wireless
bInterfaceSubClass 1 Radio Frequency
bInterfaceProtocol 1 Bluetooth
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x03 EP 3 OUT
bmAttributes 1
Transfer Type Isochronous
Synch Type None
Usage Type Data
wMaxPacketSize 0x0000 1x 0 bytes
bInterval 1
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 1
Transfer Type Isochronous
Synch Type None
Usage Type Data
wMaxPacketSize 0x0000 1x 0 bytes
bInterval 1
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 1
bNumEndpoints 2
bInterfaceClass 224 Wireless
bInterfaceSubClass 1 Radio Frequency
bInterfaceProtocol 1 Bluetooth
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x03 EP 3 OUT
bmAttributes 1
Transfer Type Isochronous
Synch Type None
Usage Type Data
wMaxPacketSize 0x0009 1x 9 bytes
bInterval 1
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 1
Transfer Type Isochronous
Synch Type None
Usage Type Data
wMaxPacketSize 0x0009 1x 9 bytes
bInterval 1
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 2
bNumEndpoints 2
bInterfaceClass 224 Wireless
bInterfaceSubClass 1 Radio Frequency
bInterfaceProtocol 1 Bluetooth
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x03 EP 3 OUT
bmAttributes 1
Transfer Type Isochronous
Synch Type None
Usage Type Data
wMaxPacketSize 0x0011 1x 17 bytes
bInterval 1
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 1
Transfer Type Isochronous
Synch Type None
Usage Type Data
wMaxPacketSize 0x0011 1x 17 bytes
bInterval 1
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 3
bNumEndpoints 2
bInterfaceClass 224 Wireless
bInterfaceSubClass 1 Radio Frequency
bInterfaceProtocol 1 Bluetooth
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x03 EP 3 OUT
bmAttributes 1
Transfer Type Isochronous
Synch Type None
Usage Type Data
wMaxPacketSize 0x0019 1x 25 bytes
bInterval 1
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 1
Transfer Type Isochronous
Synch Type None
Usage Type Data
wMaxPacketSize 0x0019 1x 25 bytes
bInterval 1
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 4
bNumEndpoints 2
bInterfaceClass 224 Wireless
bInterfaceSubClass 1 Radio Frequency
bInterfaceProtocol 1 Bluetooth
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x03 EP 3 OUT
bmAttributes 1
Transfer Type Isochronous
Synch Type None
Usage Type Data
wMaxPacketSize 0x0021 1x 33 bytes
bInterval 1
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 1
Transfer Type Isochronous
Synch Type None
Usage Type Data
wMaxPacketSize 0x0021 1x 33 bytes
bInterval 1
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 5
bNumEndpoints 2
bInterfaceClass 224 Wireless
bInterfaceSubClass 1 Radio Frequency
bInterfaceProtocol 1 Bluetooth
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x03 EP 3 OUT
bmAttributes 1
Transfer Type Isochronous
Synch Type None
Usage Type Data
wMaxPacketSize 0x0031 1x 49 bytes
bInterval 1
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 1
Transfer Type Isochronous
Synch Type None
Usage Type Data
wMaxPacketSize 0x0031 1x 49 bytes
bInterval 1
Device Status: 0x0001
Self Powered
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 9 Hub
bDeviceSubClass 0 Unused
bDeviceProtocol 1 Single TT
bMaxPacketSize0 64
idVendor 0x1d6b Linux Foundation
idProduct 0x0002 2.0 root hub
bcdDevice 3.10
iManufacturer 3 Linux 3.10.105 xhci_hcd
iProduct 2 xHCI Host Controller
iSerial 1 0000:00:14.0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 25
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xe0
Self Powered
Remote Wakeup
MaxPower 0mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 9 Hub
bInterfaceSubClass 0 Unused
bInterfaceProtocol 0 Full speed (or root) hub
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0004 1x 4 bytes
bInterval 12
Hub Descriptor:
bLength 9
bDescriptorType 41
nNbrPorts 7
wHubCharacteristic 0x000a
No power switching (usb 1.0)
Per-port overcurrent protection
TT think time 8 FS bits
bPwrOn2PwrGood 10 * 2 milli seconds
bHubContrCurrent 0 milli Ampere
DeviceRemovable 0xc0
PortPwrCtrlMask 0xff
Hub Port Status:
Port 1: 0000.0100 power
Port 2: 0000.0100 power
Port 3: 0000.0100 power
Port 4: 0000.0103 power enable connect
Port 5: 0000.0503 highspeed power enable connect
Port 6: 0000.0100 power
Port 7: 0000.0100 power
Device Status: 0x0001
Self Powered
Je ne sais pas si tu te souviens, mais je ne suis pas trop calé en mode « Synology ».
Quand tu dis que tu as une install en mode Host et une en Macvlan, les 2 sont sur Synology ?
De plus, la clé BT, en mode macvlan est le seul matériel que tu n’arrives pas à voir sur ton Synology. Ai-je bien tout saisi ?
Alors, pour le moment, je dois dire que j’ai pas beaucoup d’idée pour t’aider.
C’est werid quand même d’avoir, dans le conteneur, le mapping device ok, et mais non reconnu dans Jeedom.
Voyons ce que l’on a :
1°) Libraires bluez et cie : Check car ton plugin blea les à installées
2°) Mapping du devices dans le conteneur : Check car tu le vois
3°) As tu essayer de lancer le contrôleur à la main (avec bluetoothctl etc) et de faire des manipulations ? bluetoothctl arrive-t-il à initialiser le device ?
P.S : Après, de mon côté, j’utilise docker avec un orchestrateur. Donc, impossible d’utiliser --device pour mapper le matériel. Pour Blea, j’ai juste déployer l’antenne sur l’hôte, et ai configuré blea en conséquence. Ca marche très bien
The good/bad news is this has nothing to do with Jeedom but only with using your bluetooth device inside Docker. (yay for Jeedom, sad trumpets for you)
I am sorry but it’s a bit hard for me to investigate this without your hardware… Your best chance is out there buddy… Look for people who have tried to use bluetooth inside a Docker container.
Comme le dis Rpi, sans avoir la même config matérielle, cela risque d’être difficile.
Pour ma part, je sais que l’intégration matériel dans du docker peut s’avérer complexe dans certain cas (orchestrateur).
Tu utilises le logciel du synology pour lancer ton conteneur je suppose ? As tu essayé en mode overlay ?
Pourquoi ? cela afin de savoir si le fait d’être en mode host (ou cela fonctionne) en mode macvlan ou en mode overlay change quelque chose. Au final, tu bluetooth à besoin aussi d’une adresse mac pour fonctionner. Ne serais-ce pas lié ?
Ah !!! Dans ce cas, il faudrait que tu vérifie un petit truc.
Est-tu certains que tu mappes le bon devices à chaque redémarrage. Je m’explique, avec compose etc… il peux arrivé (surtout avec un hub) que le numléro de mappage oit différent. En effet, la numérotation est fonction de la détection du matériel et peux, parfois changer. D’où le fait que tu cherches à mapper un device qui en fait, n’existe pas.
As tu vérifiez à chaque fois la numérotation ?
Sinon, il y a un truc qui m’interpelles également.
Le privilieged: true. Il me semble que ça pose problème pour les device aussi. Je crois que j’avais un soucis avec ça, il me semble. Essaye de virer le privilieged pour voir.
Ok pour privilieged. C’était jsute pour être sur. De plus, normalement le mode privileged ne t’oblige pas à mapper le device, il te donne accès a tout, device compris.
si tu fais un docker run -dit --privileged -p XX:XX image:tag, tu verras ton device sans avoir besoin de le mapper. Le problème c’est que tu donne accès à tout dans ton conteneur. et ce n’est pas safe.
Après pour l’obligation d’être en mode host, je ne suis pas d’accord. tu peux mapper des devices sans être en mode host.
As-tu essayé de lancer avec un commande docker normale ? juste comme cela
docker run -dit --device /dev/ttyUSBX -p XX:XX image:tag ?
Sur ton hôte (le syno), tu vois bien ta clé non ? C’est dans le conteneur que tu ne la vois pas ? Du moins, c’est ce que j’ai compris au fil des messages.
la commande étant à lancer sur l’hôte (en ssh par exemple), c’est l’usb de l’hôte qu’il faut mettre
J’ai exactement le même soucis que j’essaie de résoudre depuis plus d’une semaine … sans succès !
soit je crée mon conteneur en mode « host » avec privilèges et je mappe « /dev/bus/usb » et ça fonctionne, mais mon conteneur n’est plus accessible via une IP distincte avec tous les problèmes que ça pose, de plus le SSH ne fonctionne pas,
soit je crée mon conteneur en bridge ou en macvlan, mais je ne peux plus accéder à la clé USB Bluetooth
Pour résumer, les clés Bluetooth USB ne ‹ montent › pas de périphérique virtuel du style « ttyUSBx » dans /dev/
D’après ce que j’ai compris, le driver xhci qu’elles utilisent fait que le Bluetooth est plutôt considéré comme une sorte de carte réseau que comme un périphérique USB classique.
C’est probablement là que le bas blesse, car du coup on ne sait pas comment mapper ce périphérique vers le conteneur Docker
Si quelqu’un a une solution QUI MARCHE, je suis preneur également