Hardware voor Linux

>> Index <<

Stuurbestanden

Ondersteunde hardware

Dubieuze hardware

Niet ondersteunde hardware

Een besturingssysteem dat voor algemene doeleinden bedoeld is, staat of valt met kwaliteit van zijn stuurbestanden en software. Hier wordt in vogelvlucht de hardwarekant belicht. Het is een beperkt overzicht, slechts bedoeld ter oriëntatie.

Stuurbestanden

> Top <

Stuurbestanden (device drivers) zijn de onderdelen van het besturingssysteem die hardware controllers besturen. Hardware controllers zijn chips die met de op het moederbord aangesloten componenten (peripheral devices) in verbinding staan. Zo zijn er controllers voor harde schijven (IDE en SCSI controllers), het toetsenbord, de muis en seriële poorten (de input output chip). Goede hardware controllers bezitten een zekere mate van intelligentie (vandaar het woord controller), waarmee ze de processor ontlasten. De mate van integratie van processor en hardware controllers in uw moederbord bepaalt grotendeels de snelheid van uw systeem. Let daarom niet alleen op de snelheid van de processor bij de aanschaf van een nieuw systeem, maar ook op het moederbord en de daarop aangesloten componenten. Zeker als u een besturingssysteem als Linux gebruikt.

Stuurbestanden voor Linux zijn meestal open source

> Top <

De stuurbestanden van de Linux kernel worden door vrijwilligers geschreven. De Linux kernel, die de basale ondersteuning voor de hardware verzorgt, is open source.

Vrijwilligers kunnen alleen stuurprogramma's schrijven als de fabrikanten essentiële eigenschappen van hun hardware vrijgeven. Steeds meer fabrikanten zien het belang hiervan in en geven voor de ontwikkeling van stuurbestanden benodigde hardware specificaties vrij.

Andere fabrikanten stellen hardware specifieke informatie alleen op een Non Disclosure Agreement (NDA) beschikbaar. Bijvoorbeeld omdat ze chips gebruiken die ook voor concurrenten beschikbaar zijn. De hardwarefabrikant zal om het product te kunnen verkopen wel (closed source) stuurbestanden moeten leveren.



Maar de van non-disclosure code afgeleide binaire modulen en stuurbestanden kunnen niet deel uitmaken van een open source kernel. Wel kunnen ze in commerciële pakketten als Scitech te vinden zijn (waarvan de broncode niet beschikbaar is). Het gaat met name om videokaarten en geluidskaarten.


Stuurbestanden worden doorgaans in opdracht van de hardwarefabrikant geschreven. Deze stelt de broncode van zijn Windows stuurbestand meestal niet vrij. Alleen als het om essentiele stuurbestanden gaat (bijv. voor de harde schijf) berust de verantwoordelijkheid voor de code bij de maker van het besturingssysteem. De prijs hiervoor wordt in de hardware en het besturingssysteem doorberekend (ook als u de meegeleverde stuurbestanden nooit gebruikt).

Stuurbestanden kunnen onder Linux als modules geladen en verwijderd worden

> Top <

Stuurbestanden die in de kernel zitten worden bij het booten blijvend in het geheugen geladen. Zo hebben de DOS, Windows en OS/2 kernels stuurbestanden voor het FAT16 bestandssysteem ingebouwd.

Stuurbestanden kunnen onder Linux ook als modulen gebruikt worden. Deze drivers worden pas in de kernel geladen als het systeem ze echt nodig heeft. Dus als een programma een geluidskaart aanroept of een bepaald bestandssysteem benaderd. Linux zal in de kernel geladen modulaire stuurbestanden weer uit de kernel verwijderen als ze een tijdje niet gebruikt worden. U kunt ze als root kan ze ook handmatig installeren (insmod module) en verwijderen (modprobe -r module). Dit gebeurt terwijl het systeem doorloopt.

