[RTEX] Pi4 - SSD mSATA – Pi OS 64Bits Buster – Jeedom V4

Bonjour à tous, c’est akenad :slight_smile: ,

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

  1. 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

  1. 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)

  1. 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 :slight_smile:

10 « J'aime »

Bonjour @akenad et merci pour les tutos

Juste un détail: j’ai eu pas mal de soucis avec BalenaEtcher sur mac, en OS 10.15, impossible de graver les images.
A savoir que raspberry a sorti un outil similaire qui lui fonctionne très bien (et qui peut même télécharger la version de raspbian), qui s’appelle raspberrypi imager: Raspberry Pi OS – Raspberry Pi

2 « J'aime »

Bonjour @drs,

Oui, j’ai utilisé Raspberry Pi Imager pour la 1ère étape décrit dans le premier post, il suffit de cliquer sur le lien.

akenad :slight_smile:

1 « J'aime »

Bonjour,

nickel cette install. Je viens d’acheter un Pi4 8Go et tout est installé.
J’attends juste mon hub car même sur cette OS 64B, toujours le même problème.

Une question juste, comment activer le bluetooth sur cette version ? Toujours avec la même commande ??

1 « J'aime »

Tu as pris quoi comme Hub ?

Bonjour.

Le.bt est activé par défaut.
hciconfig pour contrôler.

Vous l’avez eu où, chez Kubii il n’est pas encore disponible.

Quelqu’un peut me donner le retour de cette commande :
cat /etc/*-release

Merci

Un hub dlink USB 2.0

@Fabrice chez mchobby livré en moins d’une semaine…

1 « J'aime »
PRETTY_NAME="Debian GNU/Linux 10 (buster)"
NAME="Debian GNU/Linux"
VERSION_ID="10"
VERSION="10 (buster)"
VERSION_CODENAME=buster
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"

akenad :slight_smile:

1 « J'aime »

@Fabrice, j’ai acheté mon rpi4 8Go chez Kubii (livré début de semaine dernière) il était bien dispo mais il a du être victime de « son succès » ou plutot que c était les seuls ou presque à le proposer à la sortie

Bonjour.

Merci. Moi ils m’ont annoncé une disponibilité courant juillet.

Tu es contents de cette machine ?
Le hub USB est vraiment encore nécessaire ?
Tu as pris quelle alimentation, sur Kubii il vendent un grosse alimentation pour le pi4.

@akenad : veux tu que je supprime tout le hors sujet après ?

Meuh non, c’est Kool !

akenad :slight_smile:

1 « J'aime »

@Fabrice, pour tout te dire j’attends mon SSD perdu par Chronopost, donc remboursé et recommandé, il sera la mercredi.
Pour le moment j’ai juste fait la mise à jour de l’eeprom du pi4 pour le boot USB
Sur Kubii, leur alim officielle pour RPI4, mais elle n’est pas grosse en taille bien au contraire j’ai été surpris (Alimentation Officielle 15.3W USB-C pour Raspberry Pi 4 - KUBII)

J’ai pris un hub USB, mais USB 3, j’espere que cela va aller pour ma clé, mais je testerais aussi sans.
Réponse en fin de semaine.

Ok, merci pour ces précisions.
Pour le hub, quand tu auras réalisé les tests, je suis intéressé pour savoir (référence du hub aussi, c’est pour capitaliser ce qui est bon et pas).

Pour l’alimentation, je parlais pas de l’officielle, mais de celle-ci :
https://www.kubii.fr/14-chargeurs-alimentations-raspberry/2953-alimentation-argonone-pi-4-3272496301504.html

  • Elle à quelque w de plus que l’officielle, du coup, j’aurais tendance à la préférer.

@akenad, j’ai suivi tes tutos pour le boot usb sur un SSD
Carte SD avec OS lite + flash eeprom + vérif : OK

  • J’ai gravé l’image de ton lien sur le SSD avec PI imager.

Mais là si je laisse que le SSD branché, rien dans putty

Doit on laisser la carte SD ?
Si oui comment on sais que l’on boote sur le SSD, ce que je doute si car sans la SD cela ne marche pas

J’ai essayé de modifier l’ID de boot comme vu dans l’autre post et là je pense qu’il boote sur le SSD (comme sans carte SD surement) mais rien avec putty.

Ou alors est ce l’image qui a pu être mal gravé sur le ssd , pourtant l’outil l’a vérifié apres et c était OK
Enfin là je suis donc dans une impasse, car le rpi ne boote plus sur rien

Bonjour @Steph034,

Dans le premier post du présent sujet, la SD n’est utilisée (seule) que pour mettre à jour le firmware de l’EEPROM du Pi4.
Si la mise à jour a été faite correctement, le boot directement sur USB SSD (seule) fonctionne. (ne pas laisser la SD).

Si le Pi4 ne boot même plus avec une SD (seule) fraichement gravée, c’est que la procédure de mise à jour du firmware de l’EEPROM du Pi4 n’a pas été suivie à la lettre, et donc que le Pi4 est parti en vrille.
Si c’est le cas (la led verte ne clignote pas) il convient alors de suivre la procédure de Recovery indiquée ici : https://www.raspberrypi.org/downloads
(Cela consiste a booter une fois sur une SD spécialement préparée)

akenad :slight_smile:

Si le rpi4 bootait sur la SD seule avant que je ne modifie le fichier de conf (car pour le modifier j’ai du remettre la SD) pour mettre l’ID du DD SSD (qui était vu sur le rpi).
Mais lui doit avoir un soucis donc pour booter, car je pense que le rpi4 essaie bien de booter dessus mais je n’ai rien

1 « J'aime »

Je ne sais pas de quoi tu parles, cette opération n’existe pas dans le présent RTEX.

akenad :slight_smile:

@akenad, en fait j’ai trouvé ce matin (la nuit porte conseil) et erreur de débutant (que je suis), je n’avais pas créé le fichier ssh en racine du SSD (peut être à rajouter dans ton tuto) et donc pas d’accès putty (je n’ai pas d’écran sur le rpi) et donc pas d’installation jeedom possible tout simplement
Sinon oui je boote sans soucis sur le SSD finalement, ton tuto est suffisant, peut être en ajoutant ici ou là donc quelques recommandations pour les débutants, à voir, car à vrai dire on se pose des questions vis à vis d’un autre post qui dit de copier des fichiers de la SD vers SSD etc,

Bonjour,

Pour une installation, pas à pas, il y a ce tuto :

Dans votre cas, peut importe le Pi, c’est pareil, sauf quand je l’indique.

@akenad et / ou @Steph034 : Question, avez vous la DEL d’activité qui est toujours en activité quand le Pi boot sur le SSD et qui stop quand une carte MicroSD est présente dans le Pi ?

@Fabrice OK je regarde ton tuto
3 questions:
Les optimisations de l’OS sont elles les mêmes sur un rpi 4 ?
Le swap peut on le passer plus haut sur un rpi4 8go (2048 ou cela ne sert à rien) ?
Peut on mettre à jour l’OS, même si on est sur une beta du firmware (et peut être de l’OS d’ailleurs, j’ai pris l’image de Akenad, mais je ne sais pas exactement si beta ou autre) ?