FAQ: Hledáme parametry modulu xyz (Was: Re: Parametry pro modul rtl8139.o)

Pavel Janik ml. Pavel.Janik na inet.cz
Pondělí Duben 17 19:44:46 CEST 2000


   From: "Ing. Zdenek Havranek" <sea-cv na volny.cz>
   Date: Mon, 17 Apr 2000 11:06:51 +0200 (CEST)

Zdravím,

   > Jak se nastavuji parametry sitove karty u modulu rtl8139.O ?
   > Zajima me hlavne prepinani 10/100 Mbps a prepinani half/full duplex.
   > Nebo si modul korektne nacte nastaveni z EEPROM na karte?

některé (většina) ovladačů síťových karet umožňují specifikovat volby při
jejich zavedení. Jak najít, které to jsou, když nerozumím zdrojovým textům?

Všechny parametry u jakéhokoli modulu jsou ve zdrojových textech definovány
pomocí makra MODULE_PARAM. Např. ve zdrojovém textu ovladače rtl8139.c (viz
drivers/net/rtl8139.c) je uvedeno:

MODULE_AUTHOR("Donald Becker <becker na cesdis.gsfc.nasa.gov>");
MODULE_DESCRIPTION("RealTek RTL8129/8139 Fast Ethernet driver");
MODULE_PARM(options, "1-" __MODULE_STRING(MAX_UNITS) "i");
MODULE_PARM(full_duplex, "1-" __MODULE_STRING(MAX_UNITS) "i");
MODULE_PARM(multicast_filter_limit, "i");
MODULE_PARM(max_interrupt_work, "i");
MODULE_PARM(debug, "i");

Tento modul tedy akceptuje volby full_duplex, multicast_filter_limit,
max_interrupt_work a debug. Hodnoty, kterých může volba nabýt, jsou určeny
posledním parametrem makra MODULE_PARM. Např. písmeno "i" znamená, že parametr
očekává celé číslo. Význam dalších písmen je v souboru include/linux/module.h:

/* Used to verify parameters given to the module.  The TYPE arg should
   be a string in the following format:
        [min[-max]]{b,h,i,l,s}
   The MIN and MAX specifiers delimit the length of the array.  If MAX
   is omitted, it defaults to MIN; if both are omitted, the default is 1.
   The final character is a type specifier:
        b       byte
        h       short
        i       int
        l       long
        s       string
*/
-- 
Pavel Janík ml.
Pavel.Janik na inet.cz


Další informace o konferenci Linux