Falls du Home Assistant auf einem Raspberry Pi betreibst und auf eine SSD als Bootmedium gewechselt bist, hast du grundlegend alles richtig gemacht, aber vielleicht auch ein Problem!
Denn es kann gut sein, dass deine SSD Probleme verursacht, aber du es im laufenden Betrieb nicht merkst beziehungsweise nicht erkennst, dass die Festplatte die Ursache ist. Hier zeige ich dir, wie du das Problem mit dem UASP-Standard bei SSD-Festplatten erkennst und beheben kannst 🙌
Voraussetzungen
Code-Snippets / Befehle zum kopieren
1 USB-Meldungen ausgeben
dmesg | grep usb
Hier schauen ob UASP deaktiviert ist (Wenn bei dir keine Meldung ausgegeben wird wie hier 👇 unten)
[ 1.905112] usb X-X: new SuperSpeed USB device number 2 using xhci_hcd [ 1.926385] usb X-X: New USB device found, idVendor=XXXX, idProduct=XXXX, bcdDevice= 1.00 [ 1.926422] usb X-X: New USB device strings: Mfr=2, Product=3, SerialNumber=1 [ 1.926448] usb X-X: Product: Hersteller Storage Device [ 1.926472] usb X-X: Manufacturer: Hersteller [ 1.926494] usb X-X: SerialNumber: XXXXXXXXXXX [ 1.929365] usb X-X: UAS is ignored for this device, using usb-storage instead [ 1.929495] usb X-X: UAS is ignored for this device, using usb-storage instead
Falls nicht, dann Vendor und Product-ID aus Zeile 2 👆 kopieren für den nächsten Schritt
2 /mnt/boot/cmdline.txt öffnen & bearbeiten
vi /mnt/boot/cmdline.txt
- Hier dann mit der Taste
I
den Einfügen-Modus starten - Vendor und Product ID nach “usb-storage.quirks=” ergänzen
- Mit der Taste
ESC
den Insert Modus verlassen - Zuletzt noch die Tasten
:wq
drücken und mit der Eingabetaste wird die Datei gespeichert (Write & Quit).- Um nichts zu verändern, wenn du dich vertippt hast oder so, kannst du den Editor mit
:q
verlassen ohne zu speichern.
- Um nichts zu verändern, wenn du dich vertippt hast oder so, kannst du den Editor mit
Zu Referenzzwecken: Meine /mnt/boot/cmdline.txt
dwc_otg.lpm_enable=0 console=tty1 usb-storage.quirks=174c:55aa:u,2109:0715:u,152d:0578:u,152d:0579:u,152d:1561:u,174c:0829:u,14b0:0206:u,174c:55aa:u
2.1 Optional: Was tun, wenn mnt/boot/cmdline.txt nicht vorhanden ist?
Sollte es bei dir Probleme geben, die mnt/boot/cmdline.txt zu öffnen, ist vermutlich die Partition nicht gemounted. Scheinbar wurde hier seit der Aufnahme des Videos etwas verändert.
Der definitiv empfohlene Weg ist das Einrichten der Root-SSH Verbindung über Port 22222. Hier ist das Problem nicht vorhanden und die Datei kann bearbeitet werden, sobald du dich per SSH mit dem Port 22222 auf deinem Home Assistant Host verbunden hast!
Alternativ kannst du im SSH-Addon diesen Weg versuchen (nicht empfohlen, kann aber klappen)
- Gebe zuerst dieses Kommando ein:
docker exec -it homeassistant bash
- Erstelle dir den Ordner mit:
mkdir /mnt/boot
- Suche dir mit dem Kommando
blkid | grep hassos-boot
die Boot-Partition vom Home Assistant. In meinem Fall /dev/nvme0n1p1 bei dir vermutlich /dev/sda1
- Nun kannst du über
mount -t vfat /dev/nvme0n1p1 /mnt/boot
die Boot-Partition in den Ordner /mnt/boot mounten. Vergiss bitte nicht, /dev/nvme0n1p1 durch deine Boot-Partition zu ersetzen, die du bei Schritt 3 ausgelesen hast. - Fertig, nun kannst du wie bei Schritt 2 beschrieben die cmdline.txt mit vi bearbeiten.
3 Verifizieren, ob UASP deaktiviert wurde
dmesg | grep usb
Nun sollten bei dir ebenfalls die beiden unteren Zeilen ausgegeben werden 👇
[ 1.905112] usb X-X: new SuperSpeed USB device number 2 using xhci_hcd [ 1.926385] usb X-X: New USB device found, idVendor=XXXX, idProduct=XXXX, bcdDevice= 1.00 [ 1.926422] usb X-X: New USB device strings: Mfr=2, Product=3, SerialNumber=1 [ 1.926448] usb X-X: Product: Hersteller Storage Device [ 1.926472] usb X-X: Manufacturer: Hersteller [ 1.926494] usb X-X: SerialNumber: XXXXXXXXXXX [ 1.929365] usb X-X: UAS is ignored for this device, using usb-storage instead [ 1.929495] usb X-X: UAS is ignored for this device, using usb-storage instead
Hardware-Empfehlungen für Home Assistant & Pi SSD Boot
Raspberry Pi 4
Netzteil
Falls du bereits das offizielle Netzteil hast, ist meine Empfehlung es erst mal mit diesem zu versuchen. Zu 90 % wirst du keine Probleme haben. Falls Probleme auftreten oder du ohnehin ein neues kaufen musst, da dein aktuelles zu schwach (keine 3A) ist oder keine 5.1V ausgibt, dann würde ich direkt zur stärkeren 4A Version greifen. Diese hat außerdem einen Ausschalter mit dabei, sehr praktisch 🙂
4A Version (Empfehlung)
Offizielles Netzteil
M.2 Gehäuse (Option 1)
Passende SSD
SATA SSD mit USB 3.0 Adapter (Option 2)
Passende SSD
Y-Kabel für mehr Geschwindigkeit und bessere Stromversorgung der SSD
Je nach der eingesetzten SSD am USB Adapter empfiehlt sich noch dieses Y-Kabel, welches die SSD über 2 USB-Ports mit Strom versorgen kann. Denn die Strom-Abgabe der USB-Ports des Raspberry Pi ist limitiert. Teilweise so sehr, dass manche SSDs nicht genug Strom bekommen, um fehlerfrei / mit voller Geschwindigkeit zu funktionieren.
Fazit
Hoffentlich konntest du dein Problem mit der SSD im Raspberry Pi und Home Assistant lösen und dein HA läuft nun wieder zuverlässig und ohne Ausfälle. Die quirks und UASP-Optionen sind zwar sehr speziell, aber wenn du den Schritten im Video folgst, kann eigentlich nichts schiefgehen 🙌
Wenn du Fragen oder Anmerkungen hast, zögere nicht, sie mir unten in den Kommentaren oder auf YouTube mitzuteilen und ich werde mein Bestes tun, um dir zu helfen. Vielen Dank fürs Zuschauen!
Zufällig bin ich auf Deinen Youtube Kanal und Deinen Blog gestoßen, bin begeistert. Da ich mein HA auch noch auf eine R.Pi4 mit SD Karte betreibe und schon lange die Befürchtung habe, wann sie den Geist aufgibt, habe ich gestern den Umstieg durchgeführt. Alles im Endeffekt problemfrei. Ich sehe allerdings in den Logs nicht den Eintrag, dass UAS abgeschaltet ist. Aber die Hostlogs laden in Millisekunden und auch alle Addons laufen. Sollte ich dennoch den Treiber deaktivieren?
Habe heute auch die Umstellung durchgeführt. Hatte einen seltsamen Zustand danach. Der HA ist sauber hochgefahren ohne Fehlermeldung, alle Devices waren da und haben gemeldet. (z.B. Zigbee). Jedoch waren alle Addons angeblich nicht gestartet und konnten auch nicht gestartet werden. Dennoch waren alle Anzeigen und Werte sichtbar.
Ich habe dann das o.g. 4A Netzteil wieder gegen das originale 3A Netzteil getauscht und dann hat es einwandfrei funktioniert.
Seltsam, aber nun geht es wieder.
Hi,
so ich habe auch immer wieder Abbrüche mit PI und SSD.
Ich habe dein Tutorial ausgeführt und via SSH die Verbindung aufgebaut. Die cmdline.txt -Datei ist nicht vorhanden. Ich habe dann die Docker Setting genutzt, dann ist Sie da und ich habe die ID’s hinzugefügt. Nach einem Reboot wird aber nichts mit UAS im Log angezeigt ?!
Hat jemand eine Idee ?
Hi Wolfgang,
wenn du über den Port 22222 wie im Video beschrieben den SSH-Zugang einrichtest, sollte die cmdline.txt vorhanden sein, da wurde seid der Aufnahme vom Video, was geändert, wodurch das Add-on nicht mehr in 100 % der Fälle funktioniert 😅
Hallo Simon,
ich habe die ganze Prozedur genau nach deiner Anleitung durchgeführt und habe auch die selbe Hardware wie du aber leider werden meine Einträge in der cmdline.txt ignoriert und die SSD mit den schnelleren Treibern betrieben.
Hast du da eine Idee zu warum das nicht klappt?
Gruß
Dieter
Hi Dieter,
hattest du auch die cmdline.txt mit dem Root-zugang über Port 22222 geändert? Hatte es schon ein paar mal, das über das SSH-Addon versehentlich die falsche Datei (Im Container) bearbeitet wurde.
Die cmdline.txt kann nicht ignoriert werden, da sonst der Host nicht starten würde…
Hallo Simon,
ja den Root-Zugang hatte ich mir extra noch eingerichtet um eben genau den selben Weg zu gehen den Du eingeschlagen hast.
Gruß
Dieter
Ich habe die SSD gerade noch einmal vom Raspi getrennt und an einen PC gehängt. Auch da ist der Eintrag in der cmdline.txt zu sehen. Es ist auch kein Schreibfehler oder sonst was in der Datei was stören könnte.
Der Eintrag wird einfach ignoriert !!!
Um der Sache jetzt noch etwas genauer auf den Grund zu gehen habe ich jetzt eine baugleiche SSD mit so einem billigen USB3 Adapter JMicron 152d:0578 an den Raspi gebaut und dort meine HomeAssistant neu aufgespielt bzw. von einem Backup neu eingerichtet.Ohne besondere Einträge werden bei dem Adapter die “schnellen” Treiber automatisch abgeschaltet und das System läuft stabiler und schneller.. Bei mir gab es mit dem Gehäuse zwar nicht das Problem das ich die Logs nicht lesen konnte aber wenn ich etwas in ESPHome kompiliert habe blieb mein System stehen. Es waren keine Eingaben oder Abfragen mehr möglich auch ging der SSH Zugang auf 22222 nicht mehr und so blieb dann nur den Strom zu ziehen.
Schade das ich die Treiber bei dem Gehäuse nicht abgeschaltet bekomme aber jetzt mit dem Billigadapter läuft das sehr gut ….aber erst mal abwarten ob da nicht auch andere Fehler auftauchen.
Gruß
Dieter
Falls bei euch HomeAssistant nichteinmal nach dem Flashen mit Pi Imager startet:
Ich wollte gerade HomeAssistant von der SSD starten, über den USB 3.0 Port lief nichts, über den USB 2.0 Port kurz und stürzte ab.
Man muss die cmdline.txt Datei noch direkt am Windows PC bearbeiten, bevor man das erste mal von der SSD bootet, das das UASP Protokoll nicht verwendet wird. Die Vendor ID und Product ID habe ich mithilfe von USBdeview herausgefunden. Danach hat alles funktioniert!
Ich konnte mit deinem Video erfolgreich mein Homeassistant auf eine SSD umziehen und es hat anschließend auch alles ohne Probleme funktioniert.
Jetzt habe ich aber nach ein paar Tagen immer wieder Probleme, dass Teile vom Homeassistant nicht mehr funktionionieren z. B. können Automationen nicht mehr bearbeitet werden, es können keine neuen Integrationen angelegt werden. In den Logs steht dann auch etwas davon, dass er Dateien nicht mehr finden kann. Dann geht auch kein Neustart per Homeassistant mehr. Ein Neustart kann ich dann nur noch mit Strom wegnehmen vom Raspberry erzwingen. Daraufhin wollte ich deinen Tip mit dem USAP machen. Bei mir stand leider nichts von UAS is ignored. Also wollte ich mir deiner Doku weiter machen. Wenn ich den Befehl vi/mnt/boot/cmdline.txt kam nichts. Also habe ich mit dem nächsten Teil weiter machen wollen. Wenn ich jetzt aber den Befehl docker exec -it homeassitant bash ausführe kommt leider diese Meldung:
-bash: docker: command not found
Was mache ich hier denn falsch?
Hi Manuel,
danke für deine Frage 👍
Das liegt zu 99 % an dem SSH-Addon. Bitte versuche mal, die SSH Root-Verbindung über Port 22222 herzustellen (hier der Link zum Video) und versuche da die cmdline.txt zu bearbeiten.
Das wird ziemlich sicher funktionieren 🙌
Vielen Dank für die Antwort, das werde ich mal ausprobieren.
Hallo Simon, durch deine Hilfe auch in der anderen Dokumentation, konnte ich jetzt diese Doku auch vollenden. Jetzt bin ich mal gespannt, ob meine SSD Probleme damit aufhören 😊 Vielen Dank.
Hallo Simon,
spannendes Thema. Ich hatte gehofft eine Lösung für mein Problem mit ssd zu finden.
Mein PI3 bootet von ssd nach der Installation des Betriebssystems über PI Imager und Einspielung der letzten Sicherung, jedoch lässt sich kein Add-on starten, weder raspberrymatic noch SSH&Terminal noch Samba oder MQTT.
Hast du hierfür auch einen Lösungsvorschlag?
Das ist ein bekanntest Problem. Du musst nach den einspielen eines Backups HA neu starten.
HA->Einstellungen->System: Oben rechts auf neustarten klicken und alles sollte wieder gehen.
Ja, das habe ich natürlich versucht, auch das deinstallieren und Neuinstallation von Add-ons, hat aber alles nicht funktioniert.
Versuche mal über den Host neustarten.
Einstellungen->System->Hardware: Oben über das rechte Menü: “Host neustarten”.
Sollte es nicht gehen, vielliecht mal direkt nach dem einspielen des Backups