Hardware-interface (Arch Linux)
Dit artikel heeft vooral betrekking op Arch Linux, en in het bijzonder op draadloze netwerkkaarten.
In Linux, stuurprogramma's of device drivers bevinden zich in de kernel, hetzij als voorgecompileerde onderdelen, of als modules. Module zijn loadable. Arch Linux werkt standaard met modules. Tijdens het opstarten van de computer neemt udev inventaris van de aanwezige hardware, en probeert daar de bijbehorende stuurprogramma's voor te regelen. Die worden vervolgens door de kernel geladen. Vervolgens wordt door udeb de bijbehorende interfaces aangemaakt.
Er bestaan diverse user-space tools voor het werken met netwerkdevices, vooral bij storingen.
Hardware & stuurprogramma's weergeven
Hulpprogramma's om hardware & stuurprogramma's in kaart te brengen:
- hwinfo
- lshw
- lspci
- lsusb
hwinfo
Installeer hwinfo middels:
pacman -S hwinfo
hwinfo geeft heel veel informatie. Misschien handiger om met lspci of dmesg te beginnen!
lspci
Gebruik lspci om PCI-bussen en bijbehorende apparaten weer te geven. Voorbeeld:
strompf@Katwijk ~ $ lspci 00:00.0 Host bridge: Intel Corporation Core Processor DRAM Controller (rev 02) 00:02.0 VGA compatible controller: Intel Corporation Core Processor Integrated Graphics Controller (rev 02) 00:16.0 Communication controller: Intel Corporation 5 Series/3400 Series Chipset HECI Controller (rev 06) 00:19.0 Ethernet controller: Intel Corporation 82577LC Gigabit Network Connection (rev 05) 00:1a.0 USB controller: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller (rev 05) 00:1b.0 Audio device: Intel Corporation 5 Series/3400 Series Chipset High Definition Audio (rev 05) 00:1c.0 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 1 (rev 05) 00:1c.1 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 2 (rev 05) 00:1c.2 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 3 (rev 05) 00:1c.3 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 4 (rev 05) 00:1d.0 USB controller: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller (rev 05) 00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev a5) 00:1f.0 ISA bridge: Intel Corporation Mobile 5 Series Chipset LPC Interface Controller (rev 05) 00:1f.2 SATA controller: Intel Corporation 5 Series/3400 Series Chipset 6 port SATA AHCI Controller (rev 05) 00:1f.6 Signal processing controller: Intel Corporation 5 Series/3400 Series Chipset Thermal Subsystem (rev 05) 43:00.0 SD Host controller: Ricoh Co Ltd MMC/SD Host Controller (rev 01) 43:00.1 System peripheral: Ricoh Co Ltd R5U2xx (R5U230 / R5U231 / R5U241) [Memory Stick Host Controller] (rev 01) 43:00.2 System peripheral: Ricoh Co Ltd PCIe xD-Picture Card Controller (rev 01) 43:00.3 FireWire (IEEE 1394): Ricoh Co Ltd R5C832 PCIe IEEE 1394 Controller (rev 01) 44:00.0 Network controller: Broadcom Corporation BCM4313 802.11bgn Wireless Network Adapter (rev 01) ff:00.0 Host bridge: Intel Corporation Core Processor QuickPath Architecture Generic Non-core Registers (rev 02) ff:00.1 Host bridge: Intel Corporation Core Processor QuickPath Architecture System Address Decoder (rev 02) ff:02.0 Host bridge: Intel Corporation Core Processor QPI Link 0 (rev 02) ff:02.1 Host bridge: Intel Corporation Core Processor QPI Physical 0 (rev 02) ff:02.2 Host bridge: Intel Corporation Core Processor Reserved (rev 02) ff:02.3 Host bridge: Intel Corporation Core Processor Reserved (rev 02)
Het commando
lspci -k
Geeft aan welke kernel-modules in gebruik zijn per apparaat. De flag -k is toevallig hetzelfde als -v (verbose). Voorbeeld van de deel van de input van lspci -k:
44:00.0 Network controller: Broadcom Corporation BCM4313 802.11bgn Wireless Network Adapter (rev 01) Subsystem: Hewlett-Packard Company Device 145c Kernel driver in use: brcmsmac Kernel modules: bcma, brcmsmac
lsusb
Voor USB-apparaten, gebruik:
lsusb -v
Video-stuurprogramma (voorbeeld april 2014)
Voorafgaand aan de installatie van X moet ik de bijbehorende video-driver bijwerken.
Hardware identificeren
lspci | grep VGA
Dit levert op:
00:02.0 VGA compatible controller: Intel Corporation Mobile 915GM/GMS/910GML Express Graphics Controller (rev 03)
Stuurprogramma achterhalen
Dit tabelletje laat al zien dat er eigenlijk maar één optie is, maar ik ben toch benieuwd of ik dat ook op andere manieren kan achterhalen.
Commando
pacman -Ss xf86-video
geeft het volgende overzicht van stuurprogramma's:
extra/xf86-video-apm 1.2.5-4 X.org Alliance ProMotion video driver extra/xf86-video-ark 0.7.5-4 (xorg-drivers xorg) X.org ark video driver extra/xf86-video-ast 0.97.0-4 (xorg-drivers xorg) X.org ASPEED AST Graphics video driver extra/xf86-video-ati 1:7.3.0-1 (xorg-drivers xorg) X.org ati video driver extra/xf86-video-chips 1.2.5-4 X.org Chips and Technologies video driver extra/xf86-video-cirrus 1.5.2-3 (xorg-drivers xorg) X.org Cirrus Logic video driver extra/xf86-video-dummy 0.3.7-2 (xorg-drivers xorg) X.org dummy video driver extra/xf86-video-fbdev 0.4.4-2 (xorg-drivers xorg) X.org framebuffer video driver extra/xf86-video-geode 2.11.15-2 (xorg-drivers xorg) X.org AMD/Geode LX & NX video driver extra/xf86-video-glint 1.2.8-4 (xorg-drivers xorg) X.org GLINT/Permedia video driver extra/xf86-video-i128 1.3.6-4 (xorg-drivers xorg) X.org Number 9 I128 video driver extra/xf86-video-i740 1.3.4-4 X.org Intel i740 video driver extra/xf86-video-intel 2.99.911-2 (xorg-drivers xorg) X.org Intel i810/i830/i915/945G/G965+ video drivers extra/xf86-video-mach64 6.9.4-3 (xorg-drivers xorg) X.org mach64 video driver extra/xf86-video-mga 1.6.3-2 (xorg-drivers xorg) X.org mga video driver extra/xf86-video-modesetting 0.8.1-2 (xorg-drivers xorg) X.org generic modesetting video driver extra/xf86-video-neomagic 1.2.8-2 (xorg-drivers xorg) X.org neomagic video driver extra/xf86-video-nouveau 1.0.10-2 (xorg-drivers xorg) Open Source 2D acceleration driver for nVidia cards extra/xf86-video-nv 2.1.20-4 (xorg-drivers xorg) X.org nv video driver extra/xf86-video-openchrome 0.3.3-3 (xorg-drivers xorg) X.Org Openchrome drivers extra/xf86-video-r128 6.9.2-2 (xorg-drivers xorg) X.org ati Rage128 video driver extra/xf86-video-rendition 4.2.5-4 X.org Rendition video driver extra/xf86-video-s3 0.6.5-4 X.org S3 video driver extra/xf86-video-s3virge 1.10.6-4 X.org S3 Virge video driver extra/xf86-video-savage 2.3.7-2 (xorg-drivers xorg) X.org savage video driver extra/xf86-video-siliconmotion 1.7.7-4 (xorg-drivers xorg) X.org siliconmotion video driver extra/xf86-video-sis 0.10.7-5 (xorg-drivers xorg) X.org SiS video driver extra/xf86-video-sisimedia 0.9.1-8 X.org SiS 671 video driver extra/xf86-video-sisusb 0.9.6-4 X.org SiS USB video driver extra/xf86-video-tdfx 1.4.5-4 (xorg-drivers xorg) X.org tdfx video driver extra/xf86-video-trident 1.3.6-5 (xorg-drivers xorg) X.org Trident video driver extra/xf86-video-tseng 1.2.5-4 X.org tseng video driver extra/xf86-video-v4l 0.2.0-13 (xorg-drivers xorg) X.org v4l video driver extra/xf86-video-vesa 2.3.2-4 (xorg-drivers xorg) X.org vesa video driver extra/xf86-video-vmware 13.0.2-1 (xorg-drivers xorg) X.org vmware video driver extra/xf86-video-voodoo 1.2.5-4 (xorg-drivers xorg) X.org 3dfx Voodoo1/Voodoo2 2D video driver
en hier zit ook maar één relevante driver bij:
extra/xf86-video-intel 2.99.911-2 (xorg-drivers xorg) X.org Intel i810/i830/i915/945G/G965+ video drivers
Ik denk dat dit de naam is van het stuurprogramma of betreffende pakket:
xf86-video-intel
en daarmee is het circeltje rond.
Stuurprogramma installeren
pacman -S xf86-video-intel
Bronnen
- https://wiki.archlinux.org/index.php/Xorg#Driver_installation
- https://wiki.archlinux.org/index.php/Intel_Graphics
Zie ook
Bronnen
Arch Linux-wiki
- https://wiki.archlinux.org/index.php/Udev
- https://wiki.archlinux.org/index.php/Wireless_network_configuration
- https://wiki.archlinux.org/index.php/Kernel_modules#Loading
- https://wiki.archlinux.org/index.php/Kernel_modules#Manual_module_handling
Overig