Onder DOS, NT of OS/2 zijn stuurbestanden blijvend in het (systeem)geheugen geladen. Zonder een reboot raakt u ze niet kwijt. Als ze een (configuratie)fout bevatten of problemen geven met toepassingen, ontstaan er lastige problemen. Het hele besturingssysteem kan vastlopen. Vaak is een reboot met deïnstallatie of herconfiguratie van de brokkenmakers nodig. Maar dat is vaak lastig want het oplossen van conflicten binnen een OS verloopt net als een relatieprobleem: er is maar zelden één schuldige aan te wijzen en elke oplossing is een compromis. Als de instellingen van stuurprogramma's in cryptische ini-bestanden (Windows) verborgen zitten, hebt u helemaal een probleem en bent u op zaken als veilige modus aan gewezen.

Perfecte stuurbestanden bestaan niet. Stuurbestanden zijn een noodzakelijk kwaad. Ze maken het mogelijk dat u op transparante wijze met de prompt of met de muis uw hardware aan kunt spreken. Maar omdat ze op laag niveau werken en daarmee toegang krijgen tot de beschermde delen van het besturingssysteem, brengen hun geringste fouten (of die van slecht geschreven applicatiesoftware) de stabiliteit van uw systeem in gevaar. De mogelijkheid om stuurbestanden ook zonder te rebooten als kernelmodulen in het geheugen te laden en te verwijderen geeft Linux een bijzondere flexibiliteit.

Randapparaten worden onder Linux als bestanden aangesproken en bewaakt

Linux kent een Virtueel bestandssysteem (Virtual File System, VFS), waarop niet alleen de mappen van de harde schijf terug te vinden zijn, maar ook dynamische processen een plaats krijgen.

Zie hiervoor de notities op device.html


Ondersteunde hardware

> Top <



Dit is niet meer dan een overzicht. Toen ik in 1998 met Linux begon, waren er nog zeer veel probleemgebieden. Inmiddels ondersteunen moderne Linux distrubuties "uit de doos" meer hardware dan "verouderde" Windows versies (95,96, ME en 2000). Bovendien werden de Linux distrubuties steeds slimmer. Tijdens de installatie zullen ze uw PCI hardware "proben" (ondervragen), zodat Linux al snel meer van uw systeem weet dan uw leverancier publiek bekend gaf. En hoewel de hardwareleveranciers - om voor Micosofts kortingen in aanmerking te komen - nog steeds "Designed for Windows" PC's ontwerpen, is de installatie van PCI hardware onder Linux vaak een fluitje van een cent.

Maar de realiteit blijft dat de meeste PC hardware voor het Windows platform wordt ontwikkeld. Een videofabrikant die Windows "sneller" kan maken verdient goud. Maar de kans dat die fabrikant ook even snelle Linux of OS/2 drivers zal leveren is klein. Hier wordt hij niet op afgerekend. Linux gebruikers zijn al blij als de doorgaans slecht gedocumenteerde hardware het doet.

Doordat de PC hardware fabrikanten zich vooral op het Windows OEM platform richten, blijft de installatie van Linux een gok. Vooral met «Designed for Windows" OEM systemen, waar de fabrikant in de verleiding kan komen de hardware alleen onder de heersende Windows smaak te laten lopen. De PC of laptop die u dan koopt is dan niet altijd met Linux systeem op te waarderen. De farbrikant biedt slechts de garantie dat de het systeem onder een bepaalde Windows versie loopt.

Typerend is het dat laptop fabrikanten het niet de moeite waard achten om de chipsets van hun niet verwisselbare onderdelen aan te geven. Alleen de snelheid van de processor en de hoeveelheid RAM telt. Ze geven wel aan dat een 3D soundblaster compatibele geluidskaart in zit, of een 10/1000 ethernetkaart, maar vermelden de door hen gebruikte chipsets niet.



Grote distributeurs houden lijsten bij van de door hun distributie ondersteunde hardware.

