Bonjour à tous, c’est akenad ,
Aujourd’hui je vais vous présenter un retour d’expérience sur la mise en œuvre d’un Pi4 avec boot USB SSD mSATA sur Pi OS 64 Bits (Buster) et Jeedom V4.
C’est une « configuration type » pour un Pi4 avec SSD mSATA et clés USB Zigbee, Z-wave, Bluetooth, EnOcean, 4G.
Les équipements utilisés sont les suivants :
- RPi4B 4Go Rev 1.2 (avec alim 3A), ventilo Pi-FAN 5v 0,2A silencieux
- SSD 32 Go Transcend (TS32GMSA370)
- boîtier SSD USB/mSATA (Inateck Boîtier USB 3.0) pour y placer le SSD
- Z-wave : Aeotec Z-Stick Gen5 ZW090-C firmware 4.54 (ne fonctionne pas sur un port USB3 du Pi4, ce n’est pas la Gen5+)
- EnOcean : TCM310 (FTDI) avec antenne
- Zigbee : ConBee 2 (Dresden)
- 4G/SMS: Huawei E3372h-153 (Hardware CL2E3372HM, firmware factory 22.328.62.00.1217 Hi-Link CDC_Ether )
- Bluetooth BLE 4.0 SENA UD100-G03, Modèle Parani-UD100a, avec une antenne additionnelle SMA ominidirectionnelle 2,4 Ghz 12dbi (Cambridge Silicon Radio, MAC Manufacturer 00:01:95)
- HUB USB2 ORICO 10 Ports (avec alim 2,5A)
/!\ ATTENTION : le « a » de « UD100a » est très important.
S’il est écrit UD100 et pas UD100a à l’arrière de la clé alors c’est l’ancien modèle et elle n’est pas compatible « Bluetooth Low Energy » et donc pas compatible avec le plugin BLEA.
Avec le Pi4 je recommande d’utiliser du « mSATA », c’est-à-dire du Mini-SATA, autrement dit je ne recommande pas d’utiliser du SATA.
Les étapes :
1- mettre à jour (si nécessaire) le firmware de l’EEPROM du Pi4
2- Flasher l’image Pi OS 64 Bits sur SSD
3- Installer Jeedom V4
- mettre à jour (si nécessaire) le firmware de l’EEPROM du Pi4
Voir ici : [Présentation] akenad - #27 par akenad
EDIT 21/09/2020 :
La mise à jour du firmware de l’EEPROM du Pi4 est nécessaire pour le boot sur USB SSD mSATA si la version est antérieure au 03/09/2020.
Vérifier avec la commande :
# rpi-eeprom-update
- Flasher l’image Pi OS 64 Bits sur SSD
Avec Raspberry Pi Imager (choisir « custom » dans liste OS), flasher l’image ici : Index of /raspios_arm64/images
(j’ai pris la version du 2020-05-27)
(Créer un ficher vide de nom « ssh » à la racine de la SSD .)
(Nota : il existe aussi la version LITE ici : Index of /raspios_lite_arm64/images)
- Installer Jeedom V4
En SSH, installation en lignes de commandes :
$ sudo su -
# apt update
# apt upgrade
# reboot
$ sudo su -
# wget https://raw.githubusercontent.com/jeedom/core/master/install/install.sh
# chmod +x install.sh
# ./install.sh
(Remarque : la commande sudo su - fait passer le prompt de « $ » à « # »)
- Le SSD mSATA (sans alim propre) est USB3, connecté sur un port USB3 (bleu) du Pi4.
- Le Hub (avec alim propre) est USB2, connecté sur un port USB2 (noir) du Pi4.
- Les clés USB sont USB2, connectées sur le HUB.
- certaines clés ont une rallonge USB et des antennes externes (éloigne des interférences générées par l’usb3 du RPi4 sur certaines versions).
Page Santé Jeedom :
Linux jeedom10 5.4.51-v8+ #1333 SMP PREEMPT Mon Aug 10 16:58:35 BST 2020 aarch64 GNU/Linux [10.7]
Pour que le Bluetooth externe (SENA UD100a) fonctionne correctement avec le plugin BLEA, désactiver le Bluetooth interne.
(Dans /boot/config.txt, ajouter à la fin :
dtoverlay = disable-bt
et rebooter.
Plus de détails ici : [Présentation] akenad - #4 par akenad )
Quelques commandes à lancer en SSH ou dans
Réglages > Système > Configuration > OS/DB > Administration Système > Ouvrir :
$ cat /proc/cpuinfo | grep Model
Model : Raspberry Pi 4 Model B Rev 1.2
$ lsb_release -d
Description: Debian GNU/Linux 10 (buster)
$ arch
aarch64
$ uname -a
Linux jeedom10 5.4.51-v8+ #1333 SMP PREEMPT Mon Aug 10 16:58:35 BST 2020 aarch64 GNU/Linux
Pour voir les clés USB branchées :
$ lsusb
Bus 002 Device 002: ID 174c:55aa ASMedia Technology Inc. Name: ASM1051E SATA 6Gb/s bridge, ASM1053E SATA 6Gb/s bridge, ASM1153 SATA 3Gb/s bridge, ASM1153E SATA 6Gb/s bridge
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 055: ID 0658:0200 Sigma Designs, Inc. Aeotec Z-Stick Gen5 (ZW090) - UZB
Bus 001 Device 054: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)
Bus 001 Device 052: ID 1cf1:0030 Dresden Elektronik
Bus 001 Device 051: ID 1a40:0201 Terminus Technology Inc. FE 2.1 7-port Hub
Bus 001 Device 050: ID 0403:6001 Future Technology Devices International, Ltd FT232 Serial (UART) IC
Bus 001 Device 056: ID 12d1:1442 Huawei Technologies Co., Ltd.
Bus 001 Device 049: ID 1a40:0101 Terminus Technology Inc. Hub
Bus 001 Device 002: ID 2109:3431 VIA Labs, Inc. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Pour voir les ports tty montées dans le système, correspondant aux interfaces série :
$ ls -l /dev/serial/by-id
total 0
lrwxrwxrwx 1 root root 13 Oct 26 09:36 usb-0658_0200-if00 -> ../../ttyACM1
lrwxrwxrwx 1 root root 13 Oct 26 09:36 usb-dresden_elektronik_ingenieurtechnik_GmbH_ConBee_II_DE1996188-if00 -> ../../ttyACM0
lrwxrwxrwx 1 root root 13 Oct 26 09:36 usb-FTDI_FT232R_USB_UART_AI05WNH4-if00-port0 -> ../../ttyUSB2
lrwxrwxrwx 1 root root 13 Oct 26 09:36 usb-HUAWEI_MOBILE_HUAWEI_MOBILE-if00-port0 -> ../../ttyUSB0
lrwxrwxrwx 1 root root 13 Oct 26 09:36 usb-HUAWEI_MOBILE_HUAWEI_MOBILE-if01-port0 -> ../../ttyUSB1
Pour voir la clé bluetooth dans le système :
$ hciconfig -a hci0
hci0: Type: Primary Bus: USB
BD Address: B8:27:EB:4B:10:E7 ACL MTU: 310:10 SCO MTU: 64:8
UP RUNNING
RX bytes:2914498 acl:0 sco:0 events:96484 errors:0
TX bytes:105696 acl:0 sco:0 commands:16482 errors:0
Features: 0xff 0xff 0x8f 0xfe 0xdb 0xff 0x5b 0x87
Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3
Link policy: RSWITCH HOLD SNIFF PARK
Link mode: SLAVE ACCEPT
Name: 'jeedom10'
Class: 0x480000
Service Classes: Capturing, Telephony
Device Class: Miscellaneous,
HCI Version: 4.0 (0x6) Revision: 0x2031
LMP Version: 4.0 (0x6) Subversion: 0x2031
Manufacturer: Cambridge Silicon Radio (10)
$ systemctl status bluetooth
* bluetooth.service - Bluetooth service
Loaded: loaded (/lib/systemd/system/bluetooth.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2020-10-26 09:36:23 GMT; 39min ago
Docs: man:bluetoothd(8)
Main PID: 422 (bluetoothd)
Status: "Running"
Tasks: 1 (limit: 4248)
CGroup: /system.slice/bluetooth.service
`-422 /usr/lib/bluetooth/bluetoothd
Oct 26 09:36:22 jeedom10 systemd[1]: Starting Bluetooth service...
Oct 26 09:36:23 jeedom10 bluetoothd[422]: Bluetooth daemon 5.50
Oct 26 09:36:23 jeedom10 systemd[1]: Started Bluetooth service.
Oct 26 09:36:23 jeedom10 bluetoothd[422]: Starting SDP server
Oct 26 09:36:23 jeedom10 bluetoothd[422]: Bluetooth management interface 1.14 initialized
Oct 26 09:36:23 jeedom10 bluetoothd[422]: Sap driver initialization failed.
Oct 26 09:36:23 jeedom10 bluetoothd[422]: sap-server: Operation not permitted (1)
Oct 26 09:36:23 jeedom10 bluetoothd[422]: Endpoint registered: sender=:1.8 path=/org/bluez/hci0/A2DP/SBC/Source/1
Oct 26 09:36:23 jeedom10 bluetoothd[422]: Failed to set privacy: Rejected (0x0b)
Oct 26 09:36:23 jeedom10 bluetoothd[422]: Endpoint registered: sender=:1.8 path=/org/bluez/hci0/A2DP/SBC/Source/2
Remarque: PiOS a modifié la MAC de la clé SENA.
En effet normalement le code du fabricant SENA est 00:01:95 et le code du fabricant Raspberry Pi est B8:27:EB.
Donc PiOS a remplacé dans la clé SENA la MAC avec un code fabricant Raspberry Pi.
Pour voir les correspondances entre idProduct d’une clé USB et son tty :
$ dmesg | grep USB
[ 1.150961] xhci_hcd 0000:01:00.0: new USB bus registered, assigned bus number 1
[ 1.153172] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.04
[ 1.153187] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 1.153819] hub 1-0:1.0: USB hub found
[ 1.154441] xhci_hcd 0000:01:00.0: new USB bus registered, assigned bus number 2
[ 1.154461] xhci_hcd 0000:01:00.0: Host supports USB 3.0 SuperSpeed
[ 1.154897] usb usb2: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 5.04
[ 1.154910] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 1.155448] hub 2-0:1.0: USB hub found
[ 1.166840] usbhid: USB HID core driver
[ 1.493793] usb 2-1: new SuperSpeed Gen 1 USB device number 2 using xhci_hcd
[ 1.514867] usb 2-1: New USB device found, idVendor=174c, idProduct=55aa, bcdDevice= 1.00
[ 1.514882] usb 2-1: New USB device strings: Mfr=2, Product=3, SerialNumber=1
[ 1.641460] usb 1-1: new high-speed USB device number 2 using xhci_hcd
[ 1.791586] usb 1-1: New USB device found, idVendor=2109, idProduct=3431, bcdDevice= 4.21
[ 1.791603] usb 1-1: New USB device strings: Mfr=0, Product=1, SerialNumber=0
[ 1.791616] usb 1-1: Product: USB2.0 Hub
[ 1.793070] hub 1-1:1.0: USB hub found
[ 2.089420] usb 1-1.3: new high-speed USB device number 3 using xhci_hcd
[ 2.189885] usb 1-1.3: New USB device found, idVendor=1a40, idProduct=0101, bcdDevice= 1.00
[ 2.189903] usb 1-1.3: New USB device strings: Mfr=0, Product=1, SerialNumber=0
[ 2.189915] usb 1-1.3: Product: USB 2.0 Hub [MTT]
[ 2.191372] hub 1-1.3:1.0: USB hub found
[ 2.585480] usb 1-1.3.1: new high-speed USB device number 4 using xhci_hcd
[ 2.810464] usb 1-1.3.1: New USB device found, idVendor=12d1, idProduct=1442, bcdDevice= 1.02
[ 2.810484] usb 1-1.3.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 3.013402] usb 1-1.3.3: new full-speed USB device number 5 using xhci_hcd
[ 3.253886] usb 1-1.3.3: New USB device found, idVendor=0403, idProduct=6001, bcdDevice= 6.00
[ 3.253906] usb 1-1.3.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 3.253919] usb 1-1.3.3: Product: FT232R USB UART
[ 3.441438] usb 1-1.3.4: new high-speed USB device number 6 using xhci_hcd
[ 3.661894] usb 1-1.3.4: New USB device found, idVendor=1a40, idProduct=0201, bcdDevice= 1.00
[ 3.661915] usb 1-1.3.4: New USB device strings: Mfr=0, Product=1, SerialNumber=0
[ 3.661941] usb 1-1.3.4: Product: USB 2.0 Hub [MTT]
[ 3.663638] hub 1-1.3.4:1.0: USB hub found
[ 3.973451] usb 1-1.3.4.2: new full-speed USB device number 7 using xhci_hcd
[ 4.050507] usbserial: USB Serial support registered for generic
[ 4.102377] usb 1-1.3.4.2: New USB device found, idVendor=1cf1, idProduct=0030, bcdDevice= 1.00
[ 4.102397] usb 1-1.3.4.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 4.129211] usbserial: USB Serial support registered for GSM modem (1-port)
[ 4.135443] usb 1-1.3.1: GSM modem (1-port) converter now attached to ttyUSB0
[ 4.138075] usb 1-1.3.1: GSM modem (1-port) converter now attached to ttyUSB1
[ 4.160283] usbserial: USB Serial support registered for FTDI USB Serial Device
[ 4.160604] ftdi_sio 1-1.3.3:1.0: FTDI USB Serial Device converter detected
[ 4.171715] usb 1-1.3.3: FTDI USB Serial Device converter now attached to ttyUSB2
[ 4.225477] usb 1-1.3.4.4: new full-speed USB device number 8 using xhci_hcd
[ 4.359328] usb 1-1.3.4.4: New USB device found, idVendor=0a12, idProduct=0001, bcdDevice=82.41
[ 4.359348] usb 1-1.3.4.4: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[ 4.465405] usb 1-1.3.4.5: new full-speed USB device number 9 using xhci_hcd
[ 4.592314] usb 1-1.3.4.5: New USB device found, idVendor=0658, idProduct=0200, bcdDevice= 0.00
[ 4.592335] usb 1-1.3.4.5: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[ 4.687026] cdc_acm 1-1.3.4.2:1.0: ttyACM0: USB ACM device
[ 4.690385] cdc_acm 1-1.3.4.5:1.0: ttyACM1: USB ACM device
[ 4.692119] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
Observez la correspondance de l’ID Product entre lsusb et dmesg.
exemple :
dans lsusb : ID 0658:0200 Sigma Designs, Inc. Aeotec Z-Stick Gen5 (ZW090) - UZB
correspond à idProduct=0200
dans dmesg : idProduct=0200 => usb 1-1.3.4.5 => ttyACM1
En résumé :
Plugin-------usb------------idProduct—Port tty
- SMS---------1-1.3.1:------1442----------ttyUSB0 et ttyUSB1 (Huawei GSM modem)
- EnOcean—1-1.3.3:-------6001-------ttyUSB2 (FTDI)
- deCONZ----1-1.3.4.2:----0030-----ttyACM0 (Conbee2)
- Zwave-------1-1.3.4.5: —0200----ttyACM1 (Z-stick)
BLEA → hci0 (ce n’est pas un serial)
Pour Huawei, prendre le premier : ttyUSB0. Pour la configuration, voir ici : [Présentation] akenad - #21 par akenad
/!\ ATTENTION les tty et usb peuvent être distribuées différemment après un reboot ou un débranchement/rebranchement d’une des clés USB.
Voila j’espère que ce retour d’expérience sera utile aux membres Jeedom.
akenad