Heiß- und Kaltanschluss von Geräten. Heißer Stecker

Original: Einige raffinierte udev-Regeln und Beispiele
Autoren: Vimal Daga, Davender Singh
Erscheinungsdatum: 28. Juni 2012
Übersetzung: A.Panin
Veröffentlichungsdatum der Übersetzung: 23. Oktober 2012

Dank des von Greg Kroah-Hartman, Kay Sievers und Dan Stekloff entwickelten udev-Systems ist der Prozess zum Verbinden von Flash-Laufwerken, Festplatte, Kameras u Mobiltelefone zu einem System mit Linux OS ist so einfach und überschaubar wie nie zuvor. Das udev-System wurde erstmals in der Linux-Kernel-Version 2.6 implementiert und handhabt sowohl Hot-Plugging-Geräte an ein laufendes System als auch Cold-Plugging-Geräte (angeschlossen, bevor das System eingeschaltet wurde). In diesem Artikel gehen wir durch den Prozess der dynamischen Erstellung von Gerätedateien im /dev-Verzeichnis und stellen einige Beispiele für Anpassungen zur Verwendung oder nur zum Spaß bereit.

udev ist eine Userspace-Implementierung des Gerätedateisystems devfs. Das System umfasst den udevd-Dienst, Konfigurationsdateien und Regeldateien, die zur dynamischen Verwaltung von Linux-Gerätedateien im Verzeichnis /dev als Reaktion auf vom Kernel generierte Ereignisse (uevents) verwendet werden. Udev hat die alte devfs-Implementierung seit der Linux-Kernel-Version 2.6 erfolgreich vollständig ersetzt.

Was war der Bedarf für eine komplett neu gestaltete Implementierung des Gerätedateiverwaltungssystems? Und warum war die udev-Implementierung so erfolgreich? Um eine Antwort zu erhalten, müssen Sie sich die Geschichte der Entwicklung von Gerätetreiberschnittstellen für Linux-Betriebssysteme ansehen.

Jeder Gerätedatei sind zwei 8-Bit-Werte zugeordnet: eine Nebenkennung (Minor Number) und eine Hauptkennung (Major Number). Jeder Gerätetreiber hat eine Haupt-ID; und alle Gerätedateien, die unter diesem Treiber ausgeführt werden, haben dieselbe Hauptkennung. Kleinere Geräte-IDs sind anders verschiedene Geräte läuft unter diesem Treiber.

In frühen Linux-Versionen enthielt das /dev-Dateisystem eine statische Datei für jedes Gerät, das an das System angeschlossen (und von einem Gerätetreiber gesteuert) werden konnte. Leider hatte dieser Ansatz eine Reihe von Problemen: Es gab nicht genügend Kennungswerte, um sie allen möglichen Geräten zuzuweisen, insbesondere angesichts einer wachsenden Anzahl unterstützter Geräte. Außerdem erforderten mehr als 18.000 Gerätedateien viel zusätzlichen Speicherplatz. Diese Probleme wurden behoben, indem udev erlaubt wurde, die kleineren und größeren Gerätedatei-ID-Werte zu ignorieren.

Beim Hot-Plugging von Geräten wie USB-Hardware gab es keine einheitliche Benennung und ID der Gerätedatei. Beispielsweise könnte auf einem System mit zwei USB-Druckern einer der Drucker durch /dev/usb/lp0 und der andere durch /dev/usb/lp1 dargestellt werden – aber es gibt kein klares Verständnis dafür, welcher Drucker durch welche Datei dargestellt wird . . . Dieses Verhalten kann sich geändert haben, je nachdem, welches Gerät beim Hochfahren des Computers eingeschaltet oder zuvor angeschlossen war, oder kann sich ändern, je nachdem, ob das Gerät an einen USB-Hub oder direkt an den USB-Anschluss des Systems angeschlossen ist. Dieses Verhalten war für Benutzer immer frustrierend und verwirrend. Das udev-System ermöglicht es Ihnen, mithilfe von Regeln einen dauerhaften Gerätenamen festzulegen.

Andere udev-Funktionen lösen viele der von devfs geerbten Probleme:

  • udev wird im User Space ausgeführt, wodurch die Menge und Komplexität des Kernel-Codes reduziert wird.
  • Mit udev können Sie einen permanenten Gerätenamen zuweisen, der nicht von der Reihenfolge abhängt, in der Geräte eingebunden werden, und von der Position des Geräts auf dem Bus.
  • udev ändert dynamisch Dateien im /dev-Verzeichnis und erstellt Dateien nur für Geräte, die vorhanden und mit dem System verbunden sind. Es ist auch möglich, beliebige Gerätenamen über symbolische Links zu Gerätedateien zu vergeben.
  • udev stellt User-Space-Anwendungen Geräteinformationen bereit, wodurch die Notwendigkeit entfällt, auf Kernel-Interna zuzugreifen, um diese Informationen zu erhalten.

Wie udev funktioniert

Der udevd-Dienst lauscht auf einem Netlink-Socket auf Ereignisse, die vom Kernel generiert werden, wenn ein Gerät verbunden oder getrennt wird. Sie können diese Ereignisse mit dem Befehl udevmonitor überwachen - führen Sie ihn aus, schließen Sie ein USB-Gerät wie ein Flash-Laufwerk an und trennen Sie es (neuere Distributionen verfügen möglicherweise nicht über udevmonitor - verwenden Sie in diesem Fall udevadm).

Während des Starts hängt udev das tmpfs-Dateisystem in das /dev-Verzeichnis ein. Danach werden Gerätedateien aus dem /lib/udev/device-Verzeichnis in das /dev-Verzeichnis kopiert, und udev beginnt, Kernel-Ereignisse für kalt angeschlossene Geräte zu akzeptieren. Das Verzeichnis /etc/udev/rules.d wird verwendet, um Geräteeinstellungen zu ändern, symbolische Links zu Gerätedateien zu erstellen und mehr. Bei Hot-Plug-Geräten empfängt udevd Kernel-Ereignisse über D-Bus, ruft dann die Attribute des neuen Geräts aus dem /sys-Dateisystem ab und wendet die Regeln basierend auf den Attributen an – danach wird eine Gerätedatei erstellt Dateisystem/dev . Udev ermöglicht es Ihnen auch, dedizierte Gerätetreiber mit dem "Modalias"-Mechanismus zu laden.

udev-Regeln und Beispiele

Udev bietet die Möglichkeit, sein Verhalten basierend auf Regeln und Konfigurationsdateien zu ändern. Sie können die Funktionsweise der mit dem System gelieferten Regeln (normalerweise in /lib/udev/rules.d ) überschreiben oder benutzerdefinierte und spezifische Funktionen hinzufügen, die Ihren Anforderungen entsprechen. Regeln können zum Verzeichnis /etc/udev/rules.d/ hinzugefügt werden – dem Verzeichnis für individuelle benutzerdefinierte Regeln.

Erstellen Sie Ihre Regeln (die einen Gerätedateinamen zuweisen, symbolische Links erstellen, Berechtigungen festlegen und tun, was immer Sie wollen) in diesem Verzeichnis. Um sicherzustellen, dass eine Regel vor den anderen steht, vergewissern Sie sich, dass der Dateiname mit einer kleineren Zahl beginnt als die restlichen Regeln, die danach ausgeführt werden sollen – zum Beispiel 10-local.rules .

Deaktivieren Sie das Root-Benutzerkonto, bis der Administrator sein USB-Laufwerk anschließt

BUS=="usb", SUBSYSTEM=="block", PROGRAM="/bin/enable_root_login"

Damit diese Regel funktioniert, müssen Sie eine Anwendung oder ein Shell-Skript mit dem angegebenen Namen entwickeln, um die Seriennummer des mit dem System verbundenen Geräts abzurufen und mit der bekannten Seriennummer des Geräts des Administrators zu vergleichen. Wenn die Seriennummern übereinstimmen, entfernt das Programm die Zeile auth requisite pam_deny.so aus der Datei /etc/pam.d/login, wodurch die Anmeldung unter ermöglicht wird Konto Root-Benutzer. Wenn andere USB-Geräte angeschlossen sind, werden keine Dateiänderungen vorgenommen. Im Gegenteil, sobald das USB-Laufwerk getrennt wird, wird diese Zeile wieder zur Datei hinzugefügt.

Diese Regel wurde auf der RHEL 5.0-Distribution getestet und funktionierte einwandfrei. Wenn Sie jedoch den Befehl su verwenden oder sich beim Booten im Einzelbenutzermodus anmelden, funktioniert diese Regel nicht. Um die Root-Anmeldung bei Verwendung des Befehls su zu deaktivieren, können Sie Folgendes tun:

  1. Bearbeiten Sie die Datei /etc/security/access.conf, indem Sie die Zeile root: ALL hinzufügen.
  2. Bearbeiten Sie die Datei /etc/pam.d/system-auth und fügen Sie sie als zweite Zeile hinzu Konto erforderlich pam_access.so.
  3. Bearbeiten Sie die Datei /etc/pam.d/su und machen Sie die erste Zeile dieser Datei zur Zeile account include system_auth .

Diese Aktionen müssen natürlich vom Programm enable_root_login durchgeführt werden. Nachdem die Seriennummer des USB-Geräts auf Zugehörigkeit zum Administrator überprüft wurde, sollte das Programm alle an den Dateien vorgenommenen Änderungen entfernen und, wenn das angeschlossene Gerät nicht dem Administrator gehört, alle oben genannten Aktionen an den Dateien durchführen.

Diese Schritte hindern Sie nicht daran, sich im Einzelbenutzermodus als root anzumelden, Sie können jedoch ein Passwort für den GRUB-Bootloader festlegen, um den einfachen Zugriff auf den Einzelbenutzermodus zu verhindern.

Für Informationen über Seriennummer Gerätename, Anbieter-ID, Anbietername und andere Parameter können Sie den folgenden Befehl verwenden: udevinfo -a -p /sys/block/sdb

Neuere Distributionen verfügen möglicherweise nicht über udevinfo, in diesem Fall sollten Sie udevadm anstelle von udevinfo verwenden.