Het is wijs de door hen "gecertificeerde" hardware te gebruiken. Deze worden meestal meteen herkend en geïnstalleerd. Ze zijn dan met het besturingssysteem meegeleverd.

Ander locaties waar u naar stuurbestanden kunt zoeken zijn:



Een zoekstrategie naar stuurbestanden

> Top <

Komt u er er met het bovenstaande niet uit, dan kunt u een gerichte zoekstrategie op het internet uitvoeren. Hierbij maak ik meestal gebruik van Google. Google kan veel, maar de kunst bestaat eruit dat u Google duidelijk kunt maken waarnaar u zoekt. Dat u de gehanteerde zoektermen kent.

Om te beginnen moet u de technische naamgeving van het randapparaat weten waarvan u het stuurbestand mist. Waar het uiteindelijk om gaat is de naam van de chipset: dat is de hardwarecomponent van het randapparaat dat bestuurd moet worden.

Bijv. RealTek RTL8129 voor mijn oude ethernetkaart. Een zoekactie naar "RealTek RTL8129 Linux driver" levert op dat u de module tulip_cb.o van de Digital 21x4x (Tulip) Driver Development kunt gebruiken. In dit geval geeft het typenummer meteen de chipset (RTL8129) aan.

Hoe weet u dat de SoundBlaster Live! de EMU 10K1 chip gebruikt? U kunt het in de documentatie (meegeleverde tekst of website van de fabrikant) lezen. Maar op Google zoeken naar "Soundblaster live chip" werkt nog sneller:

SoundBlaster Live! X-Gamer
... We are now starting to see the fruits of this idea. The SoundBlaster Live! And
Live! Value were the two first products that utilized the EMU 10K1 chip. ...

De eerste hit is niet toevallig een Linux site (X gamer), want ervaren Linux gebruikers kennen het belang van de chips onder de motorkap.

Als u pech hebt, weet u alleen het merk en typenummer van uw laptop, maar mist de u de specificaties uw hardware. De laptop wordt bijv. als een gepreïnstalleerde Windows OEM afgeleverd. Bij de installatie van Linux wordt van alles herkend, maar u hebt nog geen netwerkverbinding of de geinstalleerde videokaart is slechts VGA.

Dan zijn Craig Hart's PCI Information Pages van grote waarde. Craig Hart weet alles van PCI en AGP en is de auteur van PCI info, een programma waarmee u onder DOS, OS/2 en de verschillende Windows smaken de PCI hardware chips kunt detecteren. De informatie die Windows' Apparatuurbeheer verstrekt klopt vaak niet. Maar misschien is dat de reden dat Windows drivers die al geïnstalleerd zijn (bijv. van een extern modem op de seriele poort) nog eens extra via een INF bestand moet invoeren.

Vendor 10ECh Realtek Semiconductor
Device 8029h RT8029(AS) 10Mb Ethernet Adapter
Command 0003h (I/O Access, Memory Access)
Status 0200h (Medium Timing)
Revision 00h, Header Type 00h, Bus Latency 00h
Self test 00h (Self test not supported)
PCI Class Network, type Ethernet
Subsystem ID 802910ECh RT8029(AS) Ethernet Adapter (Generic ID)
Subsystem Vendor 10ECh Realtek Semiconductor
Address 0 is an I/O Port : 0000B000h
System IRQ 10, INT# A

Met de door PCI Info gedetecteerde chipsets (hier: RT8029) kunt u op Google (RT8029 Linux driver) verder zoeken.



Basale Hardware

Toelichting

Intel processors

Intel 386 en hoger. Intel klonen van AMD, Cyrix en Nexgen. Linux biedt de mogelijkheid om de kernel te optimaliseren voor uw processor (bijv. de PII en Celeron als Pentium Pro) en ondersteunt meerdere processoren (SMP).

Alternatieve platformen

