LPIC101/101.1 Hardwareeinstellungen: Unterschied zwischen den Versionen

Aus Foxwiki
Shavonne45W (Diskussion | Beiträge)
Die Seite wurde neu angelegt: „Greetings! I am Jack and I think it seems fairly good when you say it. In his professional life he is a hotel receptionist. To do archery is 1 of the things I…“
 
Jeremyehmke (Diskussion | Beiträge)
Die Seite wurde neu angelegt: „==Allgemeines== *Hauptsoftwarekomponente ist der Kernel *fungiert als schnittstelle zwichen soft- und Hardware *Linux Kernel ist Modular **Ein monolithischer…“
Zeile 1: Zeile 1:
Greetings! I am Jack and I think it seems fairly good when you say it. In his professional life he is a hotel receptionist. To do archery is 1 of the things I adore most. Her house is now in Wisconsin and she doesn't plan on changing it. My spouse and I [http://www.guardian.co.uk/search?q=maintain maintain] a website. You might want to check it out here: https://www.merchantcircle.com/lottery-[https://www.merchantcircle.com/lottery-online-new-york-ny bandar Togel Online terpercaya]-new-york-ny
==Allgemeines==
 
*Hauptsoftwarekomponente ist der Kernel
*fungiert als schnittstelle zwichen soft- und Hardware
*Linux Kernel ist Modular
**Ein monolithischer Kernel ist ein Kernel, in dem nicht nur Funktionen zu Speicher-,            Prozessverwaltung und zur Kommunikation zwischen den Prozessen, sondern auch Treiber für die Hardwarekomponenten und möglicherweise weitere Funktionen direkt eingebaut sind.
 
==Identifizieren von Kernel-Versionen==
 
<code>user@user:~$ uname -r</code>
 
*4 = Major Release (wird bei gravierenden änderungen verändert)
*6 = Version des Major Release
**((Früher) Grade Versionsnummern Stabel-Kernel Ungrade Entwickler-Kernel)
*3 = Patchlevel des Kernel (kleine Änderungen)
**(evtl. zahlen danach sind frei wehlbar und können selber zugeschrieben werden(Makefile))
 
==Kommandos zur Verwaltung von Kernel-Modulen==
 
===Ismod===
Zeigt Status der kernel Module durch zugriff auf Datei /proc/modules .
 
    Auszug der Datei
        user@user:~> cat /proc/modules
        usbcore 196608 5 usbhid,usb_storage,xhci_pci,xhci_hcd, Live
        r8169 77824 0 - Live 0xffffffffa046f000
        psmouse 114688 0 - Live 0xffffffffa0404000
        mii 16384 1 r8169, Live 0xffffffffa03ff000
        processor 3276
        80-Live
        0xffffffffa03f1000
        thermal 20480 0 - Live 0xffffffffa03eb000
        pcspkr 16384 0 - Live 0xffffffffa0320000
        soundcore 16384 1 snd, Live 0xffffffffa03c8000
        usb_common 16384 1 usbcore, Live 0xffffffffa0309000
        fan 16384 0 - Live 0xffffffffa01cb000
        lp204800-Live
        0xffffffffa0189000
        parport 40960 3 parport_pc,ppdev,lp, Live 0xffffffffa0112000
        ext4 503808 1 - Live 0xffffffffa032f000
        i915 1175552 3 - Live 0xffffffffa01d2000
        ahci 36864 3 - Live 0xffffffffa01c1000
        cryptd 20480 1 ghash_clmulni_intel, Live 0xffffffffa0047000
        drm 286720 4 i915,drm_kms_helper, Live 0xffffffffa0070000
        video 36864 1 i915, Live 0xffffffffa0019000
   
    Ausgabe unter lsmod:
        user@user:~> lsmod
        Module                  Size  Used by
        usbcore              196608  5 usb_storage,usbhid,xhci_hcd,xhci_pci
        r8169                  77824  0
        psmouse              114688  0
        mii                    16384  1 r8169
        processor              32768  0
        thermal                20480  0
        pcspkr                16384  0
        soundcore              16384  1 snd
        usb_common            16384  1 usbcore
        fan                    16384  0
        lp                    20480  0
        parport                40960  3 lp,ppdev,parport_pc
        ext4                  503808  1
        i915                1175552  3
        ahci                  36864  3
        cryptd                20480  1 ghash_clmulni_intel
        drm                  286720  4 i915,drm_kms_helper
        video                  36864  1 i915
 
