Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 05/07/2006, à 13:19

derek

[Resolu] C

Bonjour a tous,

j'ai installer la derniere version de ubuntu hier soir, et j'ai quelques soucis concernant l'installation de ma carte réseau !

J'ai les drivers linux de celle ci sur une disquette, mais voila dans ce dossier de drivers, j'ai un Makefile, plusieurs fichiers .o et 2 fichiers .c (aparement 2 versions différentes selon le kernel).

Une personne m'a dit qu'aparement il faudrais compiler le .c correspondant a mon kernel (j'ai trouvé lequel !)
Maintenant je ne sais pas comment compiler ce dit fichier. :s

Je vous remercie d'avance wink

Dernière modification par derek (Le 06/07/2006, à 20:02)

Hors ligne

#2 Le 05/07/2006, à 13:31

Donk

Re : [Resolu] C

Normalement avec tes fichiers il doit y avoir un fichier README ou INSTALL qui contient les instruction à suivre

Hors ligne

#3 Le 05/07/2006, à 13:54

derek

Re : [Resolu] C

Oui, il y a un readme, mais je n'y comprend rien :s

DAVICOM Semiconductor Inc.                04/20/2001

        A Davicom DM9009/DM9102/DM9102A/DM9102A+DM9801(HomeRun)/
        DM9102A+DM9802(LongRun) NIC fast ethernet driver for Linux.
        Copyright (C) 1997  Sten Wang

        This program is free software; you can redistribute it and/or
        modify it under the terms of the GNU General Public License
        as published by the Free Software Foundation; either version 2
        of the License, or (at your option) any later version.

        This program is distributed in the hope that it will be useful,
        but WITHOUT ANY WARRANTY; without even the implied warranty of
        MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
        GNU General Public License for more details.

    Now dmfe.c is for kernel 2.2.x and dm9xs.c is for kernel 2.4.x.
    If you use kernel 2.4.x, please use dm9xs.c to instead dmfe.c on
    the following.

  A. Compiler command:

     A-1: For normal single processor kernel
          "gcc -DMODULE -D__KERNEL__ -I/usr/src/linux/net/inet -Wall
            -Wstrict-prototypes -O6 -c dmfe.c"

     A-2: For single processor and set version info on all module symbol
          "gcc -DMODULE -DMODVERSIONS -D__KERNEL__ -I/usr/src/linux/net/inet
            -Wall -Wstrict-prototypes -O6 -c dmfe.c"

     A-3: For multiple processors(SMP) and set ver. info. on all module symbol
          "gcc -D__SMP__ -DMODULE -DMODVERSIONS -D__KERNEL__ -I/usr/src/linux
           /net/inet -Wall -Wstrict-prototypes -O6 -c dmfe.c"

    Note: O of -O6 is a capital "o", not a "0".
        

  B. How to compile driver
 
     B-1: Login by supervisor
     B-2: Copy dmfe.c and Makefile into your HD. You can make a new directoty
          to put.
     B-3: Keep driver source file name as "dmfe.c" and makefile name as
      "Makefile"
     B-4: You can type the following command to compile driver. Please according
           to your system to pick one.
             make org    ;;Without SMP & Set version info on module
                ;;<For example> Redhat6.0
             make mod    ;;Set version info on all module symbol
                ;;<For example> Redhat6.1/6.2,
                ;;        Mandrake6.1/7.0/7.1,
                ;;        Caldera2.3
             make smp    ;;symmetric multi-processing(SMP) support
                ;;
             make smp_mod    ;;SMP & Set version info on module
                ;;
        make org24    ;;Compiled dm9xs.c
        make mod24    ;;Compiled dm9xs.c
        make smp24    ;;Compiled dm9xs.c
        make smp_mod24    ;;Compiled dm9xs.c
        
           Or you can type above compiler command to compile driver.
            
         Note: Please check you must have the right kernel source on
               "/usr/src/linux".


  C. The following steps teach you how to activate NIC:

     C-1: A simple and temporary method
     
        1. Used the upper compiler command to compile dmfe.c

        2. Insert dmfe module into kernel
           "insmod dmfe"        ;;Auto Detection Mode (Suggest)
           "insmod dmfe mode=0" ;;Force 10M Half Duplex
           "insmod dmfe mode=1" ;;Force 100M Half Duplex
           "insmod dmfe mode=4" ;;Force 10M Full Duplex
           "insmod dmfe mode=5" ;;Force 100M Full Duplex
           "insmod dmfe mode=0x10" ;;Force 1M HomePNA
           "insmod dmfe SF_mode=1" ;;VLAN Enable
           "insmod dmfe SF_mode=2" ;;Flow Control Enable
           "insmod dmfe SF_mode=4" ;;TX Pause Packet Enable

       NOTE:1. SF_mode can be a combination of 3 special mode.
        2. You can type "man insmod" to see more description.

        3. Config a dm9102 network interface
           "ifconfig eth0 172.22.3.18"
                          ^^^^^^^^^^^ Your IP address

       NOTE: You can type "man ifconfig" to see more description.

        4. Activate the IP routing table. For some distributions, it is not
           necessary. You can type "route" to check.

           "route add default netmask 255.255.255.0 eth0"

       NOTE: You can type "man route" to see more description.


        5. Well done. Your DM9102 adapter actived now.

    Note. This is a temporary method. After you reboot the system, you
          will lost the setting.


     C-2: For Mandrake/Redhat, You can use the following to Activate NIC
   
    1. login your system used the superuser
    2. (Mandrake7.0)
           rename dmfe_m70.o to dmfe.o and copy dmfe.o into
          /lib/modules/2.2.14-15mdk/net to overwrite the old dmfe.o.
       or(Mandrake6.1)
           rename dmfe_m61.o to dmfe.o and copy dmfe.o into
          /lib/modules/2.2.13-7mdk/net to overwrite the old dmfe.o.
       or(RedHat6.2)
           rename dmfe_r62.o to dmfe.o and copy dmfe.o into
          /lib/modules/2.2.14-5.0/net to overwrite the old dmfe.o.
          or(RedHat6.1)
           rename dmfe_r61.o to dmfe.o and copy dmfe.o into
          /lib/modules/2.2.12-20/net to overwrite the old dmfe.o.
       or(RedHat6.0)
           rename dmfe_r60.o to dmfe.o and copy dmfe.o into
          /lib/modules/2.2.5-15/net to overwrite the old dmfe.o.
   
    3. execute "linuxconf".
    4. Then select Config->Networking->Client tasks ->Basic host information
    5. Fill your IP address, netmask,
       net device = eth0
       kernel module = dmfe
    6. press <Accept> to confirm and exit this setting
    7. press <quit> exit the main menu
    8. Now it displays "Status of the system" menu. Select <Activate the
       changes> to active the new setting and exit.
    9. reboot your system and kernel will automatically load driver and
       active network.
    10. try to ping other host to test your NIC.


     C-3: For Caldera or others, You can use the following to Activate NIC
      permanently. Please try C-1 firstly. After your NIC works on C-1
      method, you do the following to active NIC permanently.
      
    1. copy dmfe.o to your kernel network module directory
       <eg>
        for Caldera 2.3:
            cp dmfe.o /lib/modules/2.2.10/net

    2. put C-1 manual command into file "/etc/rc.d/rc.local" or
       "/etc/rc.d/rc.inet1".
       <eg>
        for Caldera 2.3:
            add the following 3 line into rc.local
            insmod /lib/modules/2.2.10/net/dmfe.o
            ifconfig xxx.xxx.xxx.xxx netmask 255.255.255.0 eth0
            route add default eth0

    3. reboot your system



   D. Object files description:

    dmfe_r70.o:        For Redhat 7.0, Kernel 2.2.16-22
        dmfe_r62.o:        For Redhat 6.2, kernel version 2.2.14-5.0
    dmfer61c.o:        For Redhat 6.1+CLE0.8, kernel 2.2.12-20
    dmfe_r60.o:        For Redhat 6.0, Kernel 2.2.5-15

    dmfe_m71.o:        For Mandrake 7.1, kernel 2.2.15-4mdk
    dmfe_m70.o:        For Mandrake 7.0, Kernel 2.2.14-15mdk
    dmfe_m61.o:        For Mandrake 6.1, Kernel 2.2.13-7mdk

    dmfe_c23.o:        For Caldera 2.3, kernel 2.2.10

    dmfe2217.o:        For Kernel 2.2.17. Without SMP and
                did not set version on kernel module.
    dmfe2218.o:        For Kernel 2.2.18. Without SMP and
                did not set version on kernel module.
    dm9xs241.o:        For Kernel 2.4.1. Without SMP and
                did not set version on kernel module.
    dm9xs242.o:        For Kernel 2.4.2. Without SMP and
                did not set version on kernel module.
    dm9xs243.o:        For Kernel 2.4.3. Without SMP and
                did not set version on kernel module.
   
   

        If you can make sure your kernel version, you can rename
        to dmfe.o and directly use it without re-compiling.



  DAVICOM Web-Site: www.davicom.com.tw

  Author: Sten Wang, 886-3-5798797-8517, E-mail: sten_wang@davicom.com.tw

Hors ligne

#4 Le 05/07/2006, à 14:07

SamheG

Re : [Resolu] C

Pour le compiler, comme c'est dit dans le README, il faut :
1. Télécharger les sources de ton kernel
2. Dans un terminal, tu "cd" jusqu'au répertoire contenant le fichier .c à compiler
3. Je suppose que tu as un kernel 2.4 donc tu tapes : make org24 ou make mod24
Si tu as un proc dualcore, tu tapes : make smp24 ou make smp_mod24

Edit : Pour connaître la version de ton kernel, dans un terminal tu tapes :
`uname -r`

Dernière modification par SamheG (Le 05/07/2006, à 14:09)

Hors ligne

#5 Le 05/07/2006, à 14:17

derek

Re : [Resolu] C

Merci de cette réponse on ne peut plus claire ;p

Hors ligne

#6 Le 05/07/2006, à 14:25

derek

Re : [Resolu] C

Et merde !
Mon kernel est en 2.6 donc si je comprend bien, ma seule solution est de trouver les nouveaux drivers ??

Hors ligne

#7 Le 05/07/2006, à 17:04

derek

Re : [Resolu] C

j'ai telecharger les bons drivers pour un kernel en 2.6, j'ai fais comme le diais le readme



<B. Building and Installation>
     B-1: Login by supervisor

     B-2: Untar/unzip archive:
      tar -zxvf dmfe_x.x.tar.gz
     
     B-3: Change to the directory
      cd dmfe_x.x

     B-4: You can type the following command to compile driver.
        make
        
         Note: Please check you must have the right kernel source on
               "/usr/src/linux-version" or "/lib/modules/linux-version".


  <C. The following steps teach you how to activate NIC>

     C-1: A simple and temporary method
     
        1. Used the upper compiler command to compile dmfe.c

        2. Insert dmfe module into kernel
           "insmod dmfe.ko"               ;;Auto Detection Mode (Suggest)
           "insmod dmfe.ko mode=0"        ;;Force 10M Half Duplex
           "insmod dmfe.ko mode=1"        ;;Force 100M Half Duplex
           "insmod dmfe.ko mode=4"        ;;Force 10M Full Duplex
           "insmod dmfe.ko mode=5"        ;;Force 100M Full Duplex
           "insmod dmfe.ko SF_mode=1"     ;;VLAN Enable
           "insmod dmfe.ko SF_mode=2"     ;;Flow Control Enable
           "insmod dmfe.ko SF_mode=4"     ;;TX Pause Packet Enable
       "insmod dmfe.ko CHECKSUM=1"     ;;Enable checksum offload(DM9102D only)
      
       NOTE: You can type "man insmod" to see more description.

        3. Config a DM9102x network interface
           "ifconfig eth0 192.168.0.1"
                          ^^^^^^^^^^^ Your IP address

       NOTE: You can type "man ifconfig" to see more description.

        4. Activate the IP routing table. For some distributions, it is not
           necessary. You can type "route" to check.

           "route add default netmask 255.255.255.0 eth0"

       NOTE: You can type "man route" to see more description.


        5. Well done. Your DM9102 adapter actived now.

    Note. This is a temporary method. After you reboot the system, you
          will lost the setting.


     C-2:You can use the following to Activate NIC
   
    1. login your system used the superuser
    2. copy dmfe.ko into
          /lib/modules/<kernel-version>/kernel/driver/net/tulip
        to overwrite the old dmfe.ko.
    3. execute "netconfig".
    4. Fill your IP address, netmask, default gateway,
       and primary nameserver.
    5. press <OK> to confirm and exit this setting
    6. start or restart your NIC
       press command "service network start(/restart)"


  DAVICOM Web-Site: www.davicom.com.tw

mais voila quand je fais le make, un message d'erreur me dis que le chemin spécifié n'existe pas, et en modifiant celui ci, vers un chemin existant, il me dis ensuite que rien n'est spécifié pour modules :s

je ne comprend vraiment plus rien :s

Hors ligne

#8 Le 06/07/2006, à 02:12

SamheG

Re : [Resolu] C

1. Concernant ton terminal : es-tu dans le répertoire qui contient le fichier que tu veux compiler ?
2. As-tu téléchargé les sources de ton kernel ?
3. Essaie de télécharger le "linux-restricted-modules" correspondant à ton noyau ?
4. Vérifie également que tu as installé build-essential, xlibs-dev (et éventuellement kdelibs et kdelibs4-dev si tu es sous KDE). Ils te seront nécessaires pour toute compilation !
5. Si tu as toujours des messages d'erreurs, donne nous ta configuration ainsi que les messages d'erreurs tels que la Konsole te les renvoie
6. Bonne chance wink

Hors ligne

#9 Le 06/07/2006, à 12:01

derek

Re : [Resolu] C

1) oui je suis bien dans le bon rep
2) j'ai aparement mal interprété "telecharger les sources du kernel, donc si tu pouvais m'éclairer sur ce point la big_smile)
3) c'est dans le cd d'install sa, je me trompe ?
4) build-essential c'est sur que je l'ai les autres c'est a revérifier roll

merci beaucoup pour ta patiente tongue

Hors ligne

#10 Le 06/07/2006, à 16:30

SamheG

Re : [Resolu] C

Pour les sources du noyau, va voir ici

Pour "linux-restricted-modules" regarde dans Synaptic (ou Adept)

Dernière modification par SamheG (Le 06/07/2006, à 16:31)

Hors ligne

#11 Le 06/07/2006, à 18:04

derek

Re : [Resolu] C

merci beaucoup, j'ai enfin réussi a installer cette ****** de carte réseau !

Maintenant, reste plus qu'a le configurer ce réseau, (c'est pas une mince affaire tongue):rolleyes:

Hors ligne

#12 Le 06/07/2006, à 20:02

derek

Re : [Resolu] C

bon bein voila, tout est configuré, reste tjs un problème, mais qui aparement vient d'ailleur, j'ai qqn qui me corrigera sa demain ou samedi, merci a vous wink:D

Hors ligne

#13 Le 07/07/2006, à 04:08

SamheG

Re : [Resolu] C

Content que tu ais pu résoudre ton problème ! big_smile

Hors ligne