Recherche drivers smsc LAN91c1x

Bonjour,

Je cherche drivers SMSC Lan91c1x pour Linux version 2.6 pour ma carte Ethernet.

J'utilise une nouvelle version la (2.6) de la distribution uclinux sur ce cite: http://www.uclinux.org/pub/uClinux/dist/ pour ma carte de type coldFire M5307C3 de Freescale qui fonctionne dejà sur une ancienne version(la 2.4).
Après avoir compilé ma nouvelle distribution, j'ai chargé l'image du noyau(image.elf) sur la SDRAM de ma carte. Sauf que je n'arrive pas à pinguer les autres utilisateur sur le mème réseau. J'ai donc vérifié la config Ethernet avec la commande ifconfig, je me suis rendu compte que eth0 n'était pas actif. Je lui ai attribué une adresse statiquement car je n'ai pas de serveur dhcp mais sa ne marche pas.
J'ai donc rechargé l'image.elf de l'ancienne version(2.4).tout fonctionne correctement et la Led au niveau du contrôleur Ethernet est allumé pendant le chargement tandis que quand je charge la nouvelle version, la Led reste éteinte.
Je ne sais donc pas d'où viens le problème car apparemment le contrôleur n'est pas défaillant puisqu'il marche avec l'ancienne version.
Mon controleur Ethernet est de type SMSC LAN91C111

Merci d'avance!

16 réponses

Résumé de la discussion

La problématique porte sur l’activation du contrôleur Ethernet SMSC LAN91C111 sous Linux 2.6 sur une carte ColdFire M5307C3 avec uClinux, l’Ethernet ne s’initialisant pas et l’interface eth0 inactive. Après le chargement de l’image du noyau 2.6, la LED du contrôleur reste éteinte et le ping des autres machines du réseau échoue, contrairement à l’ancienne version 2.4. Des éléments de réponse évoquent des sources de pilotes et des vérifications de configuration réseau, notamment l’activation du support Ethernet et des options du driver dans le noyau via NET_ETHERNET et Kconfig. D’autres contributions orientent vers des ressources en ligne pour des pilotes compatibles et soulignent qu’un réglage kernel adéquat, notamment l’inclusion du driver LAN91C111, peut être nécessaire pour que l’interface devienne active.