===insmod===
Module können in den laufenden Kernel geladen werden durch komlette Pfadangabe und evntuell Optionen falst es diese benötigt. Abhängigkeiten werden automatisch geprüft und im Falle einer Abhängigkeit mit Fehlermeldungen beantwortet.
 
<code>root@archangel:~# insmod /lib/modules/4.6.3/kernel/drivers/usb/storage/usb-storage.ko</code>
 
insmod gibt im Erfolgsfall keine Bestätigungsmeldung aus. Das Modul wird kommentarlos in den Arbeitsspeicher geladen.
 
===rmmod===
Dient zum entfernen von nicht mehr benötigten Modulen. Dabei ist kein Pfad nötig sondern der Modulname
 
Kommando:  root@user:~# rmmod usb-storage
 
Gibt bei Modulen die benutzt werden fehlermeldung aus
 
        root@user:~# rmmod usbcore
        rmmod: ERROR: Module usbcore is in use by: usb_storage usbserial usbhid
        xhci_hcd xhci_pci
 
Optionen für rmmod:
            -v verbose-Mode
            -f erzwingt das entladen eines Modules wärend Abhängigkeit
           
===modprobe===
Vereint und Optimiet die befehle insmod und rmmod.
        -Keine Pfadangabe mehr nötig
        -Erkennt Abhängigkeit zwichen Modulen und behebt diese Probleme durch installation der fehlenden Module bei bedarf
        -Module eines Typs können auf ein mal geladen werden
        -Entfernen und Auflisten von Modulen (Bei auflistung werden aber nur Module gezeigt die in den laufenden Kernel intregiert werden können
 
Kommando:  archangel:~ # modprobe -at
 
Die Option -a steht für all und -t für type des Moduls. Optionen sind bei neueren Versionen nicht mehr möglich
 
==Ressourcen für Hardwarekomponenten==
 
Zur abfrage der Konfigurationen der Hardwareressourcen sind die Dateien unterhalb des Verzeichnisses /proc nötig
 
        Im zusammenhang wichtige Date zum prüfen:
            -/proc/interrupts enthält Informationen über die vom System verwendeten Interrupts.
            -/proc/ioports enthält Informationen über die von Hardwarekomponenten  verwendeten I/O-Adressen
            -/proc/dma ist eine Liste der von Geräten verwendeten DMA-Kanäle.
            -/proc/pci ist ein veraltetes Verzeichnis, das bei älteren Kernel-Versionen Informationen über den PCI-Bus enthielt. Heutige Kernel-Versionen verwenden eine eigene Verzeichnishierarchie unterhalb von /proc/bus/pci.
 
==Das Verzeichnis /proc/sys/kernel==
 
Zur Laufzeit legt der Kernel seine Konfigurationsinformationen im /proc-Dateisystem ab. Sie finden hier etliche Informationen, indem Sie die in diesem Verzeichnis enthaltenen Dateien z.B. mittels cat einsehen. Wenn Sie Änderungen an diesen Dateien vornehmen, sollten Sie bedenken, dass diese bei einem Neustart des Systems verloren gehen, weil das /proc-Dateisystemsich nicht auf der Festplatte eines Systems befindet, sondern Informationen
abbildet, die sich im Arbeitsspeicher befinden.
 
==Das virtuelle Dateisystem sysfs==
 
sysfs exportiert, ähnlich wie das /proc-System, Informationen über Treibermodule des Kernels
 
            root@user:/sys# ls -l
            insgesamt 0
        drwxr-xr-x  2 root root 0 Feb 10 05:55 block
        drwxr-xr-x  28 root root 0 Feb 10 05:55 bus
        drwxr-xr-x  47 root root 0 Feb 10 05:55 class
        drwxr-xr-x  4 root root 0 Feb 10 05:55 dev
        drwxr-xr-x  16 root root 0 Feb 10 05:55 devices
        drwxr-xr-x  5 root root 0 Feb 10 05:55 firmware
        drwxr-xr-x  6 root root 0 Feb 10 05:55 fs
        drwxr-xr-x  2 root root 0 Feb 10 05:55 hypervisor
        drwxr-xr-x  9 root root 0 Feb 10 05:55 kernel
        drwxr-xr-x 128 root root 0 Feb 10 05:55 module
        drwxr-xr-x  2 root root 0 Feb 10 15:24 power
       
Jedes dieser Unterverzeichnisse repräsen tiert ein Treibermodell des laufenden Kernels. Das Verzeichnis /sys ist dynamisch generiert und enthält deshalb nur benötgte informationene zu den vorhandenen Geräten dabei wird der Ressourcenverbrauch reduziert.
 
==hald und dbus==
 
hald repräsentiert den Hardware Abstraction Layer. Im zusammenhang mit Hotplug-Geräten hat er die Aufgabe dem dbus zu informieren wenn ein Wechsellaufwerk angeschlossen wird.
 
==udev==
 
udev ist ein in das System intregierter Gerätemanger der die Ein- und Ausgabe dieser Gerärer verwaltet. Er erstellt dynamische Gerätedatein im Verzeichnis /dev.
 
==Gerätedatein unter /dev==
 
Bekante datein unter /dev sind z.B. /dev/null, /dev/zero, /dev/stdin,/dev/stdout, /dev/stderr und Gerätedateien für die Terminals (tty). Auch Datenträger und logische Laufwerke werden unter Linux als Gerätedateien unterhalb des Pfades /dev dargestellt.
 
Die Gerätedatein für Datenträger beginnen in der regel mit /dev/sd. Das gilt für SATA, USB und SCSI-Geräte.
 
        - /dev/sda  -  erstens Gerät
        - /dev/sdb  -  zweites Gerät
        - ...
       
Auf grund des Master Boot Record aufbaus kann auf einer Festplatte nicht mehr als vier Partitionen erstellt werden. Man unterscheidet zwichen primiären und erweiterten Partitionen.
Primäre Partitionen sind Direkt ansprechbar und können problemlos Formatiert und benutzt werden. es können bis zu vier premär Partitionen gleichzeitig exiszieren. Erweiterte Partitionen können nicht direkt verwendet werden sie sind nur als Behälter für logische Partitionen gedacht. Man kann nur eine einzige erweiterte Pertition auf einer Festplatte anlegen ind der je nach Festplattentyp 60 (IDE) oder 12 (SCSi/SATA) logische Partitionen erstellt werden können. Primär und erweiterte Partitionen werden von 1-4 gelistet und logische ab 5 auch wenn nur eine erweiterte und eine primäre vorliegen.
 
        /dev/sda1 – erste primäre Partition
        /dev/sda2 – zweite primäre Partition
        /dev/sda3 – einzige erweiterte Partition
        /dev/sda5 – erste logische Partition
        /dev/sda6 – zweite logische Partition
        /dev/sda7 – dritte logische Partition
       
==Der PCI-Bus==
 
PCI-Steckplätze können genutzt werden, um Erweiterungskarten auf die Hauptplatine eines Computers zu stecken (Sound-, Netzwerk-und Grafikkarten usw.). Zum Überblick über den PCI-Bus
benutzt man das Kommando lspci. Das Kommando unterscheidet in drei verbose Stufen. lspci -vvv
gibt sehr Detaillierte Informationen über den PCI-Bus
 
        root@user:/ # lspci -v
        ...
        00:02.0 VGA compatible controller: Intel Corporation Atom Processor Z36xxx/
        Z37xxx Series Graphics & Display (rev 0e) (prog-if 00 [VGA controller])
            Subsystem: Lenovo Device 368d
            Flags: bus master, fast devsel, latency 0, IRQ 88
            Memory at b0000000 (32-bit, non-prefetchable) [size=4M]
            Memory at a0000000 (32-bit, prefetchable) [size=256M]
            I/O ports at f080 [size=8]
            [virtual] Expansion ROM at 000c0000 [disabled] [size=128K]
            Capabilities: [d0] Power Management version 2
            Capabilities: [90] MSI: Enable+ Count=1/1 Maskable- 64bit-
            Capabilities: [b0] Vendor Specific Information: Len=07 <?>
            Kernel driver in use: i915
           
Das Programm lspci bezieht seine Informationen aus dem Verzeichnis /proc/bus/pci . Es wertet die Datein aus und stellt sie übersichtlich dar. Mit t- stellt lspci die PCI-Geräte in einem Baumdiagram dar.
 
==USB – Universal Serial Bus==
 
USB  (Universal  Serial  Bus) ist ein von Intel entwickeltes Bus-System zum Anschluss von Peripheriegeräten an einen PC.
 
===USB-Host-Controller-Typen===
 
        UHCI (Universal Host Controller Interface) unterstützt USB 1.1
        OHCI (Open Host Controller Interface) unterstützt USB 1.0
        EHCI (Enhanced Host Controller Interface) unterstützt USB 2.0
        xHCI (Extensible Host Controller Interface) unterstützt USB 3.1
       
Unter Windows brauch man sich keine gedanken zu machen. Linux muss zu den jewailigen Typen das Passende Kernelmodul geladen werden. Das wären die sogenannten Host-Controller-Treiber
usb-ohci.o, usb-uhci.o, usb-ehci.o oder xhci_hci.o.
 
===USB-Klassen===
 
Nach laden des richtigen Host-Controllers können die klassenteriber eingebunden werden.
 
        -hio.o (Human Interface Devices) Eingabegeräte: Tastatur, Maus etc.
        -usb-sorage.o zur ansteuerung von USB-Massenspeicher geräten
        -...
       
Wenn ein USB-Gerät initialisiert wurde, wird unterhalb von /dev/bus/usb ein Verzeichnis angelegt. Die Dateien in diesem System liegen in binärer Form vor und sind nicht mit einem Editor einsehbar. Mit lsusb können informationen zu USB-Geräten trotzdem ausgelesen werden.
 
        root@user:/ # lsusb -t
        Bus#  5
        `-Dev#  1 Vendor 0x0000 Product 0x0000
        `-Dev#  29 Vendor 0x1058 Product 0x0702
        Bus#  4
        `-Dev#  1 Vendor 0x0000 Product 0x0000
        Bus#  3
        `-Dev#  1 Vendor 0x0000 Product 0x0000
        Bus#  2
        `-Dev#  1 Vendor 0x0000 Product 0x0000
        `-Dev#  52 Vendor 0x050f Product 0x0003
        |-Dev#  53 Vendor 0x1131 Product 0x1001
        `-Dev#  54 Vendor 0x04e8 Product 0x1623
        Bus#  1
        `-Dev#  1 Vendor 0x0000 Product 0x0000
 
Möchten Sie genauere Informationen über ein einzelnes Gerät erhalten, können Siedieses über  die Vendor- und Produktnummer angeben und einen ausführlichenBericht erstellen lassen.
 
        root@user:/ # lsusb -d 0x1058:0x0702 -v
        Bus 005 Device 029: ID 1058:0702 Western Digital Technologies, Inc.
        Device Descriptor:
            bLength                18
            bDescriptorType        1
            bcdUSB              2.00
            bDeviceClass            0 (Defined at Interface level)
            bDeviceSubClass        0
            bDeviceProtocol        0
            bMaxPacketSize0        64
        ...

Version vom 25. Oktober 2019, 10:32 Uhr

Allgemeines

  • Hauptsoftwarekomponente ist der Kernel
  • fungiert als schnittstelle zwichen soft- und Hardware
  • Linux Kernel ist Modular
    • Ein monolithischer Kernel ist ein Kernel, in dem nicht nur Funktionen zu Speicher-, Prozessverwaltung und zur Kommunikation zwischen den Prozessen, sondern auch Treiber für die Hardwarekomponenten und möglicherweise weitere Funktionen direkt eingebaut sind.

Identifizieren von Kernel-Versionen

user@user:~$ uname -r

  • 4 = Major Release (wird bei gravierenden änderungen verändert)
  • 6 = Version des Major Release
    • ((Früher) Grade Versionsnummern Stabel-Kernel Ungrade Entwickler-Kernel)
  • 3 = Patchlevel des Kernel (kleine Änderungen)
    • (evtl. zahlen danach sind frei wehlbar und können selber zugeschrieben werden(Makefile))

Kommandos zur Verwaltung von Kernel-Modulen

Ismod

Zeigt Status der kernel Module durch zugriff auf Datei /proc/modules .

   Auszug der Datei
       user@user:~> cat /proc/modules
       usbcore 196608 5 usbhid,usb_storage,xhci_pci,xhci_hcd, Live
       r8169 77824 0 - Live 0xffffffffa046f000
       psmouse 114688 0 - Live 0xffffffffa0404000
       mii 16384 1 r8169, Live 0xffffffffa03ff000
       processor 3276
       80-Live
       0xffffffffa03f1000
       thermal 20480 0 - Live 0xffffffffa03eb000
       pcspkr 16384 0 - Live 0xffffffffa0320000
       soundcore 16384 1 snd, Live 0xffffffffa03c8000
       usb_common 16384 1 usbcore, Live 0xffffffffa0309000
       fan 16384 0 - Live 0xffffffffa01cb000
       lp204800-Live
       0xffffffffa0189000
       parport 40960 3 parport_pc,ppdev,lp, Live 0xffffffffa0112000
       ext4 503808 1 - Live 0xffffffffa032f000
       i915 1175552 3 - Live 0xffffffffa01d2000
       ahci 36864 3 - Live 0xffffffffa01c1000
       cryptd 20480 1 ghash_clmulni_intel, Live 0xffffffffa0047000
       drm 286720 4 i915,drm_kms_helper, Live 0xffffffffa0070000
       video 36864 1 i915, Live 0xffffffffa0019000
   
   Ausgabe unter lsmod:
       user@user:~> lsmod
       Module                  Size  Used by
       usbcore               196608  5 usb_storage,usbhid,xhci_hcd,xhci_pci
       r8169                  77824  0
       psmouse               114688  0
       mii                    16384  1 r8169
       processor              32768  0
       thermal                20480  0
       pcspkr                 16384  0
       soundcore              16384  1 snd
       usb_common             16384  1 usbcore
       fan                    16384  0
       lp                     20480  0
       parport                40960  3 lp,ppdev,parport_pc
       ext4                  503808  1
       i915                 1175552  3
       ahci                   36864  3
       cryptd                 20480  1 ghash_clmulni_intel
       drm                   286720  4 i915,drm_kms_helper
       video                  36864  1 i915

insmod

Module können in den laufenden Kernel geladen werden durch komlette Pfadangabe und evntuell Optionen falst es diese benötigt. Abhängigkeiten werden automatisch geprüft und im Falle einer Abhängigkeit mit Fehlermeldungen beantwortet.

root@archangel:~# insmod /lib/modules/4.6.3/kernel/drivers/usb/storage/usb-storage.ko

insmod gibt im Erfolgsfall keine Bestätigungsmeldung aus. Das Modul wird kommentarlos in den Arbeitsspeicher geladen.

rmmod

Dient zum entfernen von nicht mehr benötigten Modulen. Dabei ist kein Pfad nötig sondern der Modulname

Kommando: root@user:~# rmmod usb-storage

Gibt bei Modulen die benutzt werden fehlermeldung aus

       root@user:~# rmmod usbcore
       rmmod: ERROR: Module usbcore is in use by: usb_storage usbserial usbhid
       xhci_hcd xhci_pci

Optionen für rmmod:

           -v verbose-Mode
           -f erzwingt das entladen eines Modules wärend Abhängigkeit
           

modprobe

Vereint und Optimiet die befehle insmod und rmmod.

       -Keine Pfadangabe mehr nötig
       -Erkennt Abhängigkeit zwichen Modulen und behebt diese Probleme durch installation der fehlenden Module bei bedarf
       -Module eines Typs können auf ein mal geladen werden
       -Entfernen und Auflisten von Modulen (Bei auflistung werden aber nur Module gezeigt die in den laufenden Kernel intregiert werden können

Kommando: archangel:~ # modprobe -at

Die Option -a steht für all und -t für type des Moduls. Optionen sind bei neueren Versionen nicht mehr möglich

Ressourcen für Hardwarekomponenten

Zur abfrage der Konfigurationen der Hardwareressourcen sind die Dateien unterhalb des Verzeichnisses /proc nötig

       Im zusammenhang wichtige Date zum prüfen:
           -/proc/interrupts enthält Informationen über die vom System verwendeten Interrupts.
           -/proc/ioports enthält Informationen über die von Hardwarekomponenten  verwendeten I/O-Adressen
           -/proc/dma ist eine Liste der von Geräten verwendeten DMA-Kanäle.
           -/proc/pci ist ein veraltetes Verzeichnis, das bei älteren Kernel-Versionen Informationen über den PCI-Bus enthielt. Heutige Kernel-Versionen verwenden eine eigene Verzeichnishierarchie unterhalb von /proc/bus/pci.

Das Verzeichnis /proc/sys/kernel

Zur Laufzeit legt der Kernel seine Konfigurationsinformationen im /proc-Dateisystem ab. Sie finden hier etliche Informationen, indem Sie die in diesem Verzeichnis enthaltenen Dateien z.B. mittels cat einsehen. Wenn Sie Änderungen an diesen Dateien vornehmen, sollten Sie bedenken, dass diese bei einem Neustart des Systems verloren gehen, weil das /proc-Dateisystemsich nicht auf der Festplatte eines Systems befindet, sondern Informationen abbildet, die sich im Arbeitsspeicher befinden.

Das virtuelle Dateisystem sysfs

sysfs exportiert, ähnlich wie das /proc-System, Informationen über Treibermodule des Kernels

           root@user:/sys# ls -l
           insgesamt 0
       drwxr-xr-x   2 root root 0 Feb 10 05:55 block
       drwxr-xr-x  28 root root 0 Feb 10 05:55 bus
       drwxr-xr-x  47 root root 0 Feb 10 05:55 class
       drwxr-xr-x   4 root root 0 Feb 10 05:55 dev
       drwxr-xr-x  16 root root 0 Feb 10 05:55 devices
       drwxr-xr-x   5 root root 0 Feb 10 05:55 firmware
       drwxr-xr-x   6 root root 0 Feb 10 05:55 fs
       drwxr-xr-x   2 root root 0 Feb 10 05:55 hypervisor
       drwxr-xr-x   9 root root 0 Feb 10 05:55 kernel
       drwxr-xr-x 128 root root 0 Feb 10 05:55 module
       drwxr-xr-x   2 root root 0 Feb 10 15:24 power
       

Jedes dieser Unterverzeichnisse repräsen tiert ein Treibermodell des laufenden Kernels. Das Verzeichnis /sys ist dynamisch generiert und enthält deshalb nur benötgte informationene zu den vorhandenen Geräten dabei wird der Ressourcenverbrauch reduziert.

hald und dbus

hald repräsentiert den Hardware Abstraction Layer. Im zusammenhang mit Hotplug-Geräten hat er die Aufgabe dem dbus zu informieren wenn ein Wechsellaufwerk angeschlossen wird.

udev

udev ist ein in das System intregierter Gerätemanger der die Ein- und Ausgabe dieser Gerärer verwaltet. Er erstellt dynamische Gerätedatein im Verzeichnis /dev.

Gerätedatein unter /dev

Bekante datein unter /dev sind z.B. /dev/null, /dev/zero, /dev/stdin,/dev/stdout, /dev/stderr und Gerätedateien für die Terminals (tty). Auch Datenträger und logische Laufwerke werden unter Linux als Gerätedateien unterhalb des Pfades /dev dargestellt.

Die Gerätedatein für Datenträger beginnen in der regel mit /dev/sd. Das gilt für SATA, USB und SCSI-Geräte.

       - /dev/sda   -   erstens Gerät
       - /dev/sdb   -   zweites Gerät
       - ...
       

Auf grund des Master Boot Record aufbaus kann auf einer Festplatte nicht mehr als vier Partitionen erstellt werden. Man unterscheidet zwichen primiären und erweiterten Partitionen. Primäre Partitionen sind Direkt ansprechbar und können problemlos Formatiert und benutzt werden. es können bis zu vier premär Partitionen gleichzeitig exiszieren. Erweiterte Partitionen können nicht direkt verwendet werden sie sind nur als Behälter für logische Partitionen gedacht. Man kann nur eine einzige erweiterte Pertition auf einer Festplatte anlegen ind der je nach Festplattentyp 60 (IDE) oder 12 (SCSi/SATA) logische Partitionen erstellt werden können. Primär und erweiterte Partitionen werden von 1-4 gelistet und logische ab 5 auch wenn nur eine erweiterte und eine primäre vorliegen.

       /dev/sda1 – erste primäre Partition
       /dev/sda2 – zweite primäre Partition
       /dev/sda3 – einzige erweiterte Partition
       /dev/sda5 – erste logische Partition
       /dev/sda6 – zweite logische Partition
       /dev/sda7 – dritte logische Partition
       

Der PCI-Bus

PCI-Steckplätze können genutzt werden, um Erweiterungskarten auf die Hauptplatine eines Computers zu stecken (Sound-, Netzwerk-und Grafikkarten usw.). Zum Überblick über den PCI-Bus benutzt man das Kommando lspci. Das Kommando unterscheidet in drei verbose Stufen. lspci -vvv gibt sehr Detaillierte Informationen über den PCI-Bus

       root@user:/ # lspci -v
       ...
       00:02.0 VGA compatible controller: Intel Corporation Atom Processor Z36xxx/
       Z37xxx Series Graphics & Display (rev 0e) (prog-if 00 [VGA controller])
           Subsystem: Lenovo Device 368d
           Flags: bus master, fast devsel, latency 0, IRQ 88
           Memory at b0000000 (32-bit, non-prefetchable) [size=4M]
           Memory at a0000000 (32-bit, prefetchable) [size=256M]
           I/O ports at f080 [size=8]
           [virtual] Expansion ROM at 000c0000 [disabled] [size=128K]
           Capabilities: [d0] Power Management version 2
           Capabilities: [90] MSI: Enable+ Count=1/1 Maskable- 64bit-
           Capabilities: [b0] Vendor Specific Information: Len=07 <?>
           Kernel driver in use: i915
           

Das Programm lspci bezieht seine Informationen aus dem Verzeichnis /proc/bus/pci . Es wertet die Datein aus und stellt sie übersichtlich dar. Mit t- stellt lspci die PCI-Geräte in einem Baumdiagram dar.

USB – Universal Serial Bus

USB (Universal Serial Bus) ist ein von Intel entwickeltes Bus-System zum Anschluss von Peripheriegeräten an einen PC.

USB-Host-Controller-Typen

       UHCI (Universal Host Controller Interface) unterstützt USB 1.1
       OHCI (Open Host Controller Interface) unterstützt USB 1.0
       EHCI (Enhanced Host Controller Interface) unterstützt USB 2.0
       xHCI (Extensible Host Controller Interface) unterstützt USB 3.1
       

Unter Windows brauch man sich keine gedanken zu machen. Linux muss zu den jewailigen Typen das Passende Kernelmodul geladen werden. Das wären die sogenannten Host-Controller-Treiber usb-ohci.o, usb-uhci.o, usb-ehci.o oder xhci_hci.o.

USB-Klassen

Nach laden des richtigen Host-Controllers können die klassenteriber eingebunden werden.

       -hio.o (Human Interface Devices) Eingabegeräte: Tastatur, Maus etc.
       -usb-sorage.o zur ansteuerung von USB-Massenspeicher geräten
       -...
       

Wenn ein USB-Gerät initialisiert wurde, wird unterhalb von /dev/bus/usb ein Verzeichnis angelegt. Die Dateien in diesem System liegen in binärer Form vor und sind nicht mit einem Editor einsehbar. Mit lsusb können informationen zu USB-Geräten trotzdem ausgelesen werden.

       root@user:/ # lsusb -t
       Bus#  5
       `-Dev#   1 Vendor 0x0000 Product 0x0000
       `-Dev#  29 Vendor 0x1058 Product 0x0702
       Bus#  4
       `-Dev#   1 Vendor 0x0000 Product 0x0000
       Bus#  3
       `-Dev#   1 Vendor 0x0000 Product 0x0000
       Bus#  2
       `-Dev#   1 Vendor 0x0000 Product 0x0000
       `-Dev#  52 Vendor 0x050f Product 0x0003
       |-Dev#  53 Vendor 0x1131 Product 0x1001
       `-Dev#  54 Vendor 0x04e8 Product 0x1623
       Bus#  1
       `-Dev#   1 Vendor 0x0000 Product 0x0000

Möchten Sie genauere Informationen über ein einzelnes Gerät erhalten, können Siedieses über die Vendor- und Produktnummer angeben und einen ausführlichenBericht erstellen lassen.

       root@user:/ # lsusb -d 0x1058:0x0702 -v
       Bus 005 Device 029: ID 1058:0702 Western Digital Technologies, Inc.
       Device Descriptor:
           bLength                18
           bDescriptorType         1
           bcdUSB               2.00
           bDeviceClass            0 (Defined at Interface level)
           bDeviceSubClass         0
           bDeviceProtocol         0
           bMaxPacketSize0        64
       ...