Deaktivieren Sie alle USB-Ports

BUS=="usb", OPTIONEN+="ignore_device"

Das Ergebnis dieser Regel ist die Deaktivierung aller an die USB-Ports Ihres Systems angeschlossenen Geräte – USB-Drucker, -Tastaturen und -Mäuse funktionieren nicht. Vorsicht bei der Anwendung!

Deaktivieren Sie alle an USB-Ports angeschlossenen Blockgeräte

BUS=="usb", SUBSYSTEM=="blockieren", OPTIONEN+="ignore_device"

Diese Regel deaktiviert die Erkennung von Blockgeräten, die an USB-Ports angeschlossen sind. Diese Regel kann nützlich sein, um die Datensicherheit und den Datenschutz in einer Organisation zu verbessern.

Weisen Sie der Gerätedatei des zweiten IDE-Laufwerks einen festen Namen zu

Ersetzen Sie sdb, wenn Sie die Regel auf ein anderes Laufwerk anwenden möchten.

Zweites über USB angeschlossenes USB-SCSI/IDE-Laufwerk ignorieren

KERNEL=="sdb", NAME="my_spare"

BUS=="usb", KERNEL=="hdb", OPTIONEN+="ignore_device"

Fügt einen symbolischen Link zu einer bestimmten Datei hinzu USB-Geräte-Mäuse

SUBSYSTEM=="Eingang", BUS=="usb", SYSFS(serial)=="0000:00:1d.0", SYMLINK+=="MY-USB-MOUSE"

Ändern Sie den Gerätedateinamen basierend auf dem Gerätehersteller

BUS=="usb", SYSFS(Hersteller)=="JetFlash", NAME="UNIVERSE"

Diese Regel ändert den Dateinamen des Geräts in „UNIVERSE“, wenn der Hersteller des USB-Flash-Laufwerks JetFlash ist.

Lassen Sie die Verwendung von USB-Blockgeräten mit einem speziellen Programm selektiv zu

BUS=="usb", SUBSYSTEM=="block", PROGRAM="/bin/usbc.jar", RESULT!="my", OPTIONS+="ignore_device"

Wenn das Programm "my" ausgibt, kann das Gerät verwendet werden, andernfalls wird das Gerät ignoriert.

Stellen Sie sich einen gewöhnlichen Morgen in einem der Hochhäuser des Schlafbereichs unserer geliebten Stadt vor: eine Toilettenschüssel, eine Dusche, eine Rasur, Tee, Zähne putzen, Wasser für die Katze (oder in einer anderen Reihenfolge) - und zur Arbeit gehen ... Alles automatisch und ohne zu zögern. Solange aus dem Kaltwasserhahn kaltes Wasser fließt und aus dem Warmwasserhahn heißes Wasser fließt. Und manchmal öffnest du ein kaltes und von dort - kochendes Wasser!! 11#^*¿>.

Finden wir es heraus.

Kaltwasserversorgung oder Kaltwasser

Die örtliche Pumpstation versorgt die Hauptleitung mit Wasser aus dem Wasserversorgungsnetz. Eine große Versorgungsleitung führt in das Haus und endet mit einem Ventil, danach befindet sich ein Wasserzähler.

Kurz gesagt, die Wasserzählerbaugruppe besteht aus zwei Ventilen, einem Sieb und einem Zähler.



Einige haben ein zusätzliches Rückschlagventil.

und Wasserzähler-Bypass.

Der Wasserzähler-Bypass ist ein zusätzlicher Zähler mit Ventilen, der das System speisen kann, wenn der Hauptwasserzähler gewartet wird. Nach den Zählern wird Wasser an die Hauptleitung des Hauses geliefert


wo es entlang Steigleitungen verteilt wird, die Wasser zu Wohnungen auf Stockwerken leiten.



Wie hoch ist der Druck im System?

9 Stockwerke

Bei Häusern mit einer Höhe von bis zu 9 Stockwerken wird der Boden von unten nach oben gegossen. Diese. Vom Wasserzähler durch ein großes Rohr fließt Wasser durch die Steigleitungen in den 9. Stock. Wenn der Vodokanal gute Laune hat, sollten am Eingang der unteren Zone ungefähr 4 kg / cm2 vorhanden sein. Bei einem Druckabfall von einem Kilogramm pro 10 Meter Wassersäule erhalten die Bewohner im 9. Stock ungefähr 1 kg Druck, was als normal angesehen wird. In der Praxis beträgt der Eingangsdruck in alten Häusern nur 3,6 kg. Und die Bewohner der 9. Etage begnügen sich mit noch weniger Druck als 1kg/cm2

12-20 Stockwerke

Wenn das Haus höher als 9 Stockwerke ist, zum Beispiel 16 Stockwerke, dann wird ein solches System in 2 Zonen unterteilt. Obere und untere. Wo die gleichen Bedingungen für die untere Zone bleiben, wird der Druck für die obere Zone auf etwa 6 kg erhöht. Um das Wasser ganz nach oben in die Zuleitung zu heben und damit das Wasser bis in den 10. Stock zu steigen. In Häusern über 20 Stockwerken kann die Wasserversorgung in 3 Zonen aufgeteilt werden. Bei einem solchen Versorgungsschema zirkuliert das Wasser im System nicht, es steht auf einem Rückstau. In einer Hochhauswohnung bekommen wir im Durchschnitt einen Druck von 1 bis 4 kg. Es gibt noch andere Werte, aber wir werden sie jetzt nicht berücksichtigen.

Warmwasserversorgung oder Warmwasser

In einigen Flachbauten wird Warmwasser auf die gleiche Weise angeschlossen, es steht auf einem Rückstau ohne Zirkulation, was die Tatsache erklärt, dass beim Öffnen eines Warmwasserhahns für einige Zeit kaltes, gekühltes Wasser fließt. Wenn wir dasselbe Haus mit 16 Stockwerken nehmen, dann ist in einem solchen Haus das Warmwassersystem anders angeordnet. Heißes Wasser wird ebenso wie kaltes Wasser durch ein großes Rohr in das Haus geleitet und nach dem Zähler in die Hauptleitung des Hauses geleitet

der das Wasser auf den Dachboden hebt, wo es entlang der Steigleitungen verteilt wird und bis ganz nach unten in die Rücklaufleitung abfällt. Übrigens zählen Warmwasserzähler nicht nur die Menge des verlorenen (verbrauchten) Wassers im Haus. Diese Zähler zählen auch den Temperaturverlust (Hygokalorien)

Die Temperatur geht verloren, wenn Wasser durch beheizte Handtuchhalter in der Wohnung fließt, die die Rolle von Steigleitungen spielen.

Bei diesem Schema zirkuliert immer heißes Wasser. Sobald Sie den Wasserhahn aufdrehen, ist bereits heißes Wasser da. Der Druck in einem solchen System beträgt ungefähr 6-7 kg. am Vorlauf und etwas niedriger am Rücklauf, um die Zirkulation zu gewährleisten.

Aufgrund der Zirkulation bekommen wir Druck im Steigrohr, in der Wohnung 5-6 kg. und sofort sehen wir den Druckunterschied zwischen kaltem und heißem Wasser ab 2 kg. Dies ist genau die Essenz des Drückens von heißem Wasser in kaltes Wasser im Falle einer Fehlfunktion von Sanitärarmaturen. Wenn Sie festgestellt haben, dass Sie auf heißem Wasser immer noch mehr Druck haben als auf kaltem Wasser, installieren Sie unbedingt ein Rückschlagventil am Kaltwasserzulauf, und im Warmwasserzulauf können Regelventile eingebaut werden, die zum Druckausgleich beitragen etwa eine Ziffer mit Kälte. Beispiel für die Installation eines Druckreglers

heißer Stecker- Hot Plug) - Bedeutung der Begriffe abschalten oder Verbindung elektronische Geräte an / von dem (Computer-)System während des Betriebs ohne Abschalten der Stromversorgung und Stoppen (des Systems) (HotPlug), sowie das Austauschen (Wiederanschließen) des Geräts als Ganzes ( Heißer Tausch ). Es gibt auch einen Begriff für das Gegenteil von Hot Swap - Cold-Swap , das heißt, alle (Wieder-)Verbindungen werden hergestellt, nachdem das System gestoppt und die Spannung (Restpotential) entfernt wurde.

Die Ausrüstung ist nach diesem Prinzip unterteilt in erlauben Hot-Swap u nicht erlauben.

Geschichte

Früher wurden Geräte, die während der Austauscharbeiten gesteckt werden sollten, nur in teuren Systemen verwendet und galten als schwierig zu konstruieren. In letzter Zeit ähnliche Systeme sind selbst auf preiswerten Computern üblich geworden.

  • Hot-Swap-fähig und daher Hot-Swap-fähig auf PCMCIA-, USB-, FireWire-, Fibre Channel- und eSATA-Standards ausgelegt.
    Zu den Geräten dieses Typs gehören Flash-Laufwerke, einige Festplatten, einschließlich für Arrays in Servern, PCI-X-, PCI-Express-, ExpressCard- (PCMCIA-, früher auch als PC-Karten bezeichnete) Erweiterungskarten, die in Laptops verwendet werden, und sogar einige Netzteile . . .
  • Keine vollständige Hot-Swap-SATA-Festplattenschnittstelle und keine vollständige Unterstützung des IDE-Protokolls (IDE ist Hot-Plug-fähig).

System-Design

Computer, die Geräte im laufenden Betrieb ersetzen sollen, müssen irgendwie erkennen, wenn ein Gerät getrennt wird, und außerdem elektrische Schaltkreise enthalten, die beim Anschließen und Trennen unempfindlich gegen Stromstöße sind. Außerdem muss der Softwareteil für einen plötzlichen Kommunikationsverlust mit dem Gerät ausgelegt sein.

Einige Hot-Swap-Schemata erfordern zuerst die Ausgabe eines Trennbefehls, was ihr Design vereinfacht, aber die Datenintegrität gefährdet, wenn das Gerät nicht auf die richtige Weise getrennt wird oder ein Fehler im Gerät auftritt.