Bobot (l’IA à votre service)
  1. Modérateur
    Ben il faut bien voir que tu peux savoir à tout moment sur quel noyau tu démarres avec la commande :

    uname -r


    Cela veut dire que quel que soit le noyau sur lequel tu démarres, /lib/modules/$(uname -r) désigne toujours l'arborescence de modules concernant le noyau sur lequel tu as démarré. Si tu me dis que le numéro de version ne concorde pas avec le noyau que tu as compilé... c'est que tu as démarré sur un autre noyau.

    Et du coup il est logique que ta carte ne marche pas ;-)
    1. config MVME147_NET
      tristate "MVME147 (Lance) Ethernet support"
      depends on MVME147
      select CRC32
      help
      Support for the on-board Ethernet interface on the Motorola MVME147
      single-board computer. https://www.graperain.com/ARM-Single-Board-Computer/ Say Y here to include the
      driver for this chip in your kernel.
      To compile this driver as a module, choose M here.
  2. Bonjour,
    j'ai remarqué avec le commande : find smc /lib/modules/$(uname -r)
    que je suis pas sur le bon noyau au démarrage. au lieu d'avoir des modules sur 2.6.39 j'ai plutôt ça:
    /lib/modules/2.6.38.8/kernel/net/caif/chnl_net.ko
    /lib/modules/2.6.38.8/kernel/net/caif/caif.ko
    /lib/modules/2.6.38.8/kernel/net/caif/caif_socket.ko
    .
    .
    .

    Le noyau 2.6.38.8 est n noyau que j'avais installé sur le pc au début. Si ma mémoire est bonne, j'ai du modifier le fichier fifo ou grub pour le démarrage. Je vais régler ce problème d'abord.

    La commande:
    #ls -1 /lib/modules/
    2.6.38-10-generic
    2.6.38.8
    2.6.38-8-generic
    1. Modérateur
      pas de résultat pour les 3 ci-dessous:

      Bizarre on dirait qu'aucune n'est active. Et quid des dernières qui étaient dans mes points de suspension ? (BLACKFIN || MN10300 || COLDFIRE).

      grep SMC9 /usr/src/linux/.config 


      C'est bizarre qu'on ne voit pas apparaître de constantes SMC91111 mais vues les sources c'est peut être normal. Surtout si tu me dis que le fichier smc91111.c a bien été compilé...

      Mon module s'appelle smc91x.ko

      D'après :
      https://forums.commentcamarche.net/forum/affich-22771093-recherche-drivers-smsc-lan91c1x?page=2#56

      config SMC91X 
      [...] 
      This is a driver for SMC's 91x series of Ethernet chipsets, 
      including the SMC91C94 and the SMC91C111. [...] 
      
      config SMC91111 
      [...] 
      This is a driver for SMC's 91x series of Ethernet chipsets, 
      including the SMC91C111. Say Y if you want it 
      compiled into the kernel.


      Donc c'est bizarre on dirait qu'on peut avoir smc91x.ko et smc91111.ko, les deux prenant en charge ta carte. Enfin si j'ai bien compris...

      et lorsque je lance $modprobe smc91x, j'ai ça comme réponse:

      Alors déjà il faut des droits root pour charger un module alors que le $ me laisse penser que tu n'es pas logguée en root.

      De manière générale tout ce qu'on fait là requiert des droits root.

      WARNING: /etc/modprobe.conf line 1: ignoring bad line starting with 'Cannot'
      WARNING: Deprecated config file /etc/modprobe.conf, all config files belong into /etc/modprobe.d/.
      FATAL: Module smc91x not found.
      alors qu'il existe dans mon drivers/net après un make. j'ai mème verifié les propriétés afin de faire correspondre l'heure à laquelle il a été compilé.


      Bon déjà le fichier /etc/modprobe.conf est déprécié donc dans un premier temps tu peux le renommer pour qu'il ne soit pas lu :

      mv /etc/modprobe.conf /etc/modprobe.conf.bak


      En root, réessaye :

      modprobe smc91x


      Si ça ne marche pas, pour que la commande modprobe ait une chance de marcher, il faut que le fichier ".ko" soit présent quelque part dans /lib/modules/ta-version-de-noyau.

      Que donne :

      find smc /lib/modules/$(uname -r)


      Pour dmesg et lsmod, tant que le modprobe est faux, il ne se passera rien, car linux n'a même pas commencé à charger le module.

      Tu peux essayer de passer de charger le module avec la commande insmod. Dans ce cas il faut passer le chemin du fichier .ko :

      insmod /lib/modules/$(uname -r)/kernel/drivers/net/smc91x.ko


      (chemin à éventuellement corriger). Puis ensuite regarde ce que lsmod, dmesg et ifconfig racontent...

      comment démarrer sur un noyau A au lieu de B?

      Comme je te l'ai expliqué, le système et le noyau sont deux couches distinctes sous linux. On peut tout à fait avoir plusieurs noyaux installé sur une machine. Un menu comme grub ou lilo permet au démarrage de savoir sur quel noyau on démarre.

      Dès lors, on se retrouve avec deux arborescences de modules dans /lib/modules. Par exemple sur ma machine j'ai un noyau compilé à la main (2.6.39) et un noyau standard debian (2.6.39-2-686-pae) donc un répertoire de module pour chacun d'eux :

      (mando@silk) (~) $ ls -1 /lib/modules/ 
      2.6.39 
      2.6.39-2-686-pae


      Supposons que je démarre sur le noyau 2.6.39. La commande insmod me permet de passer le chemin d'un fichier ".ko" donc je pourrais passer un chemin du genre "insmod /lib/modules/2.6.39-2-686-pae/.../module.ko". Cela échouera car ce module n'a pas été compilé pour le noyau 2.6.39 mais pour le noyau 2.6.39-2-686-pae.

      En gros, pour espérer charger ce module, il faut démarrer sur le noyau pour lequel il a été compilé.
      1. Le résultat des différentes commandes:

        $grep ARM /usr/src/linux/.config

        CONFIG_USB_ARMLINUX=y
        CONFIG_FB_CARMINE=m
        CONFIG_FB_CARMINE_DRAM_EVAL=y
        # CONFIG_CARMINE_DRAM_CUSTOM is not set
        CONFIG_USB_STORAGE_KARMA=m
        CONFIG_USB_SERIAL_GARMIN=m
        CONFIG_KARMA_PARTITION=y
        CONFIG_SECURITY_APPARMOR=y
        CONFIG_SECURITY_APPARMOR_BOOTPARAM_VALUE=1
        CONFIG_DEFAULT_SECURITY_APPARMOR=y
        CONFIG_XZ_DEC_ARM=y
        CONFIG_XZ_DEC_ARMTHUMB=y

        pas de résultat pour les 3 ci-dessous:

        grep M32R /usr/src/linux/.config
        grep SUPERH /usr/src/linux/.config
        grep MIPS /usr/src/linux/.config

        $ grep SMC9 /usr/src/linux/.config
        CONFIG_SMC9194=m
        CONFIG_PCMCIA_SMC91C92=m

        Ils sont installés en module(m). le smc9194 et smc91c111 sont prisent en charge par le smc91x. Je ne comprends pas pourquoi il n'y a que le smc9194 et pas le smc91c111?

        Si par exemple le module s'appelle smc91111.ko, pour le charger il faut lancer la commande :

        modprobe smc91111

        Mon module s'appelle smc91x.ko et lorsque je lance
        $modprobe smc91x, j'ai ça comme réponse:

        WARNING: /etc/modprobe.conf line 1: ignoring bad line starting with 'Cannot'
        WARNING: Deprecated config file /etc/modprobe.conf, all config files belong into /etc/modprobe.d/.
        FATAL: Module smc91x not found.
        alors qu'il existe dans mon drivers/net après un make. j'ai mème verifier les propriété afin de faire correspondre l'heure à laquelle il a été compilé.

        $ dmesg | tail

        [ 20.825256] type=1400 audit(1312978997.382:22): apparmor="STATUS" operation="profile_load" name="/usr/sbin/tcpdump" pid=735 comm="apparmor_parser"
        [ 22.656032] eth0: no IPv6 routers present
        [ 29.931329] type=1400 audit(1312979006.486:23): apparmor="STATUS" operation="profile_load" name="/usr/bin/evince" pid=646 comm="apparmor_parser"
        [ 29.933236] type=1400 audit(1312979006.490:24): apparmor="STATUS" operation="profile_load" name="/usr/bin/evince-previewer" pid=646 comm="apparmor_parser"
        [ 29.934245] type=1400 audit(1312979006.490:25): apparmor="STATUS" operation="profile_load" name="/usr/bin/evince-thumbnailer" pid=646 comm="apparmor_parser"
        [ 30.197084] EXT4-fs (sdb1): re-mounted. Opts: errors=remount-ro,commit=0
        [ 31.232024] eth2: no IPv6 routers present
        [ 31.297573] svc: failed to register lockdv1 RPC service (errno 97).
        [ 31.297653] NFSD: Using /var/lib/nfs/v4recovery as the NFSv4 state recovery directory
        [ 31.317917] NFSD: starting 90-second grace period

        $lsmod | grep smc91x
        pas de résultat.

        Alors chose super importante : ce qu'on fait ne peut marcher que si tu démarres sur le noyau que tu as compilé. On ne peut par exemple pas charger un module prévu pour un noyau A alors qu'on a démarré sur un noyau B.

        comment démarrer sur un noyau A au lieu de B?
        1. Modérateur
          Je ne comprends pas ce que tu veux dire par la. Qu'est ce que tu appelle dépendance?

          En fait dans un noyau, c'est un peu comme dans le gestionnaire de paquets : certaines fonctionnalités en requièrent d'autre pour fonctionner.

          Je vais tenter de faire le parallèle. Dans le gestionnaire de paquets, j'ai un paquet firefox (qui sert à installer... firefox). Mais firefox est codé en C avec du gtk. Il faut donc que la libc et la libgtk soient installées. Dans un gestionnaire de paquets, installer firefox engendrera l'installation de ces deux librairies si elles ne sont pas présentes. Supprimer libgtk cassera firefox (et engendrera probablement sa suppression en cascade pour retourner dans un état stable).

          Dans un noyau c'est la même chose. Sauf que si une dépendance n'est pas satisfaite pour une fonctionnalité F, alors F n'apparaît pas dans make menuconfig.

          Ici la dépendance sur ton pilote est :

          depends on ARM || M32R || SUPERH || \
          MIPS || BLACKFIN || MN10300 || COLDFIRE


          Cela signifie qu'au moins une de ces fonctionnalités (vu que c'est un OU logique ||) doit être activée (<*> ou <M>) pour qu'on ait une chance de voir le support de ta carte réseau.

          Je te rappelle que quand tu quittes et sauve make menuconfig, il sauve les fonctionnalités que tu as activé dans /usr/src/.linux. Cela signifie que tu peux d'ores et déjà vérifier qu'au moins une de ces fonctionnalités est activée.

          grep ARM /usr/src/linux/.config
          grep M32R /usr/src/linux/.config
          grep SUPERH /usr/src/linux/.config
          grep MIPS /usr/src/linux/.config
          ...
          


          Tu peux d'ailleurs me reporter leur résultat si tu bloques.

          Par ce que j'ai signalé plusieurs fois dans mes messages que les deux supports smc91x et smc91111 apparaissent bien dans mon menu config et que j'arrive à les cocher en plus ils sont bien compilé avec l'extension "CC" pendant le make.Tout ce passe bien sauf que sur ma carte, le contrôleur Ethernet n'est pas actif.

          Mmmmh alors normalement ça devrait marcher. Peux-tu me reporter le résultat de

          grep SMC9 /usr/src/linux/.config
          find /usr/src/linux | grep smc


          ... car s'ils ont bien été compilé, on peut se demander sous quelle forme (dans le noyau ou sous forme de module). Si c'est un module, il faut penser à charger le module au démarrage. Normalement les kernels récents le font automatiquement mais bon...

          Si par exemple le module s'appelle smc91111.ko, pour le charger il faut lancer la commande :

          modprobe smc91111


          (sans le .ko). Ensuite il faut vérifier que le module s'est correctement chargé :

          dmesg | tail
          lsmod | grep smc91111


          J'ai aussi ajouté que le driver smc91111 n'est pas compatible avec la version de mon noyau(2.6).


          Alors chose super importante : ce qu'on fait ne peut marcher que si tu démarres sur le noyau que tu as compilé. On ne peut par exemple pas charger un module prévu pour un noyau A alors qu'on a démarré sur un noyau B.

          ça sera bien que tu m'explique ce que tu veux dire par dépendance.

          Cf début du message, mais vu que tu sembles être parvenue à compiler le pilote, cette dépendance est forcément satisfaite.

          Bonne chance
          1. Modérateur
            Voici le passage qui nous intéresse :

            config SMC91X
            tristate "SMC 91C9x/91C1xxx support"
            select CRC32
            select MII
            depends on ARM || M32R || SUPERH || \
            MIPS || BLACKFIN || MN10300 || COLDFIRE
            help
            This is a driver for SMC's 91x series of Ethernet chipsets,
            including the SMC91C94 and the SMC91C111. Say Y if you want it
            compiled into the kernel, and read the file
            <file:Documentation/networking/smc9.txt> and the Ethernet-HOWTO,
            available from <https://tldp.org/docs.html#howto>.
            
            This driver is also available as a module ( = code which can be
            inserted in and removed from the running kernel whenever you want).
            The module will be called smc91x. If you want to compile it as a
            module, say M here and read <file:Documentation/kbuild/modules.txt>.
            
            config SMC91111
            tristate "SMC 91C1111 support"
            select CRC32
            select MII
            depends on ARM || M32R || SUPERH || \
            MIPS || BLACKFIN || MN10300 || COLDFIRE
            help
            This is a driver for SMC's 91x series of Ethernet chipsets,
            including the SMC91C111. Say Y if you want it
            compiled into the kernel.
            


            Comme tu le vois ton noyau peut prendre en charge cette carte réseau. Personnellement je mettrais le support SMC91111 et SMC91X (même si le deuxième peut paraître superflu).

            Pour qu'ils apparaissent dans make menuconfigu tu dois activer les dépendances correspondantes. Comme tu peux également le voir, la description "help" qui apparaît dans make menuconfig provient de ces fichiers KConfig. Ainsi au moment d'activer les dépendance tu pourras facilement voir si tu actives ou non la bonne dépendance.

            Pour comprendre la terminologie de ce fichier tu peux regarder ici :
            https://www.kernel.org/doc/Documentation/kbuild/kconfig-language.txt

            || est un où logique, ce qui signifie qu'au moins une des dépendances parmi ARM, M32R [...] COLDFIRE doit être activée pour que SMC91111 apparaisse. Le répertoire dans lequel est positionné cd fichier Kconfig te permettra de déduire le chemin à parcourir dans make menuconfig, car l'organisation du menu est plus ou moins calquée sur l'arborescence des sources.

            Je te rappelle que quand tu sauves les changement à l'issue de make menuconfig, cela corrige /usr/src/linux/.config. À coup de grep dans ce fichier tu verras bien quelles constantes sont activées ou omises.

            grep COLDFIRE /usr/src/linux/.config
            grep SMC9  /usr/src/linux/.config


            Allez ! On y est presque courage :-)
            1. Modérateur
              Pffff 350Mo de source et un miroir qui a 20Ko/s de début (soit 5h de téléchargement)... Là je n'ai pas le mental -_-

              Bon mais dans l'idée cette carte doit apparaître dans make menuconfig non ? S'il y a les sources dans ce fichu noyau, il doit y avoir moyen de les compiler !!

              Sinon autre piste, peut être que le constructeur fournit directement les sources de ce module et de quoi le compiler sans avoir à prendre un noyau complet....
              1. Modérateur
                Autre truc auquel je pense pendant qu'on y est, regarde le fichier Kconfig dans le répertoire contenant smc91111.c, tu devrais trouver le nom des fameuses constantes et donc en déduire ce qu'on cherche depuis hier...
              2. Modérateur
                Excuse-moi ce que j'ai dit n'était pas forcément très clair. Je parle toujours des sources de noyau qui sont sensées te permettre de faire fonctionner la carte réseau.

                Si j'ai bien tout suivi, ce sont dans ces sources que tu as un fichier smc91111.c qui est sensé prendre en charge ta carte réseau. Cela signifie que ce noyau une fois compilé (ou un de ses modules) peut prendre en charge ta carte. À ce stade si tu démarres sur le noyau ainsi compilé et que la carte n'est pas reconnue, c'est
                - soit que le module en question n'est pas chargé,
                - soit qu'il n'existe pas et que le noyau ne prend pas en charge cette carte.

                En fait tu peux le voir d'une part à la compilation (est-ce que smc91111 est compilé (CC)) et d'autre part dans le fichier /usr/src/linux/.config si tu es parvenue à déterminer la constante "CONFIG_..." correspondantes. C'est d'ailleurs la raison pour laquelle je t'ai fait faire des grep sur ce fichier : apparemment il n'y a pas de constantes qui a directement le bon nom. C'est aussi pour ça que j'ai commencé à te demander des informations sur les sources, en vue de la déterminer.

                Comme on n'est pas parvenu à trouver la constantes comme ça, on passe sur une autre approche. Chaque répertoire de source de noyau contient un fichier Kconfig, qui est utilisé pour retrouver les fameuses dépendances dont on a parlé. C'est également à partir de ces fichiers que make menuconfig parvient à générer des menus cohérents. En d'autres termes, ces fichiers vont nous permettre de retrouver l'information qu'on n'a toujours pas trouvé.

                Supposons que le fichier smc91111.c soit dans le répertoire "net", alors dans ce même répertoire tu devrais trouver le fichier Kconfig qui nous intéresse, car il nous donnera la constante à activer (ainsi que ces dépendances). Reporte-moi le contenu de ce fichier au besoin. S'il est trop long, mets le en partage sur rapidshare et donne-moi le lien pour que je puisse le regarder.

                Partant de là , tu devrais être en mesure de déduire quelles fonctionnalités activer dans make menuconfig (l'arborescence des menus de make menuconfig suit globalement celle des sources).

                Bon :-) J'espère qu'on va s'en sortir car il est bien récalcitrant ce noyau (c'est pour ça que je l'ai qualifié de "fichu noyau" dans mon message précédent, ce n'était pas de l'énervement !).

                Bon courage !
              3. Bonjour, ci joint, le fichier kconfig du drivers/net. Pour ma part je crois qu'il est bien configurer pour prendre en charge le driver de ma carte. Il se peut que je n'ai pas bien observé. À vous l'honneur :)

                #
                # Network device configuration
                #

                config HAVE_NET_MACB
                bool

                menuconfig NETDEVICES
                default y if UML
                depends on NET
                bool "Network device support"
                ---help---
                You can say N here if you don't intend to connect your Linux box to
                any other computer at all.

                You'll have to say Y if your computer contains a network card that
                you want to use under Linux. If you are going to run SLIP or PPP over
                telephone line or null modem cable you need say Y here. Connecting
                two machines with parallel ports using PLIP needs this, as well as
                AX.25/KISS for sending Internet traffic over amateur radio links.

                See also "The Linux Network Administrator's Guide" by Olaf Kirch and
                Terry Dawson. Available at <http://www.tldp.org/guides.html>.

                If unsure, say Y.

                # All the following symbols are dependent on NETDEVICES - do not repeat
                # that for each of the symbols.
                if NETDEVICES

                config IFB
                tristate "Intermediate Functional Block support"
                depends on NET_CLS_ACT
                ---help---
                This is an intermediate driver that allows sharing of
                resources.
                To compile this driver as a module, choose M here: the module
                will be called ifb. If you want to use more than one ifb
                device at a time, you need to compile this driver as a module.
                Instead of 'ifb', the devices will then be called 'ifb0',
                'ifb1' etc.
                Look at the iproute2 documentation directory for usage etc

                config DUMMY
                tristate "Dummy net driver support"
                ---help---
                This is essentially a bit-bucket device (i.e. traffic you send to
                this device is consigned into oblivion) with a configurable IP
                address. It is most commonly used in order to make your currently
                inactive SLIP address seem like a real address for local programs.
                If you use SLIP or PPP, you might want to say Y here. Since this
                thing often comes in handy, the default is Y. It won't enlarge your
                kernel either. What a deal. Read about it in the Network
                Administrator's Guide, available from
                <https://tldp.org/docs.html#guide>.

                To compile this driver as a module, choose M here: the module
                will be called dummy. If you want to use more than one dummy
                device at a time, you need to compile this driver as a module.
                Instead of 'dummy', the devices will then be called 'dummy0',
                'dummy1' etc.

                config BONDING
                tristate "Bonding driver support"
                depends on INET
                depends on IPV6 || IPV6=n
                ---help---
                Say 'Y' or 'M' if you wish to be able to 'bond' multiple Ethernet
                Channels together. This is called 'Etherchannel' by Cisco,
                'Trunking' by Sun, 802.3ad by the IEEE, and 'Bonding' in Linux.

                The driver supports multiple bonding modes to allow for both high
                performance and high availability operation.

                Refer to <file:Documentation/networking/bonding.txt> for more
                information.

                To compile this driver as a module, choose M here: the module
                will be called bonding.

                config MACVLAN
                tristate "MAC-VLAN support (EXPERIMENTAL)"
                depends on EXPERIMENTAL
                ---help---
                This allows one to create virtual interfaces that map packets to
                or from specific MAC addresses to a particular interface.

                Macvlan devices can be added using the "ip" command from the
                iproute2 package starting with the iproute2-2.6.23 release:

                "ip link add link <real dev> [ address MAC ] [ NAME ] type macvlan"

                To compile this driver as a module, choose M here: the module
                will be called macvlan.

                config MACVTAP
                tristate "MAC-VLAN based tap driver (EXPERIMENTAL)"
                depends on MACVLAN
                help
                This adds a specialized tap character device driver that is based
                on the MAC-VLAN network interface, called macvtap. A macvtap device
                can be added in the same way as a macvlan device, using 'type
                macvlan', and then be accessed through the tap user space interface.

                To compile this driver as a module, choose M here: the module
                will be called macvtap.

                config EQUALIZER
                tristate "EQL (serial line load balancing) support"
                ---help---
                If you have two serial connections to some other computer (this
                usually requires two modems and two telephone lines) and you use
                SLIP (the protocol for sending Internet traffic over telephone
                lines) or PPP (a better SLIP) on them, you can make them behave like
                one double speed connection using this driver. Naturally, this has
                to be supported at the other end as well, either with a similar EQL
                Linux driver or with a Livingston Portmaster 2e.

                Say Y if you want this and read
                <file:Documentation/networking/eql.txt>. You may also want to read
                section 6.2 of the NET-3-HOWTO, available from
                <https://tldp.org/docs.html#howto>.

                To compile this driver as a module, choose M here: the module
                will be called eql. If unsure, say N.

                config TUN
                tristate "Universal TUN/TAP device driver support"
                select CRC32
                ---help---
                TUN/TAP provides packet reception and transmission for user space
                programs. It can be viewed as a simple Point-to-Point or Ethernet
                device, which instead of receiving packets from a physical media,
                receives them from user space program and instead of sending packets
                via physical media writes them to the user space program.

                When a program opens /dev/net/tun, driver creates and registers
                corresponding net device tunX or tapX. After a program closed above
                devices, driver will automatically delete tunXX or tapXX device and
                all routes corresponding to it.

                Please read <file:Documentation/networking/tuntap.txt> for more
                information.

                To compile this driver as a module, choose M here: the module
                will be called tun.

                If you don't know what to use this for, you don't need it.

                config VETH
                tristate "Virtual ethernet pair device"
                ---help---
                This device is a local ethernet tunnel. Devices are created in pairs.
                When one end receives the packet it appears on its pair and vice
                versa.

                config NET_SB1000
                tristate "General Instruments Surfboard 1000"
                depends on PNP
                ---help---
                This is a driver for the General Instrument (also known as
                NextLevel) SURFboard 1000 internal
                cable modem. This is an ISA card which is used by a number of cable
                TV companies to provide cable modem access. It's a one-way
                downstream-only cable modem, meaning that your upstream net link is
                provided by your regular phone modem.

                At present this driver only compiles as a module, so say M here if
                you have this card. The module will be called sb1000. Then read
                <file:Documentation/networking/README.sb1000> for information on how
                to use this module, as it needs special ppp scripts for establishing
                a connection. Further documentation and the necessary scripts can be
                found at:

                <http://www.jacksonville.net/~fventuri/>
                <http://home.adelphia.net/~siglercm/sb1000.html>
                <https://linuxpower.cx/

                If you don't have this card, of course say N.

                source "drivers/net/arcnet/Kconfig"

                config MII
                tristate "Generic Media Independent Interface device support"
                help
                Most ethernet controllers have MII transceiver either as an external
                or internal device. It is safe to say Y or M here even if your
                ethernet card lacks MII.

                source "drivers/net/phy/Kconfig"

                #
                # Ethernet
                #

                menuconfig NET_ETHERNET
                bool "Ethernet (10 or 100Mbit)"
                depends on !UML
                ---help---
                Ethernet (also called IEEE 802.3 or ISO 8802-2) is the most common
                type of Local Area Network (LAN) in universities and companies.

                Common varieties of Ethernet are: 10BASE-2 or Thinnet (10 Mbps over
                coaxial cable, linking computers in a chain), 10BASE-T or twisted
                pair (10 Mbps over twisted pair cable, linking computers to central
                hubs), 10BASE-F (10 Mbps over optical fiber links, using hubs),
                100BASE-TX (100 Mbps over two twisted pair cables, using hubs),
                100BASE-T4 (100 Mbps over 4 standard voice-grade twisted pair
                cables, using hubs), 100BASE-FX (100 Mbps over optical fiber links)
                [the 100BASE varieties are also known as Fast Ethernet], and Gigabit
                Ethernet (1 Gbps over optical fiber or short copper links).

                If your Linux machine will be connected to an Ethernet and you have
                an Ethernet network interface card (NIC) installed in your computer,
                say Y here and read the Ethernet-HOWTO, available from
                <https://tldp.org/docs.html#howto>. You will then also have
                to say Y to the driver for your particular NIC.

                Note that the answer to this question won't directly affect the
                kernel: saying N will just cause the configurator to skip all
                the questions about Ethernet network cards. If unsure, say N.

                if NET_ETHERNET

                config MACB
                tristate "Atmel MACB support"
                depends on HAVE_NET_MACB
                select PHYLIB
                help
                The Atmel MACB ethernet interface is found on many AT32 and AT91
                parts. Say Y to include support for the MACB chip.

                To compile this driver as a module, choose M here: the module
                will be called macb.

                source "drivers/net/arm/Kconfig"

                config AX88796
                tristate "ASIX AX88796 NE2000 clone support"
                depends on ARM || MIPS || SUPERH
                select PHYLIB
                select MDIO_BITBANG
                help
                AX88796 driver, using platform bus to provide
                chip detection and resources

                config AX88796_93CX6
                bool "ASIX AX88796 external 93CX6 eeprom support"
                depends on AX88796
                select EEPROM_93CX6
                help
                Select this if your platform comes with an external 93CX6 eeprom.

                config MACE
                tristate "MACE (Power Mac ethernet) support"
                depends on PPC_PMAC && PPC32
                select CRC32
                help
                Power Macintoshes and clones with Ethernet built-in on the
                motherboard will usually use a MACE (Medium Access Control for
                Ethernet) interface. Say Y to include support for the MACE chip.

                To compile this driver as a module, choose M here: the module
                will be called mace.

                config MACE_AAUI_PORT
                bool "Use AAUI port instead of TP by default"
                depends on MACE
                help
                Some Apple machines (notably the Apple Network Server) which use the
                MACE ethernet chip have an Apple AUI port (small 15-pin connector),
                instead of an 8-pin RJ45 connector for twisted-pair ethernet. Say
                Y here if you have such a machine. If unsure, say N.
                The driver will default to AAUI on ANS anyway, and if you use it as
                a module, you can provide the port_aaui=0|1 to force the driver.

                config BMAC
                tristate "BMAC (G3 ethernet) support"
                depends on PPC_PMAC && PPC32
                select CRC32
                help
                Say Y for support of BMAC Ethernet interfaces. These are used on G3
                computers.

                To compile this driver as a module, choose M here: the module
                will be called bmac.

                config ARIADNE
                tristate "Ariadne support"
                depends on ZORRO
                help
                If you have a Village Tronic Ariadne Ethernet adapter, say Y.
                Otherwise, say N.

                To compile this driver as a module, choose M here: the module
                will be called ariadne.

                config A2065
                tristate "A2065 support"
                depends on ZORRO
                select CRC32
                help
                If you have a Commodore A2065 Ethernet adapter, say Y. Otherwise,
                say N.

                To compile this driver as a module, choose M here: the module
                will be called a2065.

                config HYDRA
                tristate "Hydra support"
                depends on ZORRO
                select CRC32
                help
                If you have a Hydra Ethernet adapter, say Y. Otherwise, say N.

                To compile this driver as a module, choose M here: the module
                will be called hydra.

                config ZORRO8390
                tristate "Zorro NS8390-based Ethernet support"
                depends on ZORRO
                select CRC32
                help
                This driver is for Zorro Ethernet cards using an NS8390-compatible
                chipset, like the Village Tronic Ariadne II and the Individual
                Computers X-Surf Ethernet cards. If you have such a card, say Y.
                Otherwise, say N.

                To compile this driver as a module, choose M here: the module
                will be called zorro8390.

                config APNE
                tristate "PCMCIA NE2000 support"
                depends on AMIGA_PCMCIA
                select CRC32
                help
                If you have a PCMCIA NE2000 compatible adapter, say Y. Otherwise,
                say N.

                To compile this driver as a module, choose M here: the module
                will be called apne.

                config MAC8390
                bool "Macintosh NS 8390 based ethernet cards"
                depends on MAC
                select CRC32
                help
                If you want to include a driver to support Nubus or LC-PDS
                Ethernet cards using an NS8390 chipset or its equivalent, say Y
                and read the Ethernet-HOWTO, available from
                <https://tldp.org/docs.html#howto>.

                config MAC89x0
                tristate "Macintosh CS89x0 based ethernet cards"
                depends on MAC
                ---help---
                Support for CS89x0 chipset based Ethernet cards. If you have a
                Nubus or LC-PDS network (Ethernet) card of this type, say Y and
                read the Ethernet-HOWTO, available from
                <https://tldp.org/docs.html#howto>.

                To compile this driver as a module, choose M here. This module will
                be called mac89x0.

                config MACSONIC
                tristate "Macintosh SONIC based ethernet (onboard, NuBus, LC, CS)"
                depends on MAC
                ---help---
                Support for NatSemi SONIC based Ethernet devices. This includes
                the onboard Ethernet in many Quadras as well as some LC-PDS,
                a few Nubus and all known Comm Slot Ethernet cards. If you have
                one of these say Y and read the Ethernet-HOWTO, available from
                <https://tldp.org/docs.html#howto>.

                To compile this driver as a module, choose M here. This module will
                be called macsonic.

                config MACMACE
                bool "Macintosh (AV) onboard MACE ethernet"
                depends on MAC
                select CRC32
                help
                Support for the onboard AMD 79C940 MACE Ethernet controller used in
                the 660AV and 840AV Macintosh. If you have one of these Macintoshes
                say Y and read the Ethernet-HOWTO, available from
                <https://tldp.org/docs.html#howto>.

                config MVME147_NET
                tristate "MVME147 (Lance) Ethernet support"
                depends on MVME147
                select CRC32
                help
                Support for the on-board Ethernet interface on the Motorola MVME147
                single-board computer. Say Y here to include the
                driver for this chip in your kernel.
                To compile this driver as a module, choose M here.

                config MVME16x_NET
                tristate "MVME16x Ethernet support"
                depends on MVME16x
                help
                This is the driver for the Ethernet interface on the Motorola
                MVME162, 166, 167, 172 and 177 boards. Say Y here to include the
                driver for this chip in your kernel.
                To compile this driver as a module, choose M here.

                config BVME6000_NET
                tristate "BVME6000 Ethernet support"
                depends on BVME6000
                help
                This is the driver for the Ethernet interface on BVME4000 and
                BVME6000 VME boards. Say Y here to include the driver for this chip
                in your kernel.
                To compile this driver as a module, choose M here.

                config ATARILANCE
                tristate "Atari Lance support"
                depends on ATARI
                help
                Say Y to include support for several Atari Ethernet adapters based
                on the AMD Lance chipset: RieblCard (with or without battery), or
                PAMCard VME (also the version by Rhotron, with different addresses).

                config SUN3LANCE
                tristate "Sun3/Sun3x on-board LANCE support"
                depends on SUN3 || SUN3X
                help
                Most Sun3 and Sun3x motherboards (including the 3/50, 3/60 and 3/80)
                featured an AMD Lance 10Mbit Ethernet controller on board; say Y
                here to compile in the Linux driver for this and enable Ethernet.
                General Linux information on the Sun 3 and 3x series (now
                discontinued) is at
                <http://www.angelfire.com/ca2/tech68k/sun3.html>.

                If you're not building a kernel for a Sun 3, say N.

                config SUN3_82586
                bool "Sun3 on-board Intel 82586 support"
                depends on SUN3
                help
                This driver enables support for the on-board Intel 82586 based
                Ethernet adapter found on Sun 3/1xx and 3/2xx motherboards. Note
                that this driver does not support 82586-based adapters on additional
                VME boards.

                config HPLANCE
                bool "HP on-board LANCE support"
                depends on DIO
                select CRC32
                help
                If you want to use the builtin "LANCE" Ethernet controller on an
                HP300 machine, say Y here.

                config LASI_82596
                tristate "Lasi ethernet"
                depends on GSC
                help
                Say Y here to support the builtin Intel 82596 ethernet controller
                found in Hewlett-Packard PA-RISC machines with 10Mbit ethernet.

                config SNI_82596
                tristate "SNI RM ethernet"
                depends on NET_ETHERNET && SNI_RM
                help
                Say Y here to support the on-board Intel 82596 ethernet controller
                built into SNI RM machines.

                config KORINA
                tristate "Korina (IDT RC32434) Ethernet support"
                depends on NET_ETHERNET && MIKROTIK_RB532
                help
                If you have a Mikrotik RouterBoard 500 or IDT RC32434
                based system say Y. Otherwise say N.

                config MIPS_JAZZ_SONIC
                tristate "MIPS JAZZ onboard SONIC Ethernet support"
                depends on MACH_JAZZ
                help
                This is the driver for the onboard card of MIPS Magnum 4000,
                Acer PICA, Olivetti M700-10 and a few other identical OEM systems.

                config XTENSA_XT2000_SONIC
                tristate "Xtensa XT2000 onboard SONIC Ethernet support"
                depends on XTENSA_PLATFORM_XT2000
                help
                This is the driver for the onboard card of the Xtensa XT2000 board.

                config MIPS_AU1X00_ENET
                tristate "MIPS AU1000 Ethernet support"
                depends on MIPS_ALCHEMY
                select PHYLIB
                select CRC32
                help
                If you have an Alchemy Semi AU1X00 based system
                say Y. Otherwise, say N.

                config SGI_IOC3_ETH
                bool "SGI IOC3 Ethernet"
                depends on PCI && SGI_IP27
                select CRC32
                select MII
                help
                If you have a network (Ethernet) card of this type, say Y and read
                the Ethernet-HOWTO, available from
                <https://tldp.org/docs.html#howto>.

                config MIPS_SIM_NET
                tristate "MIPS simulator Network device"
                depends on MIPS_SIM
                help
                The MIPSNET device is a simple Ethernet network device which is
                emulated by the MIPS Simulator.
                If you are not using a MIPSsim or are unsure, say N.

                config SGI_O2MACE_ETH
                tristate "SGI O2 MACE Fast Ethernet support"
                depends on SGI_IP32=y

                config STNIC
                tristate "National DP83902AV support"
                depends on SUPERH
                select CRC32
                help
                Support for cards based on the National Semiconductor DP83902AV
                ST-NIC Serial Network Interface Controller for Twisted Pair. This
                is a 10Mbit/sec Ethernet controller. Product overview and specs at
                <http://www.national.com/pf/DP/DP83902A.html>.

                If unsure, say N.

                config SH_ETH
                tristate "Renesas SuperH Ethernet support"
                depends on SUPERH && \
                (CPU_SUBTYPE_SH7710 || CPU_SUBTYPE_SH7712 || \
                CPU_SUBTYPE_SH7763 || CPU_SUBTYPE_SH7619 || \
                CPU_SUBTYPE_SH7724 || CPU_SUBTYPE_SH7757)
                select CRC32
                select MII
                select MDIO_BITBANG
                select PHYLIB
                help
                Renesas SuperH Ethernet device driver.
                This driver supporting CPUs are:
                - SH7710, SH7712, SH7763, SH7619, SH7724, and SH7757.

                config SUNLANCE
                tristate "Sun LANCE support"
                depends on SBUS
                select CRC32
                help
                This driver supports the "le" interface present on all 32-bit Sparc
                systems, on some older Ultra systems and as an Sbus option. These
                cards are based on the AMD Lance chipset, which is better known
                via the NE2100 cards.

                To compile this driver as a module, choose M here: the module
                will be called sunlance.

                config HAPPYMEAL
                tristate "Sun Happy Meal 10/100baseT support"
                depends on SBUS || PCI
                select CRC32
                help
                This driver supports the "hme" interface present on most Ultra
                systems and as an option on older Sbus systems. This driver supports
                both PCI and Sbus devices. This driver also supports the "qfe" quad
                100baseT device available in both PCI and Sbus configurations.

                To compile this driver as a module, choose M here: the module
                will be called sunhme.

                config SUNBMAC
                tristate "Sun BigMAC 10/100baseT support (EXPERIMENTAL)"
                depends on SBUS && EXPERIMENTAL
                select CRC32
                help
                This driver supports the "be" interface available as an Sbus option.
                This is Sun's older 100baseT Ethernet device.

                To compile this driver as a module, choose M here: the module
                will be called sunbmac.

                config SUNQE
                tristate "Sun QuadEthernet support"
                depends on SBUS
                select CRC32
                help
                This driver supports the "qe" 10baseT Ethernet device, available as
                an Sbus option. Note that this is not the same as Quad FastEthernet
                "qfe" which is supported by the Happy Meal driver instead.

                To compile this driver as a module, choose M here: the module
                will be called sunqe.

                config SUNGEM
                tristate "Sun GEM support"
                depends on PCI
                select CRC32
                help
                Support for the Sun GEM chip, aka Sun GigabitEthernet/P 2.0. See also
                <https://www.oracle.com/sun/

                config CASSINI
                tristate "Sun Cassini support"
                depends on PCI
                select CRC32
                help
                Support for the Sun Cassini chip, aka Sun GigaSwift Ethernet. See also
                <https://www.oracle.com/sun/

                config SUNVNET
                tristate "Sun Virtual Network support"
                depends on SUN_LDOMS
                help
                Support for virtual network devices under Sun Logical Domains.

                config NET_VENDOR_3COM
                bool "3COM cards"
                depends on ISA || EISA || MCA || PCI
                help
                If you have a network (Ethernet) card belonging to this class, say Y
                and read the Ethernet-HOWTO, available from
                <https://tldp.org/docs.html#howto>.

                Note that the answer to this question doesn't directly affect the
                kernel: saying N will just cause the configurator to skip all
                the questions about 3COM cards. If you say Y, you will be asked for
                your specific card in the following questions.

                config EL1
                tristate "3c501 \"EtherLink\" support"
                depends on NET_VENDOR_3COM && ISA
                ---help---
                If you have a network (Ethernet) card of this type, say Y and read
                the Ethernet-HOWTO, available from
                <https://tldp.org/docs.html#howto>. Also, consider buying a
                new card, since the 3c501 is slow, broken, and obsolete: you will
                have problems. Some people suggest to ping ("man ping") a nearby
                machine every minute ("man cron") when using this card.

                To compile this driver as a module, choose M here. The module
                will be called 3c501.

                config EL2
                tristate "3c503 \"EtherLink II\" support"
                depends on NET_VENDOR_3COM && ISA
                select CRC32
                help
                If you have a network (Ethernet) card of this type, say Y and read
                the Ethernet-HOWTO, available from
                <https://tldp.org/docs.html#howto>.

                To compile this driver as a module, choose M here. The module
                will be called 3c503.

                config ELPLUS
                tristate "3c505 \"EtherLink Plus\" support"
                depends on NET_VENDOR_3COM && ISA && ISA_DMA_API
                ---help---
                Information about this network (Ethernet) card can be found in
                <file:Documentation/networking/3c505.txt>. If you have a card of
                this type, say Y and read the Ethernet-HOWTO, available from
                <https://tldp.org/docs.html#howto>.

                To compile this driver as a module, choose M here. The module
                will be called 3c505.

                config EL16
                tristate "3c507 \"EtherLink 16\" support (EXPERIMENTAL)"
                depends on NET_VENDOR_3COM && ISA && EXPERIMENTAL
                help
                If you have a network (Ethernet) card of this type, say Y and read
                the Ethernet-HOWTO, available from
                <https://tldp.org/docs.html#howto>.

                To compile this driver as a module, choose M here. The module
                will be called 3c507.

                config EL3
                tristate "3c509/3c529 (MCA)/3c579 \"EtherLink III\" support"
                depends on NET_VENDOR_3COM && (ISA || EISA || MCA)
                ---help---
                If you have a network (Ethernet) card belonging to the 3Com
                EtherLinkIII series, say Y and read the Ethernet-HOWTO, available
                from <https://tldp.org/docs.html#howto>.

                If your card is not working you may need to use the DOS
                setup disk to disable Plug & Play mode, and to select the default
                media type.

                To compile this driver as a module, choose M here. The module
                will be called 3c509.

                config 3C515
                tristate "3c515 ISA \"Fast EtherLink\""
                depends on NET_VENDOR_3COM && (ISA || EISA) && ISA_DMA_API
                help
                If you have a 3Com ISA EtherLink XL "Corkscrew" 3c515 Fast Ethernet
                network card, say Y and read the Ethernet-HOWTO, available from
                <https://tldp.org/docs.html#howto>.

                To compile this driver as a module, choose M here. The module
                will be called 3c515.

                config ELMC
                tristate "3c523 \"EtherLink/MC\" support"
                depends on NET_VENDOR_3COM && MCA_LEGACY
                help
                If you have a network (Ethernet) card of this type, say Y and read
                the Ethernet-HOWTO, available from
                <https://tldp.org/docs.html#howto>.

                To compile this driver as a module, choose M here. The module
                will be called 3c523.

                config ELMC_II
                tristate "3c527 \"EtherLink/MC 32\" support (EXPERIMENTAL)"
                depends on NET_VENDOR_3COM && MCA && MCA_LEGACY
                help
                If you have a network (Ethernet) card of this type, say Y and read
                the Ethernet-HOWTO, available from
                <https://tldp.org/docs.html#howto>.

                To compile this driver as a module, choose M here. The module
                will be called 3c527.

                config VORTEX
                tristate "3c590/3c900 series (592/595/597) \"Vortex/Boomerang\" support"
                depends on NET_VENDOR_3COM && (PCI || EISA)
                select MII
                ---help---
                This option enables driver support for a large number of 10Mbps and
                10/100Mbps EISA, PCI and PCMCIA 3Com network cards:

                "Vortex" (Fast EtherLink 3c590/3c592/3c595/3c597) EISA and PCI
                "Boomerang" (EtherLink XL 3c900 or 3c905) PCI
                "Cyclone" (3c540/3c900/3c905/3c980/3c575/3c656) PCI and Cardbus
                "Tornado" (3c905) PCI
                "Hurricane" (3c555/3cSOHO) PCI

                If you have such a card, say Y and read the Ethernet-HOWTO,
                available from <https://tldp.org/docs.html#howto>. More
                specific information is in
                <file:Documentation/networking/vortex.txt> and in the comments at
                the beginning of <file:drivers/net/3c59x.c>.

                To compile this support as a module, choose M here.

                config TYPHOON
                tristate "3cr990 series \"Typhoon\" support"
                depends on NET_VENDOR_3COM && PCI
                select CRC32
                ---help---
                This option enables driver support for the 3cr990 series of cards:

                3C990-TX, 3CR990-TX-95, 3CR990-TX-97, 3CR990-FX-95, 3CR990-FX-97,
                3CR990SVR, 3CR990SVR95, 3CR990SVR97, 3CR990-FX-95 Server,
                3CR990-FX-97 Server, 3C990B-TX-M, 3C990BSVR

                If you have a network (Ethernet) card of this type, say Y and read
                the Ethernet-HOWTO, available from
                <https://tldp.org/docs.html#howto>.

                To compile this driver as a module, choose M here. The module
                will be called typhoon.

                config LANCE
                tristate "AMD LANCE and PCnet (AT1500 and NE2100) support"
                depends on ISA && ISA_DMA_API
                help
                If you have a network (Ethernet) card of this type, say Y and read
                the Ethernet-HOWTO, available from
                <https://tldp.org/docs.html#howto>. Some LinkSys cards are
                of this type.

                To compile this driver as a module, choose M here: the module
                will be called lance. This is recommended.

                config NET_VENDOR_SMC
                bool "Western Digital/SMC cards"
                depends on ISA || MCA || EISA || MAC || EMBEDDED || CONLDFIRE
                help
                If you have a network (Ethernet) card belonging to this class, say Y
                and read the Ethernet-HOWTO, available from
                <https://tldp.org/docs.html#howto>.

                Note that the answer to this question doesn't directly affect the
                kernel: saying N will just cause the configurator to skip all
                the questions about Western Digital cards. If you say Y, you will be
                asked for your specific card in the following questions.

                config WD80x3
                tristate "WD80*3 support"
                depends on NET_VENDOR_SMC && ISA
                select CRC32
                help
                If you have a network (Ethernet) card of this type, say Y and read
                the Ethernet-HOWTO, available from
                <https://tldp.org/docs.html#howto>.

                To compile this driver as a module, choose M here. The module
                will be called wd.

                config ULTRAMCA
                tristate "SMC Ultra MCA support"
                depends on NET_VENDOR_SMC && MCA
                select CRC32
                help
                If you have a network (Ethernet) card of this type and are running
                an MCA based system (PS/2), say Y and read the Ethernet-HOWTO,
                available from <https://tldp.org/docs.html#howto>.

                To compile this driver as a module, choose M here. The module
                will be called smc-mca.

                config ULTRA
                tristate "SMC Ultra support"
                depends on NET_VENDOR_SMC && ISA
                select CRC32
                ---help---
                If you have a network (Ethernet) card of this type, say Y and read
                the Ethernet-HOWTO, available from
                <https://tldp.org/docs.html#howto>.

                Important: There have been many reports that, with some motherboards
                mixing an SMC Ultra and an Adaptec AHA154x SCSI card (or compatible,
                such as some BusLogic models) causes corruption problems with many
                operating systems. The Linux smc-ultra driver has a work-around for
                this but keep it in mind if you have such a SCSI card and have
                problems.

                To compile this driver as a module, choose M here. The module
                will be called smc-ultra.

                config ULTRA32
                tristate "SMC Ultra32 EISA support"
                depends on NET_VENDOR_SMC && EISA
                select CRC32
                help
                If you have a network (Ethernet) card of this type, say Y and read
                the Ethernet-HOWTO, available from
                <https://tldp.org/docs.html#howto>.

                To compile this driver as a module, choose M here. The module
                will be called smc-ultra32.

                config BFIN_MAC
                tristate "Blackfin on-chip MAC support"
                depends on NET_ETHERNET && (BF516 || BF518 || BF526 || BF527 || BF536 || BF537)
                select CRC32
                select MII
                select PHYLIB
                select BFIN_MAC_USE_L1 if DMA_UNCACHED_NONE
                help
                This is the driver for Blackfin on-chip mac device. Say Y if you want it
                compiled into the kernel. This driver is also available as a module
                ( = code which can be inserted in and removed from the running kernel
                whenever you want). The module will be called bfin_mac.

                config BFIN_MAC_USE_L1
                bool "Use L1 memory for rx/tx packets"
                depends on BFIN_MAC && (BF527 || BF537)
                default y
                help
                To get maximum network performance, you should use L1 memory as rx/tx buffers.
                Say N here if you want to reserve L1 memory for other uses.

                config BFIN_TX_DESC_NUM
                int "Number of transmit buffer packets"
                depends on BFIN_MAC
                range 6 10 if BFIN_MAC_USE_L1
                range 10 100
                default "10"
                help
                Set the number of buffer packets used in driver.

                config BFIN_RX_DESC_NUM
                int "Number of receive buffer packets"
                depends on BFIN_MAC
                range 20 100 if BFIN_MAC_USE_L1
                range 20 800
                default "20"
                help
                Set the number of buffer packets used in driver.

                config BFIN_MAC_USE_HWSTAMP
                bool "Use IEEE 1588 hwstamp"
                depends on BFIN_MAC && BF518
                default y
                help
                To support the IEEE 1588 Precision Time Protocol (PTP), select y here

                config SMC9194
                tristate "SMC 9194 support"
                depends on NET_VENDOR_SMC && (ISA || MAC && BROKEN || EMBEDDED)
                select CRC32
                ---help---
                This is support for the SMC9xxx based Ethernet cards. Choose this
                option if you have a DELL laptop with the docking station, or
                another SMC9192/9194 based chipset. Say Y if you want it compiled
                into the kernel, and read the file
                <file:Documentation/networking/smc9.txt> and the Ethernet-HOWTO,
                available from <https://tldp.org/docs.html#howto>.

                To compile this driver as a module, choose M here. The module
                will be called smc9194.

                config OPEN_ETH
                bool "Opencores (Igor) Emac support"
                help
                This is support for the opencores Igor emac driver implemented
                in an FPGA.

                config MTIP1000_ETH
                bool "MoreThanIP 10_100_1000 Emac support"
                help
                This is support for the MoreThanIP 10_100_1000 emac driver implemented
                in an FPGA.

                config SMC91X
                tristate "SMC 91C9x/91C1xxx support"
                select CRC32
                select MII
                depends on ARM || M32R || SUPERH || \
                MIPS || BLACKFIN || MN10300 || COLDFIRE
                help
                This is a driver for SMC's 91x series of Ethernet chipsets,
                including the SMC91C94 and the SMC91C111. Say Y if you want it
                compiled into the kernel, and read the file
                <file:Documentation/networking/smc9.txt> and the Ethernet-HOWTO,
                available from <https://tldp.org/docs.html#howto>.

                This driver is also available as a module ( = code which can be
                inserted in and removed from the running kernel whenever you want).
                The module will be called smc91x. If you want to compile it as a
                module, say M here and read <file:Documentation/kbuild/modules.txt>.

                config SMC91111
                tristate "SMC 91C1111 support"
                select CRC32
                select MII
                depends on ARM || M32R || SUPERH || \
                MIPS || BLACKFIN || MN10300 || COLDFIRE
                help
                This is a driver for SMC's 91x series of Ethernet chipsets,
                including the SMC91C111. Say Y if you want it
                compiled into the kernel.

                config PXA168_ETH
                tristate "Marvell pxa168 ethernet support"
                depends on CPU_PXA168
                select PHYLIB
                help
                This driver supports the pxa168 Ethernet ports.

                To compile this driver as a module, choose M here. The module
                will be called pxa168_eth.

                config NET_NETX
                tristate "NetX Ethernet support"
                select MII
                depends on ARCH_NETX
                help
                This is support for the Hilscher netX builtin Ethernet ports

                To compile this driver as a module, choose M here. The module
                will be called netx-eth.

                config TI_DAVINCI_EMAC
                tristate "TI DaVinci EMAC Support"
                depends on ARM && ( ARCH_DAVINCI || ARCH_OMAP3 )
                select TI_DAVINCI_MDIO
                select TI_DAVINCI_CPDMA
                select PHYLIB
                help
                This driver supports TI's DaVinci Ethernet .

                To compile this driver as a module, choose M here: the module
                will be called davinci_emac_driver. This is recommended.

                config TI_DAVINCI_MDIO
                tristate "TI DaVinci MDIO Support"
                depends on ARM && ( ARCH_DAVINCI || ARCH_OMAP3 )
                select PHYLIB
                help
                This driver supports TI's DaVinci MDIO module.

                To compile this driver as a module, choose M here: the module
                will be called davinci_mdio. This is recommended.

                config TI_DAVINCI_CPDMA
                tristate "TI DaVinci CPDMA Support"
                depends on ARM && ( ARCH_DAVINCI || ARCH_OMAP3 )
                help
                This driver supports TI's DaVinci CPDMA dma engine.

                To compile this driver as a module, choose M here: the module
                will be called davinci_cpdma. This is recommended.

                config DM9000
                tristate "DM9000 support"
                depends on ARM || BLACKFIN || MIPS || NIOS || NIOS2
                select CRC32
                select MII
                ---help---
                Support for DM9000 chipset.

                To compile this driver as a module, choose M here. The module
                will be called dm9000.

                config DM9000_DEBUGLEVEL
                int "DM9000 maximum debug level"
                depends on DM9000
                default 4
                help
                The maximum level of debugging code compiled into the DM9000
                driver.

                config DM9000_FORCE_SIMPLE_PHY_POLL
                bool "Force simple NSR based PHY polling"
                depends on DM9000
                ---help---
                This configuration forces the DM9000 to use the NSR's LinkStatus
                bit to determine if the link is up or down instead of the more
                costly MII PHY reads. Note, this will not work if the chip is
                operating with an external PHY.

                config DM9KS
                tristate "DM9000A with checksum offloading"
                depends on (ARM || MIPS || NIOS || NIOS2) && NET_ETHERNET
                select CRC32
                select MII
                ---help---
                Support for DM9000A chipset with checksum offloading. Factory driver.

                config ETH_KS8695
                tristate "KS8695 ethernet support"
                depends on ARCH_KS8695
                help
                Say 'Y' here to enable support for the Kendin-Micrel KS8695 internal
                ethernet ports.

                config ENC28J60
                tristate "ENC28J60 support"
                depends on EXPERIMENTAL && SPI && NET_ETHERNET
                select CRC32
                ---help---
                Support for the Microchip EN28J60 ethernet chip.

                To compile this driver as a module, choose M here. The module will be
                called enc28j60.

                config ENC28J60_WRITEVERIFY
                bool "Enable write verify"
                depends on ENC28J60
                ---help---
                Enable the verify after the buffer write useful for debugging purpose.
                If unsure, say N.

                config ETHOC
                tristate "OpenCores 10/100 Mbps Ethernet MAC support"
                depends on NET_ETHERNET && HAS_IOMEM && HAS_DMA
                select MII
                select PHYLIB
                select CRC32
                select BITREVERSE
                help
                Say Y here if you want to use the OpenCores 10/100 Mbps Ethernet MAC.

                config GRETH
                tristate "Aeroflex Gaisler GRETH Ethernet MAC support"
                depends on SPARC
                select PHYLIB
                select CRC32
                help
                Say Y here if you want to use the Aeroflex Gaisler GRETH Ethernet MAC.

                config SMC911X
                tristate "SMSC LAN911[5678] support"
                select CRC32
                select MII
                depends on ARM || SUPERH || MN10300 || NIOS || NIOS2
                help
                This is a driver for SMSC's LAN911x series of Ethernet chipsets
                including the new LAN9115, LAN9116, LAN9117, and LAN9118.
                Say Y if you want it compiled into the kernel,
                and read the Ethernet-HOWTO, available from
                <https://tldp.org/docs.html#howto>.

                This driver is also available as a module. The module will be
                called smc911x. If you want to compile it as a module, say M
                here and read <file:Documentation/kbuild/modules.txt>

                config SMSC911X
                tristate "SMSC LAN911x/LAN921x families embedded ethernet support"
                depends on ARM || SUPERH || BLACKFIN || MIPS || MN10300 || COLDFIRE
                select CRC32
                select MII
                select PHYLIB
                ---help---
                Say Y here if you want support for SMSC LAN911x and LAN921x families
                of ethernet controllers.

                To compile this driver as a module, choose M here and read
                <file:Documentation/networking/net-modules.txt>. The module
                will be called smsc911x.

                config SMSC911X_ARCH_HOOKS
                def_bool n
                depends on SMSC911X
                help
                If the arch enables this, it allows the arch to implement various
                hooks for more comprehensive interrupt control and also to override
                the source of the MAC address.

                config NET_VENDOR_RACAL
                bool "Racal-Interlan (Micom) NI cards"
                depends on ISA
                help
                If you have a network (Ethernet) card belonging to this class, such
                as the NI5010, NI5210 or NI6210, say Y and read the Ethernet-HOWTO,
                available from <https://tldp.org/docs.html#howto>.

                Note that the answer to this question doesn't directly affect the
                kernel: saying N will just cause the configurator to skip all
                the questions about NI cards. If you say Y, you will be asked for
                your specific card in the following questions.

                config NI5010
                tristate "NI5010 support (EXPERIMENTAL)"
                depends on NET_VENDOR_RACAL && ISA && EXPERIMENTAL && BROKEN_ON_SMP
                ---help---
                If you have a network (Ethernet) card of this type, say Y and read
                the Ethernet-HOWTO, available from
                <https://tldp.org/docs.html#howto>. Note that this is still
                experimental code.

                To compile this driver as a module, choose M here. The module
                will be called ni5010.

                config NI52
                tristate "NI5210 support"
                depends on NET_VENDOR_RACAL && ISA
                help
                If you have a network (Ethernet) card of this type, say Y and read
                the Ethernet-HOWTO, available from
                <https://tldp.org/docs.html#howto>.

                To compile this driver as a module, choose M here. The module
                will be called ni52.

                config NI65
                tristate "NI6510 support"
                depends on NET_VENDOR_RACAL && ISA && ISA_DMA_API
                help
                If you have a network (Ethernet) card of this type, say Y and read
                the Ethernet-HOWTO, available from
                <https://tldp.org/docs.html#howto>.

                To compile this driver as a module, choose M here. The module
                will be called ni65.

                config DNET
                tristate "Dave ethernet support (DNET)"
                depends on NET_ETHERNET && HAS_IOMEM
                select PHYLIB
                help
                The Dave ethernet interface (DNET) is found on Qong Board FPGA.
                Say Y to include support for the DNET chip.

                To compile this driver as a module, choose M here: the module
                will be called dnet.

                source "drivers/net/tulip/Kconfig"

                config AT1700
                tristate "AT1700/1720 support (EXPERIMENTAL)"
                depends on (ISA || MCA_LEGACY) && EXPERIMENTAL
                select CRC32
                ---help---
                If you have a network (Ethernet) card of this type, say Y and read
                the Ethernet-HOWTO, available from
                <https://tldp.org/docs.html#howto>.

                To compile this driver as a module, choose M here. The module
                will be called at1700.

                config DEPCA
                tristate "DEPCA, DE10x, DE200, DE201, DE202, DE422 support"
                depends on ISA || EISA || MCA
                select CRC32
                ---help---
                If you have a network (Ethernet) card of this type, say Y and read
                the Ethernet-HOWTO, available from
                <https://tldp.org/docs.html#howto> as well as
                <file:drivers/net/depca.c>.

                To compile this driver as a module, choose M here. The module
                will be called depca.

                config HP100
                tristate "HP 10/100VG PCLAN (ISA, EISA, PCI) support"
                depends on ISA || EISA || PCI
                help
                If you have a network (Ethernet) card of this type, say Y and read
                the Ethernet-HOWTO, available from
                <https://tldp.org/docs.html#howto>.

                To compile this driver as a module, choose M here. The module
                will be called hp100.

                config NET_ISA
                bool "Other ISA cards"
                depends on ISA
                ---help---
                If your network (Ethernet) card hasn't been mentioned yet and its
                bus system (that's the way the cards talks to the other components
                of your computer) is ISA (as opposed to EISA, VLB or PCI), say Y.
                Make sure you know the name of your card. Read the Ethernet-HOWTO,
                available from <https://tldp.org/docs.html#howto>.

                If unsure, say Y.

                Note that the answer to this question doesn't directly affect the
                kernel: saying N will just cause the configurator to skip all
                the remaining ISA network card questions. If you say Y, you will be
                asked for your specific card in the following questions.

                config E2100
                tristate "Cabletron E21xx support"
                depends on NET_ISA
                select CRC32
                help
                If you have a network (Ethernet) card of this type, say Y and read
                the Ethernet-HOWTO, available from
                <https://tldp.org/docs.html#howto>.

                To compile this driver as a module, choose M here. The module
                will be called e2100.

                config EWRK3
                tristate "EtherWORKS 3 (DE203, DE204, DE205) support"
                depends on NET_ISA
                select CRC32
                ---help---
                This driver supports the DE203, DE204 and DE205 network (Ethernet)
                cards. If this is for you, say Y and read
                <file:Documentation/networking/ewrk3.txt> in the kernel source as
                well as the Ethernet-HOWTO, available from
                <https://tldp.org/docs.html#howto>.

                To compile this driver as a module, choose M here. The module
                will be called ewrk3.

                config EEXPRESS
                tristate "EtherExpress 16 support"
                depends on NET_ISA
                ---help---
                If you have an EtherExpress16 network (Ethernet) card, say Y and
                read the Ethernet-HOWTO, available from
                <https://tldp.org/docs.html#howto>. Note that the Intel
                EtherExpress16 card used to be regarded as a very poor choice
                because the driver was very unreliable. We now have a new driver
                that should do better.

                To compile this driver as a module, choose M here. The module
                will be called eexpress.

                config EEXPRESS_PRO
                tristate "EtherExpressPro support/EtherExpress 10 (i82595) support"
                depends on NET_ISA
                ---help---
                If you have a network (Ethernet) card of this type, say Y. This
                driver supports Intel i82595{FX,TX} based boards. Note however
                that the EtherExpress PRO/100 Ethernet card has its own separate
                driver. Please read the Ethernet-HOWTO, available from
                <https://tldp.org/docs.html#howto>.

                To compile this driver as a module, choose M here. The module
                will be called eepro.

                config HPLAN_PLUS
                tristate "HP PCLAN+ (27247B and 27252A) support"
                depends on NET_ISA
                select CRC32
                help
                If you have a network (Ethernet) card of this type, say Y and read
                the Ethernet-HOWTO, available from
                <https://tldp.org/docs.html#howto>.

                To compile this driver as a module, choose M here. The module
                will be called hp-plus.

                config HPLAN
                tristate "HP PCLAN (27245 and other 27xxx series) support"
                depends on NET_ISA
                select CRC32
                help
                If you have a network (Ethernet) card of this type, say Y and read
                the Ethernet-HOWTO, available from
                <https://tldp.org/docs.html#howto>.

                To compile this driver as a module, choose M here. The module
                will be called hp.

                config LP486E
                tristate "LP486E on board Ethernet"
                depends on NET_ISA
                help
                Say Y here to support the 82596-based on-board Ethernet controller
                for the Panther motherboard, which is one of the two shipped in the
                Intel Professional Workstation.

                config ETH16I
                tristate "ICL EtherTeam 16i/32 support"
                depends on NET_ISA
                help
                If you have a network (Ethernet) card of this type, say Y and read
                the Ethernet-HOWTO, available from
                <https://tldp.org/docs.html#howto>.

                To compile this driver as a module, choose M here. The module
                will be called eth16i.

                config NE2000
                tristate "NE2000/NE1000 support"
                depends on NET_ISA || (Q40 && m) || M32R || MACH_TX49XX || M68K
                select CRC32
                ---help---
                If you have a network (Ethernet) card of this type, say Y and read
                the Ethernet-HOWTO, available from
                <https://tldp.org/docs.html#howto>. Many Ethernet cards
                without a specific driver are compatible with NE2000.

                If you have a PCI NE2000 card however, say N here and Y to "PCI
                NE2000 and clone support" under "EISA, VLB, PCI and on board
                controllers" below. If you have a NE2000 card and are running on
                an MCA system (a bus system used on some IBM PS/2 computers and
                laptops), say N here and Y to "NE/2 (ne2000 MCA version) support",
                below.

                To compile this driver as a module, choose M here. The module
                will be called ne.

                config ZNET
                tristate "Zenith Z-Note support (EXPERIMENTAL)"
                depends on NET_ISA && EXPERIMENTAL && ISA_DMA_API
                help
                The Zenith Z-Note notebook computer has a built-in network
                (Ethernet) card, and this is the Linux driver for it. Note that the
                IBM Thinkpad 300 is compatible with the Z-Note and is also supported
                by this driver. Read the Ethernet-HOWTO, available from
                <https://tldp.org/docs.html#howto>.

                config SEEQ8005
                tristate "SEEQ8005 support (EXPERIMENTAL)"
                depends on NET_ISA && EXPERIMENTAL
                help
                This is a driver for the SEEQ 8005 network (Ethernet) card. If this
                is for you, read the Ethernet-HOWTO, available from
                <https://tldp.org/docs.html#howto>.

                To compile this driver as a module, choose M here. The module
                will be called seeq8005.

                config NE2_MCA
                tristate "NE/2 (ne2000 MCA version) support"
                depends on MCA_LEGACY
                select CRC32
                help
                If you have a network (Ethernet) card of this type, say Y and read
                the Ethernet-HOWTO, available from
                <https://tldp.org/docs.html#howto>.

                To compile this driver as a module, choose M here. The module
                will be called ne2.

                config IBMLANA
                tristate "IBM LAN Adapter/A support"
                depends on MCA
                ---help---
                This is a Micro Channel Ethernet adapter. You need to set
                CONFIG_MCA to use this driver. It is both available as an in-kernel
                driver and as a module.

                To compile this driver as a module, choose M here. The only
                currently supported card is the IBM LAN Adapter/A for Ethernet. It
                will both support 16K and 32K memory windows, however a 32K window
                gives a better security against packet losses. Usage of multiple
                boards with this driver should be possible, but has not been tested
                up to now due to lack of hardware.

                config IBMVETH
                tristate "IBM LAN Virtual Ethernet support"
                depends on PPC_PSERIES
                ---help---
                This driver supports virtual ethernet adapters on newer IBM iSeries
                and pSeries systems.

                To compile this driver as a module, choose M here. The module will
                be called ibmveth.

                source "drivers/net/ibm_newemac/Kconfig"

                config NET_PCI
                bool "EISA, VLB, PCI and on board controllers"
                depends on ISA || EISA || PCI || EMBEDDED
                help
                This is another class of network cards which attach directly to the
                bus. If you have one of those, say Y and read the Ethernet-HOWTO,
                available from <https://tldp.org/docs.html#howto>.

                Note that the answer to this question doesn't directly affect the
                kernel: saying N will just cause the configurator to skip all
                the questions about this class of network cards. If you say Y, you
                will be asked for your specific card in the following questions. If
                you are unsure, say Y.

                config PCNET32
                tristate "AMD PCnet32 PCI support"
                depends on NET_PCI && PCI
                select CRC32
                select MII
                help
                If you have a PCnet32 or PCnetPCI based network (Ethernet) card,
                answer Y here and read the Ethernet-HOWTO, available from
                <https://tldp.org/docs.html#howto>.

                To compile this driver as a module, choose M here. The module
                will be called pcnet32.

                config AMD8111_ETH
                tristate "AMD 8111 (new PCI lance) support"
                depends on NET_PCI && PCI
                select CRC32
                select MII
                help
                If you have an AMD 8111-based PCI lance ethernet card,
                answer Y here and read the Ethernet-HOWTO, available from
                <https://tldp.org/docs.html#howto>.

                To compile this driver as a module, choose M here. The module
                will be called amd8111e.
            2. si tu veux lancer la cross-compile pour tester, il te faudra ces outils la:http://www.uclinux.org/pub/uClinux/m68k-elf-tools/
              1. Modérateur
                Bon je crois que ce sera plus simple si je récupère les sources de noyau que tu utilises. Peux-tu me donner le lien vers l'archive (ou le paquet) que tu utilises ?
                1. Modérateur
                  effectivement, c'est ce que j'ai voulu te faire voir en ajoutant ce fichier.J'ai mentionné plus haut que ce fichier est inclus dans la source smc91111.c

                  Oui c'est normal (toujours par rapport à la mécanique du C) donc ça n'apporte pas d'information.
                  1. Modérateur
                    Ici malheureusement ce fichier n'apporte pas beaucoup d'information, car il est destiné à être inclu par un autre fichier. Le test

                    #ifndef _SMC91111_H_
                    #define _SMC91111_H_ 
                    
                    ...
                    
                    #endif


                    ... ne sert qu'à inclure ce header une fois (cf cours de C) et donc ne nous concerne pas dans la recherche des constantes à activer. C'est la raison pour laquelle
                    - ce header n'apporte pas d'information
                    - tu dois te concentrer uniquement sur les lignes mettant en jeu une constante CONFIG_...

                    Pour qu'on puisse avancer, il faudrait que tu trouves le headers qui inclue le fichier smc91111.h.

                    grep -nr smc91111.h /usr/src/linux | grep "#include"


                    Une fois que tu l'as trouvé, regarde quels sont les constantes #CONFIG_... qui doivent être activées pour déclencher l'inclusion.

                    Ensuite, voilà ce que tu dois garder en tête :
                    1) Tu ne dois pas modifier les sources
                    2) Tu dois localiser la/les constante(s) CONFIG_... qui permet(tront) de traverser le(s) test(s) #ifndef et d'inclure le header que tu m'as reporté.
                    3) Une fois que tu as localisé ces constantes, note les et va dans make menuconfig pour les activer. Je te rappelle au passage que kernel.org t'aidera à retrouver quelles dépendances activer si elles n'apparaissent pas.

                    Bonne chance
                    1. Modérateur
                      Si le pilote de ta carte est dans smc91111.c c'est sur lui que tu dois te focaliser. Il faut relever les constantes CONFIG_... et chercher sur kernel.org comment les activer.

                      Par exemple ici :
                      http://www.koders.com/c/fid6C119246EAE250D0740366CA543C75D90E898055.aspx

                      ... il semblerait que ce soit la constante CONFIG_DRIVER_SMC91111.

                      Si on regarde ici :

                      http://www.kernel.org/pub//scm/linux/kernel/git/jejb/storage-tree/drivers/net/smc91x.h

                      #elif defined(CONFIG_MN10300)
                      
                      /*
                       * MN10300/AM33 configuration
                       */
                      
                      #include <unit/smc91111.h>
                      
                      ...


                      ... il faut que CONFIG_MN10300 etc... Bref il faut que tu remontes le fil comme ça pour en déduire quoi activer dans make menuconfig. Une fois le make menuconfig effectué il faut que ces constantes apparaissent dans /usr/src/linux/.config.

                      Le problème c'est que je ne sais pas avec quelles sources de noyau tu travailles donc c'est un peu compliqué pour moi. En tout cas ne commence pas à charcuter les sources elles-mêmes, normalement tu n'as pas à le faire. Il faut juste trouver la bonne combinaison de constantes...

                      Bonne chance
                      1. Modérateur
                        J'ai rajouté la dépendance COLDFIRE à la config du smsc911x car ma carte est de type coldfire. chose positive, c'est que je le retrouve à présent dans les menu du net lorsque je fait mon make xconfig ou menuconfig.

                        Ok donc c'était bien pour ça que ta carte n'était pas supportée et que tu ne trouvais rien à l'époque dans make menuconfig. Parfait on avance :-)

                        drivers/net/smsc911x.c:222: erreur: implicit declaration of function 'readsl'
                        make[3]: *** [drivers/net/smsc911x.o] Erreur 1
                        make[2]: *** [drivers/net] Erreur 2
                        make[1]: *** [drivers] Erreur 2


                        Quand tu as une erreur comme ça, il faut la copier coller dans google. Je ne sais pas si tu sais programmer en C, mais si c'est le cas ça peut aider à trouver soi-même la cause de l'erreur.

                        J'ai essayé de faire un "man readsl" après avoir installé manpages-fr-dev et manpages-fr-extra, et je n'ai rien trouvé. Ça laisse penser que cette fonction est implémentée dans les sources de noyau. Tu dois pouvoir la retrouver avec la commande :

                        grep -nr readsl /usr/src/linux


                        Ce qui nous intéresse c'est le fichier ".h" qui la déclare. Il faudra ensuite comprendre pourquoi il n'a pas été inclu, sans doute encore une fois parce qu'une constante n'est pas activée dans un #ifndef...

                        Dans ce cas, c'est probablement encore quelque chose qui n'est pas coché dans make menuconfig. Ceci dit, ce n'est pas sensé arrivé justement grâce au système de dépendance dont tu as été victime au début. C'est bizarre tout ça...

                        J'ai été voir le fichier source smsc911x.c. Je me suis rendu compte que ce driver n'est pas compatible avec LAN91C111 (le nom de ma carte)

                        Par rapport au nom de cartes, parfois il arrive que tous les modèles ne soient pas référencés, mais effectivement c'est bizarre.

                        Essaye de voir à coup de grep dans les sources quel fichier ".c" parle de ta carte, par exemple avec une commande du genre.

                        grep -nr C111 /usr/src/linux


                        Tu devrais voir dans le début de ce fichier une histoire de constante "CONFIG_...". Ensuite, cherche sur google "site:www.kernel.org CONFIG_..." pour avoir plus d'informations.

                        Tu vas tomber sur une page dans le genre de celle que je t'ai donné pour retrouver les éventuelles dépendances manquantes.

                        Ensuite, make menuconfig, bref tu commences à connaître la musique...
                        1. Modérateur
                          Il y a normalement une case dans le menu Net puis dans une des trois rubriques Ethernet pour l'activer.

                          Il se peut qu'il y ait une dépendance non satisfaite qui masque cette entrée dans make menuconfig. Les dépendances sont référencées sur kernel.org.

                          https://cateee.net/lkddb/web-lkddb/SMSC911X.html

                          CONFIG_ARM || CONFIG_SUPERH || CONFIG_BLACKFIN || CONFIG_MIPS || CONFIG_MN10300

                          À terme, ceci produit "smsc911x.ko".
                          1. Modérateur
                            A priori si on regarde les sources d'un noyau, genre ici :
                            http://www.google.com/...
                            http://www.google.com/...

                            ... le driver est codé dans smc91x.{c,h}. J'ai cherché vite fait le flag qui est sensé correspondre et c'est apparemment "CONFIG_SMSC911X ".
                            http://www.kernel.org/pub/linux/kernel/people/agk/patches/2.6/editing/git-update11.patch

                            Après avoir fait ton "make menuconfig", et en admettant que tes sources de noyau soient dans /usr/src/linux, que donne la commande

                            grep SMSC911 /usr/src/linux/.config


                            Normalement tu devrais voir des lignes apparaître :
                            - si elle commence par un # (et finit par "is not set") la carte n'est pas prise en charge
                            - si elle finit par M le pilote est stocké dans un module dédié (fichier .ko)
                            - si elle finit par Y le pilote est stocké dans le noyau lui même

                            Bonne chance
                              1. Je ne trouve pas grand chose Eric. On me renvoi sur le site de 5 constructeurs.
                                besoin d'aide stp!
                              2. tu ne connais pas la Marque?car ce que tu marques c'est une référence
                                Eric
                              3. j'uttilise une carte Uclinux de chez Freescale et le contrôleur Ethernet intégré est un LAN91C111 de chez SMSC
                              4. je vais chercher
                                Eric
                              5. merci, je fais pareil de mon coté!