Er zijn Linux versies voor de snelle 64 bits Digital Alpha werkstations, systemen gebaseerd op de Motorola 680x0 based processor (Atari, Commodore, HP), de PowerPC en SunSparc computers. Voor meer info zie http://www.linux.org.uk, want Linux wordt naar steeds meer systemen geporteerd.

Geheugen

Vanaf 2-4 MB RAM voor alleen tekst, 8-16 MB om grafisch te kunnen werken. Voor grafisch werk op de KDE desktop is 128 MB of meer aanbevolen.

Muizen

Muizen zullen zelden een probleem zijn omdat ze doorgaans meerdere protocollen ondersteunen. De scrollwieltjes van Scrollmuizen kunnen vanaf XFree86 3.3.2 eenvoudig met het pakket imwheel worden gebruikt.

USB

USB wordt vanaf kernel 2.4 ruim ondersteund. Maar er zijn ook "backports" voor 2.2 kernels. Zie: Linux USB.

Moederborden

ISA, MCA, EISA, VLB, PCI en PCMCIA. Linux ondersteunt symmetric multiprocessing (SMP) op intel en andere platformen.

Videokaarten

Voor een overzicht van de ondersteunde videokaarten zou ik de hardware databases van distributies raadplegen. Zie verder XFree86 Video Card/Server List en X Servers voor commerciële alternatieven.

Laptops

Kenneth E. Harkers Linux on Laptops en de Linux Laptop HOWTO.

Postscript printers

UNIX is gemaakt voor de postscript printer.

Andere printers

Veel populaire niet-Postscript printers kunnen met het pakket GNU Ghostscript benaderd worden. Maar de een beter dan de ander. Vraag naar printers die het goed onder DOS doen. Zie verder de Linux Printing HOWTO. Koop geen Winprinter.

Geluidskaarten

De ondersteuning voor geluidskaarten was matig, maar is inmiddels behoorlijk goed. Er zijn kerneldrivers voor veel chipsets, maar de beste ondersteuning komt van de Advanced Linux Sound Architecture - ALSA en 4Front Technologies met zijn Open Sound System (OSS).

ISDN

De ISDN ondersteuning van Linux is goed.

Modems

ISA modems, ook van het PnP type zullen het in de regel onder Linux doen. Externe modems zijn het best. PCI en USB modems zijn problematisch. Zie de uitstekende Winmodems are not modems; Linux information page en de meer algemene Modem-HOWTO voor meer informatie.

Netwerkkaarten

Sterk punt van Linux. U moet de chipset kennen (internet, pciinfo).


Dubieuze hardware

> Top <

Hardware

Toelichting

PnP

Plug and Play is opgezet door Microsoft en Intel.

PCI geluidskaarten

Het merk zegt niet zoveel. Ga na of de chipset door Linux ondersteund wordt.

GDI printers

Deze voor Windows ontworpen printers zijn onder UNIX niet of alleen onder lage resolutie te gebruiken. Er is wel een groep vrijwilligers die stuurbestanden probeert te ontwikkelen, maar of dat zal lukken is nog maar de vraag.

PCI en PnP modems

Een belangrijk deel van de Plug and Play (PnP) modems is een winmodem.

Scanners

Scannen onder Linux (en OS/2) gaat met de SANE drivers. SCSI scanners zijn de beste keus.

Niet ondersteunde hardware

> Top <

Winkukels

Microsoft en Intel zijn de gangmakers van het proces waarbij randapparatuur als modems en printers steeds meer op de aanwezigheid van alleen nog maar onder Windows te gebruiken stuurbestanden en de aanwezigheid van dure Intel processors leunen. Fabrikanten van hardware bezuinigen steeds meer op relatief goedkope chips (processor en geheugen), om het rekenwerk door de de (intel) processor onder Windows te laten doen. Het gevolg is dat de markt overspoelt wordt met dubieuze randapparatuur (winmodems en winprinters) die alleen op een dure processor onder Windows werken.

Literatuur

> Top <

The Linux PCI ID Repository

Linux-Mobile-Guide

> Top <
>> Index <<