Komplexere Schemata haben einen Redundanzspielraum und können Daten im Falle eines plötzlichen Herunterfahrens des Geräts problemlos wiederherstellen.

Der Begriff "Hot Swap" wird in zwei Bedeutungen verwendet. Einerseits bedeutet dies die Möglichkeit, das Gerät zu trennen oder anzuschließen, ohne den Strom auszuschalten. Andererseits kann es auch eine automatische Geräteerkennung beim Anschließen bedeuten. Die erste Bedeutung des Begriffs gilt für Schnittstellen RS-232, FireWire und die einfachsten Implementierungen von SCSI, die zweite Bedeutung - für USB, FireWire, PCI-Express und ausgefeilte SCSI-Varianten.

Nestdesign

Die äußersten Kontaktpads der Stromversorgung sind länger als das interne Signal

Meistens moderne Geräte Hot-Swap-fähige, bewegliche Kontakte werden verwendet. Einer von ihnen ist länger als die anderen, um als erster mit dem befestigten Teil in Kontakt zu kommen, ein Erdungskabel wird durch ihn verbunden. Die restlichen Kontakte sind kürzer ausgeführt, insgesamt sind bis zu 3 verschiedene Längen möglich. Die Verzögerung zwischen der Verbindung des ersten Kontakts und den nachfolgenden beträgt 25 bis 250 Millisekunden.

Stromkreise werden in zwei Stufen angeschlossen: Zuerst wird ein strombegrenzter Stromkreis mit längeren Kontakten angeschlossen, und dann mit kürzeren Kontakten die volle Stromversorgung. Alle an der Verbindung beteiligten Stromkreise enthalten einen Schutz gegen statische Elektrizität.

Hier ein Beispiel für eine typische Anschlussfolge:

  1. Die längsten Kontakte sind geschlossen (Masse). Dadurch wird die elektrische Sicherheit der Verbindung und der Schutz vor statischer Aufladung gewährleistet.
  2. Die langen oder mittleren Vorschubkontakte schließen. Die Eingangskreise der Leistungskreise werden geladen.
  3. Kurze Leistungskontakte sind verbunden.
  4. Die Verbindung gilt als hergestellt. Das Einschaltsignal wird eingeschaltet.
  5. Die Soft-Power-On-Schaltung versorgt das Gerät mit Energie.
  6. Verzögerung in zehn Millisekunden.
  7. Der Leistungsschaltkreis hat die weiche Verbindung abgeschlossen. Das Einschaltsignal wird ausgeschaltet.
  8. Das Gerät nimmt den vollen Betrieb auf.

Besonders schwierig ist der Anschluss mehrerer Geräte, da der Anschluss eines zweiten, dritten Gerätes den Betrieb eines bereits verbundenen Gerätes stören kann. Um diesem Phänomen entgegenzuwirken, werden Filter in den Ausgangskreisen oder eine vorübergehende logische Abschaltung der Datenübertragung verwendet.

Hot-Plugging-Software

Der Begriff „Hot Plug“ wird auch in Bezug auf Software verwendet und bedeutet die Möglichkeit, das Programm zu ändern, ohne seine Ausführung zu stoppen. Nur wenige Programmiersprachen unterstützen diese Funktion, darunter Lisp, Erlang und Smalltalk. Die Java-Sprache unterstützt diese Funktion nur, während der Debugger ausgeführt wird (Java Platform Debugger Architecture, JPDA).

