[PLUTO-help] scheda di rete

rent0n rent0n a email.it
Ven 21 Nov 2003 21:02:27 CET


rent0n ha scritto:
>Il problema è che non so da dove partire per installare la scheda di rete di 
>modo da avere un collegamento a internet funzionante...
Ciao a tutti,
sono lieto di comunicarvi che dopo alcuni giorni di tentativi, sto 
*impazzendo*.
Allora faccio il punto della situazione nella speranza che qualcuno riesca ad 
aiutarmi...=)
Distribuzione: Debian 3.0 r1
Scheda di rete: D-Link 10/100 Mbps Fast Ethernet Pci Adapter DFE-538TX
Durante l'installazione di Debain, con la scheda collegata *non* la riconosce 
in automatico, *non* la riconosce in "Configure PCMCIA", *non* la riconosce 
in "Configure Network".
Ho allora deciso di seguire l'installazione che propone nel cd coi driver. Per 
Linux c'è un Readme abbastanza criptico, un Malefile e un sorgente C 
rtl8139.c
Dal Readme:
"step 1: copy the driver rtl8139.c from driver diskette to you linux.


  step 2: compile:
          The instruction for compiling the driver is include at the end of
          the driver file. 
#Ecco, queste sono le ultime righe del driver file:
#/*
# * Local variables:
#*  compile-command: "gcc -DMODULE -D__KERNEL__ -Wall -Wstrict-prototypes -O6 
#-c rtl8139.c `[ -f /usr/include/linux/modversions.h ] && echo 
#-DMODVERSIONS`"
# *  SMP-compile-command: "gcc -D__SMP__ -DMODULE -D__KERNEL__ -Wall 
#-Wstrict-prototypes -O6 -c rtl8139.c `[ -f /usr/include/linux/modversions.h 
#] && echo -DMODVERSIONS`"
# *  cardbus-compile-command: "gcc -DCARDBUS -DMODULE -D__KERNEL__ -Wall 
#-Wstrict-prototypes -O6 -c rtl8139.c -o realtek_cb.o 
#-I/usr/src/linux/pcmcia-cs-3.0.9/include/"
# *  c-indent-level: 4
#*  c-basic-offset: 4
# *  tab-width: 4
# * End:
# */
(run this instruction at /usr/src/linux)
		  Or you can use the Makefile included in the driver diskette \Linux.

  step 3: insert the driver as module:
           insmod rtl8139.o
          (run 'lsmod' to see if the module is inserted)

  step 4: bind your card to an IP address

          /sbin/ifconfig eth0 ${IPADDR} broadcast ${BROADCAST}
          netmask ${NETMASK}
          (run 'netstat -i' to see if there is a interface 'eth0')

  step 5: add your card to IP routing table, then add gateway also your card:
          /sbin/route add -net ${NETWORK} netmask ${NETMASK} eth0
           (should be able to ping local network now)
          gateway:
          /sbin/route add default gw ${GATEWAY} netmask 0.0.0.0 metric 1

  step 6: start inet deamon.
          /usr/sbin/inetd
          (you are on the network now)

  *make sure that your kernel is built with network, fast_ethernet and module
   support. Otherwise, you have to rebuild your kernel.
        (1:go to /usr/src/linux directory
         2:run 'make menuconfig' or 'make config'
         3:mark the options list above.
         4:exit and rebuild your kernel.
            make dep;make clean;make zImage
           the file 'zImage' will be at /usr/src/linux/arch/i386/boot/zImage
         5:modify /etc/lilo.conf.(this file specify where kernel image is)
         6:run 'lilo'  )

  You can run 'netconfig' which will do step 4,5,6 for you.
  Then just add a line at the beginning of '/etc/rc.d/init.d/network'.
        'insmod /your driver path/rtl8139.o'

  then your driver will work every time you boot."
