Files
USB-AIO/WERKSTATT-ABLAUF.md
Denis Stoecklmeier 81f06cf6b4
Some checks failed
Tests / test (push) Has been cancelled
USB-AIO für automatische Geräteprüfung
2026-10-14 20:14:36 +02:00

93 lines
3.9 KiB
Markdown

# Werkstattablauf
## Geräteerkennung
Beim Start liest das Livesystem geschützte DMI-Felder einmal als `root` und stellt
sie der unprivilegierten Anwendung nur lesbar bereit. Bevorzugt wird eine gültige
System-UUID. Fehlt sie, wird eine gehashte Kombination aus Hersteller und
Seriennummer verwendet. Platzhalter wie `To be filled by O.E.M.` sind ungültig.
Die Hardware-ID wird an `POST /api/v1/devices/resolve/` gesendet. Der Server ordnet
sie einem vorhandenen Gerät zu oder vergibt atomar eine neue Gerätenummer. UUID und
Seriennummer können als Aliase dasselbe Gerät bezeichnen. Widersprüche werden zur
manuellen Prüfung abgelehnt.
## Automatische Erfassung
Für neue Geräte und Geräte in **Eingang** startet ein Kurzscan. Erfasst werden
Hersteller, Modell, CPU, installierter RAM sowie Größe und Art aller Laufwerke. Die
Daten werden revisionsgesichert über den Intake-Endpunkt geschrieben. Ein Gerät in
einem späteren Prozessschritt wird durch den automatischen Scan nicht überschrieben.
## Inspektion
Jeder Prüfschritt besitzt eine Aktion, eine verständliche Anleitung, ein sichtbares
Ergebnis und eine Wiederholungsmöglichkeit. Verfügbare Schritte umfassen Display,
Tastatur, Touchpad, WLAN, Lautsprecher, Mikrofon, Kamera, USB-Anschlüsse, Laden,
Temperatur, Stabilität und SMART-Daten jedes internen Laufwerks.
Ergebnisse unterscheiden:
- bestanden
- Hardwarefehler
- Test nicht verfügbar
- Einrichtungsproblem
- nicht geprüft
- nicht vorhanden
- Bestätigung erforderlich
Ein fehlendes Werkzeug oder eine fehlende Berechtigung wird niemals als
Hardwaredefekt gewertet. Optionale Hardware muss ausdrücklich als nicht vorhanden
bestätigt werden.
Beim Start einer Prüfung wird der Zustand **Inspektion** an den Server gesendet.
Zwischenstände und der Abschluss verwenden unveränderliche Anforderungs-IDs, damit
ein Verbindungsabbruch keine doppelten Einträge erzeugt. Ein Abschluss benötigt
einen Technikernamen und vollständig bewertete Prüfschritte.
## Unterbrechung und Offlinebetrieb
Der lokale Prüfstand wird atomar gespeichert. Nach Neustart öffnet die Anwendung
die letzte unvollständige Prüfung mit Messwerten und Notizen. Noch nicht bestätigte
Uploads liegen in `outbox/inspections/`; bestätigte Uploads werden nach
`outbox/sent/` verschoben. Beim nächsten Start werden auch gespeicherte Prüfungen
des zuvor bearbeiteten Computers wieder in die Warteschlange aufgenommen.
## Reparaturen und Bericht
Eine Reparatur enthält Bauteil, Tätigkeit, Ersatzteil, Techniker und Zeitpunkt. Der
vorherige Befund bleibt erhalten und der betroffene Test wird erneut geöffnet. Der
HTML-Abschlussbericht enthält Spezifikationen, Laufwerks- und Akkuzustand,
Messwerte, Mängel, Reparaturverlauf und technische Freigabe.
## WLAN und Inventarverbindung
Das Werkstatt-WLAN wird erst nach erfolgreicher Verbindung gespeichert. Die Datei
`config/workshop-wifi.json` ist nur für den Besitzer lesbar und kann in den
Einstellungen ersetzt oder gelöscht werden. Das Passwort wird über die
Standardeingabe an NetworkManager übergeben und erscheint nicht in Prozessargumenten.
Die Inventarverbindung benötigt:
```json
{"url": "https://inventory.example.org"}
```
Der API-Schlüssel liegt separat in `config/inventory-api-key`. Für einen privaten
HTTPS-Server kann `config/inventory-server.crt` die öffentliche CA enthalten.
Zertifikats- und Hostnamenprüfung bleiben aktiv.
## Abnahme eines neuen Builds
Vor dem Werkstatteinsatz sind mindestens diese Punkte auf echter Hardware zu prüfen:
1. UEFI- und BIOS-Start
2. persistente Daten nach Neustart
3. automatische Wiederverbindung mit dem WLAN
4. richtige Gerätezuordnung und Dublettenwarnung
5. Intake-Synchronisation ohne Überschreiben späterer Zustände
6. Ein- und Ausgabegeräte sowie jedes Laufwerk
7. Offline-Warteschlange und Wiederholung nach Verbindungsabbruch
8. druckbarer Bericht
9. kontrolliertes Herunterfahren