Die domänenorientierte Programmiersprache 1C v8 bietet die Möglichkeit, den Code zu ändern, während das Programm läuft. (http://v8.1c.ru/overview/release_8_1_5/administration.htm Abschnitt „Aktualisieren von Konfigurationsteilen“). Da einzelne Module zum Zeitpunkt der Programmausführung kompiliert werden und wenn ein Modul geändert wird, es in der Session erneut kompiliert wird, handelt es sich nicht wirklich um ein "Hot Plug". Sie müssen die Session neu erstellen, damit die Änderungen übernommen werden Effekt und nur für diesen Benutzer (andere müssen die neue Sitzung neu starten). In Version v7 war diese Funktion auch vorhanden, wenn zusätzliche Softwaretools (http://openconf.1cpp.ru/vk/turbomd/) und der Standardbefehl #LoadFromFile... verwendet wurden (Sie müssen nur das Formular oder den Bericht erneut öffnen ). Im Allgemeinen wird bei der Verwendung von interpretierten Programmiersprachen (mit Speichern von Programmtexten innerhalb von Modulen) "Hot Plugging" einfach durch das Ersetzen von Texten implementiert.

Verfaulte alte Rohrleitungen in der Wohnung. Schweiß auf den Rohren, Fistel um Fistel; dreh das wasser ab und wieder an - rost spritzt aus den hähnen. Und es ist geplant, die Küche mit einem Badezimmer zu reparieren, und die alten Rohre sind nichts zum Anfassen oder Atmen - es ist beängstigend, sie anzusehen. Wir müssen uns ändern, aber die Arbeit ist teuer. Ist es möglich, die Sanitäranlagen der Wohnung mit eigenen Händen zu ersetzen? Ja, das können Sie, und zwar ohne Genehmigungsentwürfe. Lediglich in Absprache mit dem DEZ-Schlosser ist die Wasserzufuhr zu den Steigleitungen für maximal eine Stunde abzustellen; höchstwahrscheinlich wird es möglich sein, in 10 Minuten zurechtzukommen.Oder Nachbarn warnen, wenn nicht schädlich, und selbst sperren / neu beantragen.

Ersatzverfahren

Der Austausch der Wasserversorgung erfolgt in einer bestimmten Reihenfolge. Arbeiten „nach Augenmaß“ und „unterwegs“ im nicht-professionellen Leistungsbereich enden oft in einem Leak. Der Arbeitsplan sieht in etwa so aus:

  1. Materialauswahl für neue Rohre.
  2. Wahl des Warm- und Kaltwasserverteilungsschemas.
  3. Entwicklung eines Wasserversorgungssystems für eine Wohnung.
  4. Berechnung des Rohrdurchmessers nach ausgewähltem Material und Schema.
  5. Vorbereitung des Montagewerkzeugs.
  6. Einkauf von Materialien.
  7. Montage von Auswahl- und Abrechnungseinheiten, deren Installation auf Tragegurten und Registrierung.
  8. Demontage von alten Rohren und Sanitärarmaturen.
  9. Anschluss von HMS und Aquastop, falls vorhanden.
  10. Anschließen eines Flaschenfilters (mit HMS erforderlich).
  11. Installation von Warm- und Kaltwasserleitungen.
  12. Installation und Anschluss von Sanitär, alt oder neu.
  13. Testwasserversorgung; Beseitigung festgestellter Mängel.
  14. Installation und Anschluss des Kessels.

HMS, Flaschenfilter und Aquastop

HMS oder hydromagnetisches System wird seit langem in der Industrie verwendet, um Wasser für die Filtration vorzubereiten. Im Alltag wandelt dieses Gerät, ohne auf Details einzugehen, Verunreinigungen im Wasser in eine feine Suspension um, die sich dann als Schlamm im Filter absetzt und periodisch entfernt wird. HMS ist absolut unbedenklich, benötigt im Betrieb keine Stromversorgung und Wartung, erfordert aber zwingend den Einbau eines Wasserzählers in antimagnetischer Ausführung (diese sind teurer) und nach dem Wasserdurchfluss einen Kombi-Kolbenfilter.

Der Flaschenfilter besteht aus drei in Reihe geschalteten Abschnitten: Der erste sammelt Schlamm, der zweite entfernt Chlor und der dritte dient der Feinreinigung des Wassers und seiner Enthärtung. Letzteres (niemand trinkt schon lange Leitungswasser) ist besonders wichtig für den Boiler der Waschmaschine.

HMS mit Flaschen kosten viel, aber sie schützen nicht nur die Ausrüstung, sondern auch die Gesundheit. Beschweren Sie sich oder nicht, seien Sie empört - seien Sie nicht empört, und Trinkwasser gehört fest zu den zehn knappsten Ressourcen der Welt, und es gibt keine globalen Programme, die seine Qualität mindestens auf das Niveau der Mitte der letzten bringen können Jahrhundert und sind nicht vorgesehen. Im Allgemeinen ist die Rettung von Ertrinkenden das Werk der Ertrinkenden selbst.

Aquastop ist auch ein nützliches Gerät, es erfordert auch keine Stromversorgung und Wartung, aber seine Funktion ist anders. Bei einem starken Anstieg des Wasserstroms (Durchbruch) wird der Aquastop ausgelöst und sein Ventil schneidet die gesamte Wohnung vom Steigrohr ab. Aquastops gibt es in verschiedenen Systemen, einschließlich elektrodynamischer Systeme, daher ist bei der Installation eines Aquastops auch ein antimagnetischer Zähler erforderlich.

Rohrauswahl

Eine neue Sanitärinstallation in einer Wohnung beginnt mit der Wahl der Rohre. Stahl ist im Alltag obsolet geworden, und Sie müssen zwischen Metall-Kunststoff, Kunststoff und gelötetem Kupfer wählen. Diese Arbeitsphase ist vielleicht die verantwortungsvollste - die falsche Wahl macht alle Bemühungen, Kosten und Probleme zunichte.

Kupfer

Über kupferne Wasserrohre kann man gleich sagen: Ihre Propagandisten wissen nicht, wovon sie reden. Oder sie wissen es, aber sie setzen sich nicht fest. Erstens bildet sich auf Kupfer bei Kontakt mit Wasser Kupferoxid – derselbe Grünspan, über den Tom Sawyer mit Huckleberry Finn gesprochen hat. Ja, eine Person braucht Kupfer, aber in vernachlässigbaren Mengen in Form eines Mikroelements und nicht als Teil eines starken Giftes. Als Gegenargument sagen sie, dass Kupfer mit Chlor aus Wasser einen Schutzfilm bildet. Absurd für jeden, der sich zumindest an Schulchemie erinnert.

Zweitens enthält die Zusammensetzung des Lötmittels für Kupfer Zinn. Weißes Zinn, ein weiches Metall, verwandelt sich im Laufe der Zeit in seine andere, wie Chemiker sagen, allotrope Modifikation - graues Zinn, ein krümeliges Pulver. Das heißt, durch die Installation von Kupferrohren (sehr teuer) garantieren wir damit eine 100% ige Leckage. Und die Bezahlung für die Arbeit eines auf Kupferrohre spezialisierten Unternehmens, da es unmöglich ist, sie selbst richtig zu löten.

Metall-Kunststoff

Metall-Kunststoff-Rohre sind ziemlich teuer, aber sie können ohne Erfahrung von Hand verbunden werden. Metall-Kunststoff-Rohrleitungen werden an speziellen Gewindebaugruppen mit Dichtungen oder unter Crimpanschlüssen montiert. Außerdem lassen sich Metall-Kunststoff-Rohre problemlos biegen. Hydrodynamischer Widerstand und Druckverlust in Metall-Kunststoff sind sehr gering.

Um ein Rohr in ein Fitting einzuführen, benötigen Sie einen Rohrschneider, eine Presszange und einen Satz Reibahlen (Reibahlen) für den Durchmesser der Rohre. Mit ihrer Hilfe geht die Arbeit mühelos und mit improvisierten Mitteln - eine volle Garantie für Leckagen. Außerdem ist die Lebensdauer von Dichtungen in Armaturen begrenzt und mit der Zeit beginnt die Fuge zu tropfen. Daher ist das Einmauern von Metall-Kunststoff in Wände nicht akzeptabel, und es wird dringend empfohlen, es nicht in Blitzen zu verstecken.

Es wird empfohlen, die Wasserversorgung mit Metall-Kunststoff in separaten offenen Bereichen durchzuführen, in denen der minimale Widerstand gegen den Wasserfluss und die Möglichkeit einer einfachen und schnellen Abschottung der Verbindung wichtig sind: beim Anschluss eines Boilers, einer Waschmaschine, eines Waschbeckens usw. Adapter aus Metall-Kunststoff auf andere Rohrtypen sind immer im Angebot.

Plastik

Wohnungsinstallationen aus Kunststoff sind mittlerweile zum Standard geworden, aber Kunststoffe sind anders. Um die richtige Wahl zu treffen, müssen Sie ihre Eigenschaften und Merkmale kennen.

Polybutylen (PB)

Flexibler Kunststoff mit guter Wärmeleitfähigkeit für Kunststoff. Hält Temperaturen bis zu 90 Grad. Eine richtig gelötete Verbindung ist absolut zuverlässig. Sehr teuer. Verwendet für Fußbodenheizung.

Polyethylen (PE)

Billig, aber für Warmwasser werden mit Polyethylen verstärkte Rohre benötigt; gewöhnliches Polyethylen hält 60 Grad nicht aus. Biegen und Kleben ist nicht möglich, die Lötstelle hält zuverlässig einen Druck von maximal 3,5 atm und der Wasserdruck in der städtischen Wasserversorgung kann bei Kaltwasser bis zu 6 atm (0,6 Mbar) und bei Warmwasser bis zu 4,5 atm betragen , so dass die Möglichkeit eines plötzlichen Durchbruchs besteht. Der hydraulische Widerstand ist jedoch der kleinste von allen.

Es scheint, dass Polyethylenrohre für alle schlecht sind, aber sie haben einen Vorteil, der all ihre Mängel wert sein kann: Sie haben keine Angst vor dem Einfrieren. Der Eiskorken lässt sie platzen, und wenn er schmilzt, schrumpfen sie wieder und platzen nicht, auch wenn sie brechen. Daher wird die Installation eines Polyethylen-Wasserversorgungssystems in ungeheizten, saisonalen und unterirdischen Räumen dringend empfohlen. Es gibt keine Alternative zu Polyethylen. Aber bei einem ständig gefüllten System wird ein Aquastop benötigt.

PVC (PVC)

Die Eigenschaften von Polyvinylchlorid (PVC) sind bekannt: chemisch beständig, preiswert, hitzebeständig bis 80 Grad, leicht zu verkleben, aber nicht sehr stark und scheu vor UV-Strahlung. Sowohl gelötete als auch geklebte Verbindungen werden spröder als festes Material, sodass die Gefahr eines Durchbruchs bestehen bleibt und ein Aquastop erforderlich ist. Das Ersetzen einzelner Abschnitte von geklebtem PVC ist natürlich schwieriger als bei zusammenklappbarem Metall-Kunststoff, aber einfacher als bei Lötverbindungen: Durch Erhitzen der Verbindung mit einem Haushaltsfön kann die Verbindung getrennt und dann erneut verklebt werden. Im Allgemeinen ist die Option budgetär oder für einen unerfahrenen Meister mit einer Länge des Hauptzweigs von der Steigleitung bis zum entferntesten Entnahmepunkt von nicht mehr als 10 m und mit nicht mehr als 7 Probenahmestellen.

Propylen (PP)

Die Verlegung einer Wohnungswasserversorgung mit Polyisopropylen-Rohren (Propylen) ist mittlerweile allgemein akzeptiert. Das Material ist nicht sehr teuer, langlebig, widerstandsfähig, Lötverbindungen behalten alle Eigenschaften der Basis bei, Hitzebeständigkeit - bis zu 130 Grad, richtig gelötet hält bis zu 12 atm. Der hydraulische Widerstand ist höher als der von PVC, aber trotzdem ist die Ansammlung von Plaque im Lumen minimal und mit HMS ausgeschlossen. Beim Selbermachen gibt es nur zwei Nachteile:

  • Es klebt nicht und das Löten erfordert eine spezielle Ausrüstung und die strikte Einhaltung der Technologie.
  • Es hat einen ziemlich hohen Wärmeausdehnungskoeffizienten. In einer Wand eingemauert oder in einem Blitz versteckt, kann es die Fliese verbiegen und brechen. Daher müssen Sie beim Verlegen jedes Rohrs einen Strumpf aus Merylon oder synthetischem Winterizer anziehen, was die Arbeitskosten erhöht.

Die Propylenpipeline ist jedoch bei weitem die einzige, die ein für alle Mal erledigt und vergessen werden kann. Daher werden wir auf das Löten von Propylen separat eingehen, zumal sich das Löten anderer Kunststoffe nur in einer niedrigeren Temperatur unterscheidet (110-130 Grad für Polyethylen und etwa 150 für PVC).

Löten mit Propylen

Das Löten von Propylen mit einem handwerklichen „Eisen“-Lötkolben von Ende zu Ende (siehe Abbildung rechts) ist nicht akzeptabel:

  1. Auf der „Wurst“ im Inneren sammeln sich Verschmutzungen an, und die so zusammengesetzte Rohrleitung ist anfälliger für Verstopfungen als Stahl.
  2. Der Druck des Wassers, der die Rohre zum Platzen bringt, neigt dazu, die Verbindung zu brechen. Bei 16 Grad im Rohr und 20-25 Grad außen ist nach etwa drei Monaten die Ermüdungsgrenze des Materials überschritten und die Fuge fließt.

Die Montage der Propylen-Rohrleitung erfolgt an Lötfittings - gerade (zum Verbinden von Rohrabschnitten), eckig, T-Stücke, Kreuze. Das zum Erweichen erhitzte Rohr wird in die Halterung des ebenfalls erhitzten Fittings eingeführt, und die Verbindung friert ein. In diesem Fall hingegen drückt der Wasserdruck das Rohr von innen gegen die Ummantelung und sorgt für Festigkeit, und es bleibt nur eine Abdichtung für die verschmolzene Zone. Die ziemlich hohe Steifigkeit von Propylen erlaubt es der das Rohr bedeckenden Schelle nicht, sich elastisch auszudehnen. Diese Gestaltung des Anschlusses in Kombination mit den Materialeigenschaften macht die Propylen-Rohrleitung jahrzehntelang zum Einmauern geeignet.

Notiz: Ein mehr oder weniger anständiger Lötkolben für Propylen kostet mindestens 2000 Rubel. und ist immer noch ungeeignet für etwas, aber verschleißt nicht von der Arbeit. Daher müssen Sie es nicht kaufen, es ist besser, es zu mieten.

  • Für versteckte Verkabelung in einer typischen Wohnung in Blitzen oder monolithisch - definitiv Propylen.
  • Für große Äste mit vielen Wasseraufnahmepunkten - offener Metall-Kunststoff oder in Kanälen mit abnehmbaren Abdeckungen.
  • Für Landhäuser, Saisonmietwohnungen, Landhäuser mit abgelegenen Nebengebäuden, Gewächshäuser usw. - Polyethylen.
  • Für Budgetreparaturen oder in Gebieten mit Wasserknappheit, niedrigem Druck in der Wasserversorgung, mit Wasser schlechter Qualität - PVC.

Schaltplan

Sammlerkämme

Es gibt zwei Schemata für die Wasserentnahme in den Räumlichkeiten: seriell und parallel. Bei einem seriellen Schema werden die Analysepunkte durch T-Stücke mit einem gemeinsamen Rohr verbunden. Dieses Schema ist das wirtschaftlichste, aber bei einer langen Kabellänge, einer großen Anzahl von Parsing-Punkten und / oder bei niedrigem Wasserdruck ist es nicht geeignet, da es den Druck stark reduziert.

In diesem Fall erfolgt die Wasseraufnahme parallel vom „Kamm“ -Kollektor, siehe Abb. Ein Kamm ist eine Anordnung von Umgehungsventilen, von denen jedes einen festen Zweig zu seinem Analysepunkt führt. Die Ventile regeln den Druck getrennt nach Punkten. Die Abzweige zu den Weichen bestehen aus Metall-Kunststoff oder Polyethylen: Hier spielt ihr geringer hydraulischer Widerstand eine Rolle, und wenn sie in einem Stück verlegt werden, sind sie ziemlich zuverlässig.

Entwicklung eines Wasserentnahmeschemas

Das Wasserversorgungssystem in der Wohnung wird in erster Linie für sich selbst benötigt, um nicht verwirrt zu werden, sich nicht zu verrechnen und dann genau zu wissen, wo sich alles befindet - für diese Arbeit ist keine besondere Genehmigung erforderlich. Bei der Registrierung des Zählers werden Sie jedoch möglicherweise vom Wasserversorgungsinspektor aufgefordert, sich das Diagramm anzusehen, sodass Sie es korrekt zeichnen müssen.

Ein vollständiges Schema nach allen Regeln ist eine ernsthafte Aufgabe für einen sachkundigen Spezialisten. zum Beispiel - in der großen Abbildung das Wasserversorgungsschema eines Privathauses mit Sommerküche, das für die Genehmigung des Projekts erforderlich ist. Aber um die Rohre in der Wohnung auszutauschen, müssen Sie sich nicht so darum kümmern, es reicht aus, dass das Diagramm deutlich zeigt und versteht:

  1. Warm- und Kaltwasserleitungen, deren Art und Lumendurchmesser.
  2. Messgeräte.
  3. Notventile und Abflüsse.
  4. Absperrventil.
  5. Analysepunkte mit Angabe der Verbraucher.
  6. Zweige und Geräte sichern.
  7. Richtung des Wasserflusses.

Um sich das alles nicht nur sich selbst, oder einem Jahr später, klar zu machen, müssen beim Zeichnen gewisse Regeln beachtet werden. Schauen wir uns Beispiele an, siehe Abb. Links - mehr oder weniger okay, aber mit Kommentaren, rechts - falsch:

  • Das Schema rechts ist in Isometrie erstellt - für die Schönheit, oder was? Die Schnittpunkte der Rohre verwirren sie und sie gibt keine Vorstellung von der tatsächlichen Position der Analysepunkte: Die Waschmaschine mit dem Boiler kommt unter dem Boden heraus.
  • Es gibt auch zu viele Strompfeile, wo schon klar ist, wo sie fließt, was die Schaltung ebenfalls verwirrt.
  • An gleicher Stelle sind Absperrarmaturen mit Dosiereinrichtungen undeutlich und nicht regelkonform abgebildet.
  • An der gleichen Stelle sind Art und Durchmesser der Rohre nicht angegeben.
  • An derselben Stelle - wer, wo und wann hat gesehen, dass der Kessel von oben mit Wasser versorgt und die Toilette durch die Ebbe gespült wurde?
  • Aber im Diagramm links ist nicht einmal einem Fachmann klar, dass der Boiler (6) ein Backup ist. Die Bemerkung wird lauten: „Wo ist das Rückschlagventil für heiß? Ohne sie fährt der Kessel bei Unterbrechung der Zufuhr selbst in die heiße Steigleitung, wenn das Ventil (10) nicht geschlossen ist. Aber dies ist bereits im Wesentlichen und mit vollem Verständnis.

Richtiges vereinfachtes Sanitärschema in der Wohnung

Ein Beispiel ist willkürlich, nicht nach den Regeln für die Gestaltung der Konstruktionsdokumentation, aber völlig verständlich und ohne Schnickschnack, das fertige Wasseraufnahmeschema ist in der folgenden Abbildung dargestellt. Dies ist auch ein Beispiel für einen parallelen Drawdown; wo natürlich die Kämme.

Rohrberechnung

Bevor Sie sich endgültig für Rohre entscheiden, müssen Sie zumindest ungefähr deren Durchmesser berechnen. Für "Smartness" ist das nicht nötig - je schmaler das Rohr, desto günstiger ist es einerseits. Andererseits verursacht ein Rohr mit zu kleinem Durchmesser für eine Wasserversorgung Turbulenzen in der Strömung darin. Gleichzeitig fällt der Durchsatz des Rohrs stark ab und bei normalem Druck am Einlass des Wasserhahns sickert es kaum durch.

Die genaue Berechnung der Pipeline ist Sache hochqualifizierter Spezialisten, aber für eine Stadtwohnung können Sie es selbst herausfinden, um normal zu fließen. Die Anfangsdaten sind:

  1. Der minimal zulässige Druck beträgt 0,3 at.
  2. Druckverlust pro 1 m eines 16-mm-Propylenrohrs - 0,05 at.
  3. Der durchschnittliche Druckverlust für die Wohnungsverkabelung pro Armatureneinheit beträgt 0,15 at.
  4. Druckverlust in der Auswahl- und Abrechnungseinheit - 0,25 at.
  5. Bei normalen Druckwerten am Einlass des Steigrohrs von 1,5-4,5 atm sind periodische Turbulenzen in einem 12-mm-Rohr unvermeidlich und werden in 16-mm-Rohren nicht beobachtet.
  6. Die Kopffreiheit für den entferntesten Punkt beträgt mindestens das Zweifache.

Es bleibt der Druck (Druck) am Einlass herauszufinden, und Sie können feststellen, ob bei der Reihenschaltung eines solchen Laufrohrs genug Druck für den am weitesten entfernten Wasserhahn vorhanden ist oder Sie es breiter und teurer nehmen müssen . Der Druck an der Unterseite der Steigleitung kann am Manometer im Keller oder beim Gebäudebetreiber erfragt werden; Ziehen Sie dann 0,6 atm pro Etage ab. Auch beim Nachbarn kann man auf die gleichen 0,6 at/Etage abschätzen: Wenn es beispielsweise drei Stockwerke über den Wasserhähnen noch fließt, dann haben wir gute 2 at. In Hochhäusern funktioniert ein solcher Trick jedoch nicht: Um die Kosten für die Wohnungsverkabelung nicht übermäßig zu erhöhen, stellen sie separate Steigleitungen für das untere und obere und sogar für das untere, mittlere und obere Stockwerk her.

Rechenbeispiel: der zweite Stock eines neunstöckigen Gebäudes; die Bewohner der oberen Stockwerke klagen nicht über das Wasser. Wir haben mindestens 4 unter Druck. 11 Fittingeinheiten (5 T-Stücke, 6 Bögen, 1 Ventil) ergeben 1,65 atm Verluste. Die Länge des Rohrs vom Steigrohr bis zur gegenüberliegenden Wand der Küche beträgt 6,5 m, was einen weiteren Verlust von 0,325 atm bedeutet. Insgesamt haben wir mit der Auswahl- und Abrechnungseinheit 0,325 + 1,65 + 0,25 = 2,225 atm Verluste. Zu viel, Sie müssen den Druck mit einem Manometer überprüfen und höchstwahrscheinlich das Hauptrohr 20-25 mm nehmen oder sich parallel vom Kamm scheiden lassen, sonst können Sie im trockenen Sommer „trocken“ bleiben.

Notiz: Daraus wird deutlich, wie wichtig es ist, die Rohre zu begradigen und wie unerwünscht es ist, sie zu verlängern und mit Fittings zu verstopfen.

Die Abhängigkeit der Verluste in Rohren und Armaturen ist nicht linear: Sie hängen von der Strömungsgeschwindigkeit ab, die wiederum vom Querschnitt des Rohrlumens abhängt. Eine leichte Vergrößerung des Rohrdurchmessers reduziert die Verluste drastisch, sodass die übliche 20-mm-Rohrverkabelung für Wohnungen mit Wasserhähnen an 16-mm-Punkten in den meisten Fällen gut funktioniert. In schwierigen Fällen kann eine genaue Berechnung nach SNiP, interner Wasserversorgung und Kanalisation von Gebäuden durchgeführt werden. Es gibt alle notwendigen Formeln und Nomogramme; Die Berechnung kann von einer Person mit einer Ingenieurausbildung eines beliebigen Profils durchgeführt werden.

Sie müssen nur bedenken, dass es aus diesem Grund bereits drei SNiPs mit demselben Index gibt: 2.04.01-85, 2.04.01-85 (2000) und 2.04.01-85 * „(Hauswasserversorgungs- und Entwässerungssysteme in Gebäuden)“. Richtig - SNiP zuletzt.

Werkzeuge, Materialien, Demontage des Alten

Spezielle Werkzeuge für die Montage von Wohnungsrohrleitungen werden oben im Verlauf der Präsentation beschrieben. Für den Kauf von Materialien müssen Sie natürlich das vorhandene Filmmaterial, die Nomenklatur und die Menge berechnen. Die Demontage von Altrohren erfolgt in gewohnter Weise. Es ist besser, dies nach der Installation und Registrierung des Wasserzählers zu tun, um das Wasser nicht für längere Zeit auf den Böden abzustellen.

Wir geben nur einen Rat: Nehmen Sie keine Ventile mit einem Hebel. Sie besteht aus Silumin oder Kunststoff und bricht im ungünstigsten Moment ab, wenn man sie dringend schließen muss. Nehmen Sie Kugelhähne mit Flügelgriff. Runde Riffelgriffe brechen auch nicht, aber nasse oder verschwitzte Hände rutschen darauf ab.

Buchhaltung und Kontrolle

Die Auswahl- und Abrechnungseinheit besteht aus einem Absperrventil, einem Grobfilter, einem Wasserzähler und einem Rückschlagventil. Zusammengebaut wie auf dem Bild. Jedes der Geräte gibt die Richtung des Wasserflusses dafür an, diese muss bei der Montage beachtet werden.

Die Baugruppe wird mit Abdichtung der Verbindungen mit dem FUM-Band zusammengebaut und auch mit dem Steigrohr verbunden, nachdem zuvor das Wasser blockiert wurde; Denken Sie daran, das Absperrventil zu schließen, bevor Sie Wasser zuführen. Dies ist die einzige und kurzfristige Operation, bei der die Wasserversorgung der Nachbarn im Steigrohr abgestellt werden muss.

Für Kalt- und Warmwasser sind getrennte Zählereinheiten erforderlich. Es ist sehr wünschenswert, dass die Zähler und Ventilgriffe farblich hervorgehoben werden. Die Zählerstände sollten ohne zusätzliche Arbeitsschritte (Entfernen der Luke usw.) klar lesbar sein, daher ist es oft notwendig, einen Teil einer integrierten Rohrleitung vorzumontieren, manchmal mit einer ziemlich bizarren Konfiguration, um Messgeräte mit dem Steigrohr zu verbinden. Dazu benötigen Sie neben Rohren und einem Lötkolben Übergangskupplungen von Kunststoff zu Metall MPV - eine Innenkupplung mit Gewinde. Kunststoff wird mit MRN - Außengewindekupplungen mit Dosiereinheiten verbunden.

Die Zähler werden versiegelt verkauft, was aber nicht bedeutet, dass Sie sofort den Wasserversorger anrufen und das Wasser nach Verbrauch bezahlen können. Das Fabriksiegel ist dafür (das russische Land ist reich an Handwerkern), damit niemand in den Zähler kommt und dort etwas verdreht oder feilt. Das Werkssiegel muss geschützt werden; Ohne sie gilt der Zähler als unbrauchbar, ebenso wie ohne Zertifikat dafür.

Wenn Sie Wasserzähler installieren, müssen Sie dies dem Wasserversorger melden und dessen Inspektor anrufen. Sie können Wasser verwenden, bevor er ankommt, der Inspektor benötigt keine Nullwerte, er notiert die ersten, versiegelt den Zähler und den Filterablauf mit seinem Siegel. Die Zahlung für den Wasserverbrauch erfolgt nach der Registrierung der Messgeräte.

HMS, Aquastop, Filter

Obwohl das Design des HMS nicht trennbar ist und es nicht erlaubt, mit seiner Hilfe Wasser zu stehlen, und dieses Gerät nicht versiegelt werden kann, ist das Anschließen des HMS an das Messgerät nicht akzeptabel: Das Laufrad des Messgeräts kann mit Schlamm verstopft werden. HMS mit Flaschenfilter wird nach Dosiergeräten angeschlossen; Filter - unmittelbar nach HMS. Ein Aquastop kann unmittelbar nach dem Filter angeschlossen werden, aber wenn es elektrodynamisch ist, kann das Magnetfeld des HMS zu Fehlfunktionen führen, aber es macht keinen Sinn, den Aquastop weit vom Steigrohr entfernt zuzuordnen: Er reagiert nicht auf einen vorherigen Durchbruch Es.

Video: Übersicht über die Gestaltungsmöglichkeiten von Sanitärelementen

Pipeline-Installation

Also, jetzt machen wir die Klempnerarbeiten. Die Montage von Rohren wurde bereits beschrieben, aber die Installation des Gesamtsystems hat auch nicht-konstruktive Besonderheiten, wie die Anordnung von Kanälen im Estrich. Letztere sollten nicht weiter als 150 mm von der Wand entfernt und nicht näher als 200 mm an den Möbeln vorbeigeführt werden. Sanitärinstallationen werden natürlich entfernt, bevor mit der Rohrverlegung begonnen wird.

Zunächst müssen Sie Bögen installieren - Kunststoffstreifen mit MRV-Quadraten für Mischer. Sie werden mit selbstschneidenden Schrauben in Dübeln an der Hauptwand befestigt. Beim Anbringen müssen Sie die Dicke der Oberfläche berücksichtigen: Putz und Fliesen oder andere dekorative Beschichtungen.

Ohne viel Bauerfahrung ist es sehr schwierig, die wandbündige Anordnung der Ausblasdüsen zu erreichen. Es ist besser, sie im Voraus über der fertigen Wand auf halber Breite der Seite der dekorativen Mischerkappen herzustellen: Wenn die Kappen ungeregelt sind, können sie leicht auf einer Schmirgelscheibe oder manuell auf einer Schmirgelstange eingestellt werden.

Der nächste Moment ist die Montage von Rohrleitungsabschnitten. Am bequemsten ist es, es auf dem Tisch zusammenzubauen und vollständig in Stroboskope zu stellen. Aber dann stellt sich die Frage: Wie führt man Rohre durch Wände? Bei Metall-Kunststoff gibt es keine Probleme, es handelt sich um lösbare Armaturen, und für gelötete Rohre können zwei Methoden angeboten werden:

  • Mit Hilfe von MPH / MRV-Adaptern und Metall-Kunststoff-Einsätzen. In einer Wohnung ist dies ziemlich zuverlässig, und in den Ecken über den Blitzen können Sie abnehmbare Luken zur Revision und Reparatur von Schraubverbindungen herstellen.
  • Installieren Sie Pipelines lokal. Dies erfordert einen kompakten Lötkolben. Dieser ist teurer und Sie müssen mit Baumwollhandschuhen arbeiten, um sich nicht versehentlich zu verbrennen.

Der vierte Punkt ist das Löten. Ein Lot dauert 15 mm Rohr. Das heißt, wenn zwischen zwei Armaturen genau 1 m liegt, müssen Sie 1030 mm schneiden; wenn 0,6 m - 630 mm usw.

Der fünfte Punkt ist das Biegen von Metall-Kunststoff-Rohren. Der minimal zulässige Biegeradius beträgt 5 Außendurchmesser des Rohres. Man kann auf Empfehlungen stoßen: Da heißt es, Feder rein, mit Sand füllen, und man kann sie meist schräg biegen, Feder herausziehen und mit einem Drahthaken den Sand herauspicken. Auf keinen Fall: Die Beschichtung des Rohrs verschlechtert sich, die Eigenspannungen darin sind viel höher als die zulässigen und das Metall-Kunststoff-Rohr erhält die Eigenschaften eines sehr schlecht verrosteten Stahls.

Und endlich, . Dies ist ein separater Produktionszyklus und erfolgt nach der Inbetriebnahme des Wasserversorgungssystems. Die Rohre für den Kessel werden im Voraus hergestellt, aber die Ventile an ihnen (sie werden definitiv für beide benötigt) werden unmittelbar nach dem Einbau der Rohre blockiert und die Rohre zusätzlich gedämpft.

Video: ein Beispiel für eine montierte Installation

Es gibt zwei verschiedene Möglichkeiten, Hot Plugging in Betracht zu ziehen. Der Kernel betrachtet Hotplugging als eine Interaktion zwischen der Hardware, dem Kernel und dem Kerneltreiber. Benutzer stellen sich Hotplugging als eine Interaktion zwischen dem Kernel und dem Userspace durch ein Programm namens /sbin/hotplug vor. Dieses Programm wird vom Kernel aufgerufen, wenn es den Userspace darüber informieren möchte, dass gerade ein Hotplug-Ereignis im Kernel aufgetreten ist.

Dynamische Geräte

Die häufigste Verwendung der Bedeutung des Begriffs "Hot Plug" tritt auf, wenn die Tatsache diskutiert wird, dass die meisten Computersysteme jetzt mit Geräten umgehen können, die erscheinen oder verschwinden, wenn das System eingeschaltet wird. Dies unterscheidet sich stark von Computersystemen vor nur wenigen Jahren, als Programmierer wussten, dass sie nur alle Geräte beim Booten scannen mussten und sich nie Sorgen machen mussten, dass ihre Geräte verschwinden, wenn die Stromversorgung des gesamten Computers abgeschaltet wurde. Jetzt, mit dem Aufkommen von USB-, CardBus-PCMCIA-, IEEE1394- und PCI-Hot-Plug-Controllern, muss der Linux-Kernel in der Lage sein, zuverlässig zu arbeiten, unabhängig davon, welche Hardware dem System hinzugefügt oder entfernt wird. Dies stellt eine zusätzliche Belastung für den Schreiber des Gerätetreibers dar, da er jetzt immer mit einem Gerät arbeiten muss, das plötzlich ohne Vorankündigung außer Kontrolle gerät.

Jeder Bustyp handhabt den Geräteverlust anders. Wenn beispielsweise ein PCI-, CardBus- oder PCMCIA-Gerät aus dem System entfernt wird, geschieht dies normalerweise, bevor der Treiber über seine Entfernungsfunktion über die Aktion informiert wurde. Bevor dies geschieht, geben alle Lesevorgänge vom PCI-Bus alle gesetzten Bits zurück. Das bedeutet, dass Treiber immer den Wert der Daten überprüfen müssen, die sie vom PCI-Bus gelesen haben, und in der Lage sein müssen, den 0xff-Wert richtig zu verarbeiten.

Ein Beispiel dafür ist in drivers/usb/host/ehci-hcd.c zu sehen, bei dem es sich um einen PCI-Treiber für ein USB 2.0 (High-Speed)-Controller-Board handelt. Es hat den folgenden Code in seiner Haupt-Handshake-Schleife, um zu erkennen, dass die Steuerplatine aus dem System entfernt wurde:

Ergebnis = readl(ptr);

if (result == ~(u32)0) /* Karte entfernt */

Rückgabe -ENODEV;

Wenn bei USB-Treibern das Gerät, dem der USB-Treiber zugeordnet ist, aus dem System entfernt wird, schlagen alle ausstehenden Urbs, die an das Gerät gesendet wurden, zunächst mit einem -ENODEV-Fehler fehl. Der Treiber sollte diesen Fehler erkennen und ggf. anstehende E/A-Vorgänge entsprechend bereinigen.

Hot-Plug-Geräte sind nicht auf herkömmliche Geräte wie Mäuse, Tastaturen und Netzwerkkarten beschränkt. Es gibt viele Systeme, die jetzt das Entfernen und Hinzufügen ganzer Prozessoren und Speicherkarten unterstützen. Glücklicherweise handhabt der Linux-Kernel das Hinzufügen und Entfernen solcher grundlegender "System"-Geräte ordnungsgemäß, sodass sich einzelne Gerätetreiber nicht um diese Dinge kümmern müssen.

/sbin/hotplug-Dienstprogramm

Wie bereits in diesem Kapitel erwähnt, wird ein „Hot-Plug-Ereignis“ generiert, wenn ein Gerät zum System hinzugefügt oder daraus entfernt wird. Das bedeutet, dass der Kernel das Userspace-Programm /sbin/hotplug aufruft. Dieses Programm ist normalerweise sehr klein Bash-Skript, wodurch die Ausführung einfach an eine Liste anderer Programme übertragen wird, die sich im /etc/hotplug.d/-Verzeichnisbaum befinden. Für die meisten Linux-Distributionen dieses Skript sieht so aus:

DIR="/etc/hotplug.d"

für I in "$(DIR)/$1/"*.hotplug "$(DIR)/"default/*.hotplug ; Tun

Wenn [ -f $I ]; Dann

Test -x $I && $I $1 ;

Erledigt

Ausgang 1

Mit anderen Worten, das Skript sucht nach allen Programmen mit der Endung .hotplug, die an diesem Ereignis interessiert sein könnten, ruft sie auf und übergibt ihnen eine Reihe verschiedener Umgebungsvariablen, die vom Kernel gesetzt wurden. Mehr genaue Information das /sbin/hotplug-Skript finden Sie in den Programmkommentaren und auf der Hotplug(8)-Handbuchseite.

Wie bereits erwähnt, wird /sbin/hotplug aufgerufen, wenn ein Kobject erstellt oder zerstört wird. Das Hotplug-Programm wird mit einem Argument aufgerufen Befehlszeile A, das den Titel für dieses Ereignis darstellt. Der Hauptkernel und ein bestimmtes Subsystem sind auch daran beteiligt, eine Reihe von Umgebungsvariablen (siehe unten) mit Informationen darüber zu setzen, was gerade passiert ist. Diese Variablen werden in Hotplug-Programmen verwendet, um festzustellen, was gerade im Kernel passiert ist und ob es eine spezielle Aktion gibt, die stattfinden muss.

Das an /sbin/hotplug übergebene Befehlszeilenargument ist der Name, der diesem Hotplug-Ereignis zugeordnet ist, wie durch das dem kobject zugewiesene kset bestimmt. Dieser Name kann durch Aufrufe der name-Funktion gesetzt werden, die Teil der bereits in diesem Kapitel beschriebenen hotplug_ops-Struktur von kset ist; wenn diese Funktion fehlt oder noch nie aufgerufen wurde, wird der Name des kset selbst verwendet.

Die standardmäßigen Umgebungsvariablen, die immer für das Programm /sbin/hotplug gesetzt werden, sind:

AKTION

Die Zeichenfolge add (add) oder remove (delete), je nachdem, ob das angegebene Objekt gerade erstellt oder zerstört wurde.

DEVPATH

Pfad zu einem Verzeichnis im sysfs-Dateisystem, das auf das Kobject zeigt, das derzeit entweder erstellt oder zerstört wird. Beachten Sie, dass der Einhängepunkt des sysfs-Dateisystems nicht zu diesem Pfad hinzugefügt wird, sodass seine Definition dem Userspace-Programm überlassen bleibt.

SEQNUM

Die Sequenznummer für dieses Hotplug-Ereignis. Die Sequenznummer ist eine 64-Bit-Zahl, die mit jedem generierten Hotplug-Ereignis erhöht wird. Dadurch kann der Benutzerbereich Hotplug-Ereignisse in der Reihenfolge sortieren, in der der Kernel sie generiert, da es für Benutzerbereichsprogramme möglich ist, dass sie nicht in der richtigen Reihenfolge arbeiten.

TEILSYSTEM

Dieselbe Zeichenfolge wird wie oben beschrieben als Befehlszeilenargument übergeben.

Eine Reihe verschiedener Bus-Subsysteme zum Aufrufen von /sbin/hotplug fügen ihre eigenen hinzu Umgebungsvariablen wenn ein dem Bus zugeordnetes Gerät zum System hinzugefügt oder aus dem System entfernt wurde. Sie tun dies in ihrem Hotplug-Callback, der in der diesem Bus zugewiesenen Struktur kset_hotplug_ops angegeben ist (wie im Abschnitt Hotplug-Operationen beschrieben). Dadurch kann der Benutzerbereich automatisch die erforderlichen Module laden, die möglicherweise benötigt werden, um ein Gerät zu steuern, das auf dem Bus erkannt wurde. Hier ist eine Liste der verschiedenen Bustypen und der Umgebungsvariablen, die sie dem /sbin/hotplug-Aufruf hinzufügen.

IEEE1394 (FireWire)

Alle Geräte am IEEE1394-Bus, auch bekannt als FireWire, haben eine Namensoption für /sbin/hotplug und die Umgebungsvariable SUBSYSTEM ist auf ieee1394 gesetzt. Das Ieee1394-Subsystem fügt außerdem immer die folgenden vier Umgebungsvariablen hinzu:

HERSTELLER-ID

24-Bit-Hersteller-ID für das IEEE1394-Gerät.

MODEL_ID

24-Bit-Modell-ID für ein IEEE1394-Gerät.

GUID

Die 64-Bit-GUID für dieses Gerät.

SPECIFIER_ID

24-Bit-Wert, der den Eigentümer der Protokollspezifikation für dieses Gerät angibt

AUSFÜHRUNG

Ein Wert, der die Version der Protokollspezifikation für dieses Gerät angibt.

Netz

Alle Netzwerkgeräte Erstellen Sie eine Hotplug-Nachricht, wenn das Gerät im Kernel registriert oder nicht registriert ist. Der /sbin/hotplug-Aufruf hat einen Namensparameter und die Umgebungsvariable SUBSYSTEM ist auf net gesetzt und fügt nur die folgende Umgebungsvariable hinzu:

SCHNITTSTELLE

Der Name der Schnittstelle, die vom Kernel registriert oder nicht registriert wurde. Beispiele dafür sind lo und eth0 .

PCI

Alle Geräte am PCI-Bus haben einen Namensparameter und die Umgebungsvariable SUBSYSTEM ist auf pci gesetzt. Das PCI-Subsystem fügt außerdem immer die folgenden vier Umgebungsvariablen hinzu:

PCI_CLASS

Die PCI-Klassennummer für dieses Gerät im Hexadezimalformat.

PCI_ID

Die Anbieter- und PCI-Geräte-IDs für dieses Gerät in Hexadezimalform, verkettet im Format Anbieter:Gerät .

PCI_SUBSYS_ID

Anbieter- und PCI-Subsystem-IDs kombiniert im Format subsys_vendor:subsys_device .

PCI_SLOT_NAME

Der "Name" des PCI-Steckplatzes, der dem Gerät vom Kernel im Format domain:bus:slot:function gegeben wird. Ein Beispiel wäre 0000:00:0d.0 .

Eingang

Für alle Eingabegeräte (Maus, Tastaturen, Joysticks usw.) wird eine Hotplug-Nachricht generiert, wenn ein Gerät zum Kernel hinzugefügt oder aus ihm entfernt wird. Die Option /sbin/hotplug und die Umgebungsvariable SUBSYSTEM sind auf input gesetzt. Das Eingabesubsystem fügt außerdem immer die folgenden Umgebungsvariablen hinzu:

PRODUKT

Eine mehrwertige Zeichenfolge, die die Werte im Hexadezimalformat ohne führende Nullen im Format auflistet Bustyp:Hersteller:Produkt:Version.

Die folgenden Umgebungsvariablen können vorhanden sein, wenn das Gerät sie unterstützt:

NAME

Der Name des Eingabegeräts, wie vom Gerät angegeben.

PHYS

Die physische Adresse des Geräts, die das Eingabesubsystem diesem Gerät gegeben hat. Es sollte stabil sein, abhängig von der Position des Busses, an dem das Gerät angeschlossen war.

Sie stammen alle von einem Eingabegerät-Handle und werden auf die entsprechenden Werte gesetzt, wenn das jeweilige Eingabegerät dies unterstützt.

USB

Alle Geräte am USB-Bus haben einen Namensparameter und die Umgebungsvariable SUBSYSTEM ist auf usb gesetzt. Das USB-Subsystem fügt außerdem immer die folgenden Umgebungsvariablen hinzu:

PRODUKT

Eine Zeichenfolge im Format idVendor/idProduct/bcdDevice

TYP

Zeichenfolge im Format bDeviceClass/bDeviceSubClass/bDeviceProtocol, das diese vom USB-Gerät abhängigen Felder definiert.

Wenn das Feld bDeviceClass auf 0 gesetzt ist, wird auch die folgende Umgebungsvariable gesetzt:

SCHNITTSTELLE

Zeichenfolge im Format bInterfaceClass/bInterfaceSubClass/bInterfaceProtocol, das diese vom USB-Gerät abhängigen Felder definiert.

Wenn die Kernel-Erstellungsoption CONFIG_USB_DEVICEFS ausgewählt ist, die auswählt, dass das USBFS-Dateisystem im Kernel erstellt wird, wird auch die folgende Umgebungsvariable gesetzt:

GERÄT

Eine Zeichenfolge, die anzeigt, wo sich das Gerät im USBFS-Dateisystem befindet. Diese Zeile hat das Format /proc/bus/usb/USB_BUS_NUMBER/ SB_DEVICE_NUMBER, wobei USB_BUS_NUMBER die dreistellige Nummer des USB-Busses ist, an den das Gerät angeschlossen ist, und USB_DEVICE_NUMBER die dreistellige Nummer ist, die vom Kernel für dieses USB-Gerät zugewiesen wurde.

SCSI

Alle SCSI-Geräte generieren ein Hotplug-Ereignis, wenn ein SCSI-Gerät erstellt oder aus dem Kernel entfernt wird. Der /sbin/hotplug-Aufruf hat einen Namensparameter und die Umgebungsvariable SUBSYSTEM, die für jedes SCSI-Gerät, das dem System hinzugefügt oder daraus entfernt wird, auf scsi gesetzt ist. Das SCSI-System fügt keine zusätzlichen Umgebungsvariablen hinzu, aber es wird hier erwähnt, weil es ein spezielles User-Space-SCSI-Skript gibt, das bestimmen kann, dass SCSI-Treiber (Festplattenlaufwerk, Bandlaufwerk, normal usw.) für das angegebene geladen werden sollen Geräte-SCSI.

Notebook-Dockingstationen

Wenn eine Plug-and-Play-fähige Laptop-Dockingstation zu einer laufenden hinzugefügt oder entfernt wird Linux-Systeme(indem ein Laptop an die Station angeschlossen oder entfernt wird) wird ein Hotplug-Ereignis generiert. Der Aufruf /sbin/hotplug hat einen Namensparameter und die Umgebungsvariable SUBSYSTEM ist auf dock gesetzt. Es werden keine weiteren Umgebungsvariablen gesetzt.

S/390 und zSeries

Auf der S/390-Architektur unterstützt die Kanalbusarchitektur eine Vielzahl von Hardware, von denen jede /sbin/hotplug-Ereignisse auslöst, wenn sie dem virtuellen Linux-System hinzugefügt oder daraus entfernt werden. Alle diese Geräte haben einen Namensparameter für /sbin/hotplug und die Umgebungsvariable SUBSYSTEM ist auf dasd gesetzt. Es werden keine weiteren Umgebungsvariablen gesetzt.

Mit /sbin/hotplug

Jetzt, da der Linux-Kernel /sbin/hotplug für jedes Gerät aufruft, das dem Kernel hinzugefügt oder daraus entfernt wird, wurde eine Reihe sehr nützlicher Tools im Benutzerbereich erstellt, um dies zu nutzen. Zwei der beliebtesten Tools sind Linux-Hotplug-Skripte und udev .

Linux-Hotplug-Skripte

Linux-Hotplug-Skripte wurden als allererster Benutzer gestartet, der /sbin/hotplug aufrief. Diese Skripte sehen sich die verschiedenen Umgebungsvariablen an, die der Kernel setzt, um das Gerät zu beschreiben, das er gerade entdeckt hat, und versuchen dann, ein Kernelmodul zu finden, das zu diesem Gerät passt.

Wenn ein Treiber das MODULE_DEVICE_TABLE-Makro verwendet, nimmt das Programm, depmod , wie bereits erwähnt, diese Informationen und erstellt die darin gefundenen Dateien /lib/module/KERNEL_VERSION/modules.*map. Das *-Zeichen ist eine Unterscheidung, je nach Bustyp, den der Treiber unterstützt. Derzeit werden Modulkartendateien für Treiber erstellt, die mit Geräten funktionieren, die die Subsysteme PCI, USB, IEEE1394, INPUT, ISAPNP und CCW unterstützen.

Hotplug-Skripte verwenden diese Modulzuordnungs-Textdateien, um ein Modul zu definieren, um zu versuchen, es zu laden, um ein Gerät zu unterstützen, das kürzlich vom Kernel entdeckt wurde. Sie laden alle Module und hören nicht bei der ersten Übereinstimmung auf, damit der Kernel entscheiden kann, welches Modul am besten geeignet ist. Diese Skripte entladen nicht alle Module, wenn Geräte entfernt werden. Wenn sie dies versuchen, könnten sie versehentlich Geräte ausschalten, die auch von dem entfernten Gerätetreiber gesteuert werden.

Beachten Sie, dass jetzt, da das modprobe-Programm MODULE_DEVICE_TABLE-Informationen direkt aus Modulen lesen kann, ohne dass Modulemap-Dateien erforderlich sind, Hotplug-Skripte auf einen kleinen Wrapper um das modprobe-Programm reduziert werden können.

udev

Einer der Hauptgründe für die Erstellung eines einzelnen Treibermodells im Kernel bestand darin, dem Benutzerraum die dynamische Verwaltung des /dev-Baums zu ermöglichen. Früher wurde dies im Userspace von der devfs-Implementierung durchgeführt, aber diese Codebasis ist aufgrund des Fehlens eines aktiven Betreuers und einiger nicht behebbarer zugrunde liegender Fehler langsam verrottet. Mehrere Kernel-Entwickler erkannten, dass, wenn alle Geräteinformationen in den Benutzerbereich exportiert würden, dies die gesamte erforderliche Verwaltung des /dev-Baums übernehmen könnte.

devfs hat einige sehr signifikante Mängel in seinem Design. Es erfordert, dass jeder Gerätetreiber modifiziert wird, um ihn zu unterstützen, und es erfordert, dass der Gerätetreiber den Namen und den Speicherort im /dev-Baum angibt, wo er abgelegt wird. Es verarbeitet auch dynamische Major- und Minor-Nummern nicht richtig, wodurch die Gerätebenennungsrichtlinie gezwungen wird, zum Kernel und nicht zum Benutzerbereich zu gehören. Die Linux-Kernel-Entwickler hassen es wirklich, eine Richtlinie im Kernel zu haben, und da die devfs-Namensrichtlinie nicht der Linux-Standard-Base-Spezifikation folgt, stört sie das wirklich.

Seitdem der Linux-Kernel auf riesigen Servern installiert wird, stehen viele Benutzer vor dem Problem, eine sehr große Anzahl von Geräten zu verwalten. Bei Plattenlaufwerk-Arrays mit über 10.000 einzelnen Geräten ist es eine sehr schwierige Aufgabe, sicherzustellen, dass jede Platte immer denselben genauen Namen hat, wo immer sie im Platten-Array platziert wird oder wenn sie vom Kernel entdeckt wird. Dies ist das gleiche Problem, unter dem Desktop-Benutzer leiden, wenn sie versuchen, zwei USB-Drucker an ihr System anzuschließen und dann feststellen, dass sie keine Möglichkeit haben, sicherzustellen, dass der als /dev/lpt0 bekannte Drucker nicht geändert und einem anderen Drucker zugewiesen wird Ereignis eines Systemneustarts.

So wurde udev erstellt. Es stützt sich auf alle Geräteinformationen, die über sysfs in den Userspace exportiert werden, und auf die Benachrichtigung über /sbin/hotplug, dass ein Gerät hinzugefügt oder entfernt wurde. Richtlinienentscheidungen, wie zum Beispiel, welcher Name dem Gerät gegeben werden soll, können außerhalb des Kernels im Benutzerbereich festgelegt werden. Dies stellt sicher, dass die Benennungsrichtlinie aus dem Kernel entfernt wird, und ermöglicht ein größeres Maß an Flexibilität bei der Benennung jedes Geräts.

Weitere Informationen zur Verwendung von udev und wie es eingerichtet wird, finden Sie in der Dokumentation, die mit dem udev-Paket in Ihrer Distribution geliefert wird.

Alles, was ein Gerätetreiber tun muss, damit udev richtig damit zusammenarbeitet, ist sicherzustellen, dass alle Major- und Minor-Nummern, die einem vom Treiber gesteuerten Gerät zugewiesen sind, über sysfs in den Benutzerbereich exportiert werden. Für jeden Treiber, der das Subsystem verwendet, um ihm eine Major- und Minor-Nummer zuzuweisen, wird dies bereits vom Subsystem erledigt, und der Treiber muss keine Arbeit leisten. Beispiele für Subsysteme, die dies tun, sind die Subsysteme tty, misc, usb, input, scsi, block, i2c, network und frame buffer. Wenn Ihr Treiber die Major- und Minor-Nummer selbst über cdev_init oder das veraltete register_chrdev erhält, muss der Treiber modifiziert werden, damit udev damit richtig funktioniert.

udev sucht im /class/-Baum in sysfs nach einer Datei namens dev, um festzustellen, welche Major- und Minor-Nummer einem bestimmten Gerät zugewiesen ist, wenn es vom Kernel über die /sbin/hotplug-Schnittstelle aufgerufen wird. Der Gerätetreiber muss einfach eine solche Datei für jedes Gerät erstellen, das er steuert. Typischerweise ist die Schnittstelle class_simple der einfachste Weg, dies zu tun.

Wie im Abschnitt „class_simple-Schnittstelle“ erwähnt, besteht der erste Schritt bei der Verwendung der class_simple-Schnittstelle darin, eine class_simple-Struktur zu erstellen, indem die class_simple_create-Funktion aufgerufen wird:

statische Struktur class_simple *foo_class;

foo_class = class_simple_create(THIS_MODULE, "foo");

if (IS_ERR(foo_class)) (

Printk(KERN_ERR "Fehler beim Erstellen der Foo-Klasse.\n");

Goto-Fehler;

Dieser Code erstellt ein Verzeichnis in sysfs unter /sys/class/foo .

Immer wenn der Treiber ein neues Gerät findet und Sie ihm eine Minor-Nummer zuweisen, wie in Kapitel 3 beschrieben, muss der Treiber die Funktion class_simple_device_add aufrufen:

class_simple_device_add(foo_class, MKDEV(FOO_MAJOR, minor), NULL, "foo%d", minor);

Dieser Code bewirkt, dass ein Unterverzeichnis namens fooN in /sys/class/foo erstellt wird, wobei N die Minor-Nummer für dieses Gerät ist. In diesem Verzeichnis wird eine einzige Datei namens dev erstellt, die udev genau benötigt, um einen Geräteknoten für Ihr Gerät zu erstellen. Wenn Ihr Treiber von einem Gerät freigegeben wird und Sie die ihm zugewiesene Minor-Nummer verwerfen, ist ein Aufruf von class_simple_device_remove erforderlich, um den sysfs-Eintrag für dieses Gerät zu entfernen:

class_simple_device_remove(MKDEV(FOO_MAJOR, minor));

Später, wenn Ihr gesamter Treiber ausfällt, müssen Sie class_simple_destroy aufrufen, um die Klasse zu entfernen, die Sie ursprünglich erstellt haben, indem Sie class_simple_create aufrufen:

class_simple_destroy(foo_class);

Die Datei dev , die durch den Aufruf von class_simple_device_add erstellt wird, besteht aus einer Major- und einer Minor-Nummer, die durch ein : -Zeichen getrennt sind. Wenn Ihr Treiber die class_simple-Schnittstelle nicht verwenden möchte, weil Sie andere Dateien innerhalb des Klassenverzeichnisses für das Subsystem bereitstellen möchten, verwenden Sie die Funktion print_dev_t, um die Major- und Minor-Nummern für jedes Gerät korrekt zu formatieren.

mob_info