Quindi io eseguo le istruzioni per compilare il file.c con gcc.Ma ovviamente 
non me lo compila, tanto per cominciare non esiste nessun modversion.h 
(nonostante abbia installato i pacchetti kernel-source e kernel-package) e 
poi comincia a dare una serie di errori del tipo "Dereferencing pointer to 
incomplete type".
se provo a caricare il modulo rtl8139.o con insmod o modprobe mi dice o che 
non lo trova(comprensibile) o: 
"init_module:device or resourse busy
Hint: Insmod errors can be caused by incorrect module parameteters, including 
invalid I/O or IRQ parametrets"
che è lo stesso messaggio che da a *ogni* avvio quando cerca di caricare il 
module /lib/modules/2.2.20/pcmcia/i82365.o
Nel Readme a un certo punto dice che si potrebbe anche usare il Makefile.Mi 
chiedo i che modo.E' un file eseguibile ma se lo eseguo mi da tutta una serie 
di errori sui comandi che non conosce come ad esempio CC:unknow command
LD:Unknow command, quando nel file è chiaro che CC0gcc e LD=ld.
Allego anche il Makefile per farvi capire meglio:
"
#
# Makefile for the Linux RTL8139 device driver, v1.0.
#
# To create a debuggable driver with emulation, do
#   make clean
#   make depend
#   make all
#

#-------------------------------------------------------------
# Compilation Tools
#-------------------------------------------------------------
CC := gcc
LD := ld

# The adjust-vma value may need to be changed if listing file addresses
# don't match addresses when loaded in the kernel.
# The value was 4, then changed to 10 in kernel version 2.0.35
LISTING := objdump -S 
LISTINGFLAGS := --adjust-vma=10

RELOCATESTABS := ./relocate_stabs.pl

#-------------------------------------------------------------
# Object files
#-------------------------------------------------------------
DRIVER_MODULE  := rtl8139.o

DRIVER_OBJ     := rtl8139.o

#-------------------------------------------------------------
# Compilation flags
#-------------------------------------------------------------
ifndef TOPDIR
TOPDIR := /usr/src/linux
endif

INCLUDES := -I $(TOPDIR)/include
CFLAGS := -D__KERNEL__ -DMODULE -O2 -m486 -Wall -finline-functions $(INCLUDES)
CFLAGS := $(CFLAGS) -DMODVERSIONS


# this is for SMP support, be sure to uncomment on multiprocessor boxes
#CFLAGS := $(CFLAGS) -D__SMP__

#------------------------------------------------------------
# Common rules
#------------------------------------------------------------

%.o: %.c
	$(CC) $(CFLAGS) $(EXTRA_CFLAGS) -c -o $@ $<


# Our own rule to make source/assembly listing files
%.lst: %.o
	$(LISTING) $(LISTINGFLAGS) $< > $@

#------------------------------------------------------------
# Default target
#------------------------------------------------------------
.PHONY: all
all: $(DRIVER_MODULE)

#------------------------------------------------------------
# Include dependency files they exist
#------------------------------------------------------------
ifeq (.depend,$(wildcard .depend))
include .depend
endif

#------------------------------------------------------------
# Targets
#------------------------------------------------------------

# Target to make the plain driver
$(DRIVER_MODULE) : $(DRIVER_OBJ:.o=.c)
	$(CC) $(CFLAGS) $(EXTRA_CFLAGS) -c -o $@ $<
	$(LISTING) $(LISTINGFLAGS) $@ > $(@:.o=.lst)

# Target to make a debuggable driver
# Must do objdump before relocate
$(DEBUG_OBJ) : $(DRIVER_OBJ:.o=.c)

$(DEBUG_MODULE) $(DEBUG_MODULE:.o=.lst) : $(DEBUG_OBJ)
	$(LD) $(LDFLAGS) -r -o $@ $(DEBUG_OBJ)
	$(LISTING) $(LISTINGFLAGS) $@ > $(@:.o=.lst)

# This only to use kernel debugger
	#$(RELOCATESTABS) $@

# Remove all temporary and generated files
.PHONY: clean
clean:
	rm -f core *.o *.a *.s *.lst

# Compute the source file dependencies
#.PHONY: depend
#depend:
#	gcc -M $(EMU_OTHER_OBJS:_e.o=.c) $(CFLAGS) > .depend
#	perl -p -i -e 's/\.o/_e\.o/g' .depend

# Converts the source files from Windows
.PHONY: convert
convert: 
	dos2unix *.c makefile
"

Scusate il post lunghissimo ma ho cercato di essere il più chiaro e preciso 
possibile. Io le ho provate tutte ma evidentemente non ho le conoscenze 
adatte a risolvere un problema di questa entità.Se qualcuno mi potesse 
aiutare gliene sarei infinitamente grato.
Grazie.









More information about the pluto-help mailing list