Find the answer to your Linux question:
Page 1 of 2 1 2 LastLast
Results 1 to 10 of 11
I have a NIC that is compatible with linux but its not detected. So I must install the drivers manually by decompiling the driver. anyway I do this and I ...
Enjoy an ad free experience by logging in. Not a member yet? Register.
  1. #1
    Just Joined!
    Join Date
    Mar 2004
    Posts
    8

    NIC Driver Install in RedHat9


    I have a NIC that is compatible with linux but its not detected. So I must install the drivers manually by decompiling the driver. anyway I do this and I keep getting errors, then in the next step it tells me to activate it via linuxconf which I hear is not included in redhat9 only in previous distro's.

    So does anyone know how I can install the drivers for this card?

  2. #2
    Linux Guru
    Join Date
    Apr 2003
    Location
    London, UK
    Posts
    3,284
    what card is it?

    most cards will have a module you can "modprobe" which loads it into the kernel.

    I normally google for <name of network card> followed by modprobe, to find out the name of the module.

    Of course, this does not work in all cases, but is the first thing to try.

    Jason

  3. #3
    Linux Newbie
    Join Date
    Feb 2004
    Location
    India
    Posts
    132
    Hi,
    This lancard issue is very irritating in redhat. Have you tried redhat-config-network ?
    Try removing all network devices through it, remove /etc/sysconfig/hwconf ,/etc/modules.conf, /etc/modprobe.conf and then run kudzu. This has helped me a lot and should help you also.
    Tell me more
    --anand
    You are the one Linux!

  4. $spacer_open
    $spacer_close
  5. #4
    Just Joined!
    Join Date
    Mar 2004
    Posts
    8
    how do u run kudzu. ive tried modprobe. and i cant remove anything cause the card is undetected.

    the modem is an archteck and it is compatible with linux.

  6. #5
    Linux Guru
    Join Date
    Oct 2001
    Location
    Täby, Sweden
    Posts
    7,578
    Can you post the output of the command /sbin/lspci?

  7. #6
    Linux Newbie
    Join Date
    Feb 2004
    Location
    India
    Posts
    132
    Just asking - does "cat /proc/pci" give all the result as /sbin/lspci Dolda2000 ?
    You can run kudzu (as root) from command line; if you see your card/modem(you said modem once) in o/p of /sbin/lspci or cat /proc/pci.
    Kudzu should auto detect the new hardware.fingers crossed
    You are the one Linux!

  8. #7
    Linux Guru
    Join Date
    Oct 2001
    Location
    Täby, Sweden
    Posts
    7,578
    /proc/pci is an obsolete interface. In the 2.6 kernel, you can choose not to even compile it. I didn't. lspci is the preferred way to fetch PCI info these days. It uses the /proc/bus/pci tree. lspci can actually give more info than /proc/pci could, if you add enough -v options to it.

  9. #8
    Just Joined!
    Join Date
    Mar 2004
    Posts
    8
    Ok when I do lspci my card shows up there

    >00:0a.0 Ethernet Controller: Davicom Semiconductor Ethernet 100/10 MBit

    >00:09.0 Network Controller: Texas Instruments ACX 100 22mbps Wireless Interface (this is my wireless card. im not using this)


    Ok then I run kudzu and my computer starts acting up, i cant control the mouse or go to next when kudzu appears.

  10. #9
    Just Joined!
    Join Date
    Mar 2004
    Posts
    8
    Oh ya, what do I have to change again to make redhat boot into text interface instead of gui. maybee i can try kudzu that way instead of from the gui.

    Also should I copy the driver to any location before running kudzu. Below are the instructions for my card, any help will be greatly appreciated cause Ive had my apache server down for a week now.

    Another thing, when I go to hardware browser my card is shown there.


    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.

  11. #10
    Linux Newbie
    Join Date
    Feb 2004
    Location
    India
    Posts
    132
    Quote Originally Posted by Dolda2000
    /proc/pci is an obsolete interface. In the 2.6 kernel, you can choose not to even compile it. I didn't. lspci is the preferred way to fetch PCI info these days. It uses the /proc/bus/pci tree. lspci can actually give more info than /proc/pci could, if you add enough -v options to it.
    Thanks
    You are the one Linux!

Page 1 of 2 1 2 LastLast

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •