[eepro100] Compile problems

Russ_Brett@emc.com Russ_Brett@emc.com
Tue Jun 11 20:50:00 2002


You can try the following to get the Scyld driver running; I had some of the
same troubles and found the answer after searching around the net a while:

-I try to build the driver on the kernel that I am going to run the driver
on.  I don't know if this is a necessity but it can't hurt and probably
helps.
-Put the Scyld source files into /usr/src/linux-xxx/drivers/net/ -- Save
your old eepro100.c if desired.
-Edit the Makefile in that dir as follows:
 -Add pci-scan.o to the end of the "export-objs" line; mii.o should be in
there too for example.
 -Add pci-scan.o to the end of the "obj-$(CONFIG_EEPRO100)" line; mii.o
appears there as well in mine.
-from /usr/src/linux-xxx/ run 'make clean dep bzImage modules
modules_install'
-you'll notice that pci-scan.o now should appear in
/lib/modules/xxx/modules.dep under eepro100.o and that both of those obj
files should be under kernel/drivers/net/ in the modules tree.
-When you load the module, pci-scan.o will be loaded automatically

This is from memory and relates to 2.4.19-pre10 so I hope I didn't miss any
steps.

good luck,
brett

-----Original Message-----
From: Steve Keith [mailto:steve@extex.com]
Sent: Tuesday, June 11, 2002 8:18 PM
To: eepro100@scyld.com
Subject: [eepro100] Compile problems


Background:

Tyan Tiger 200T w/dual Intel 82559 controllers.  RH7.2 detected them as
82557 eepro100 and installed the RH7.2 eepro100.o driver.  The server "fell
off" the network within a few hours during a backup operation across the
network.  ifconfig reported:

eth0      Link encap:Ethernet  HWaddr 00:E0:81:21:2A:DC
          inet addr:192.168.100.200  Bcast:192.168.100.255
Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:3625486 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3650831 errors:0 dropped:0 overruns:212 carrier:0
          collisions:0 txqueuelen:100
          RX bytes:3909460367 (3728.3 Mb)  TX bytes:1961718651 (1870.8 Mb)
          Interrupt:5 Base address:0x1000

"/etc/init.d/network restart" would not restore network function.

/proc/pci reports them as 85227 chips:

  Bus  0, device  13, function  0:
    Ethernet controller: Intel Corporation 82557 [Ethernet Pro 100] (rev 8).
      IRQ 5.
      Master Capable.  Latency=32.  Min Gnt=8.Max Lat=56.
      Non-prefetchable 32 bit memory at 0xf6222000 [0xf6222fff].
      I/O at 0xe400 [0xe43f].
      Non-prefetchable 32 bit memory at 0xf6000000 [0xf60fffff].
  Bus  0, device  14, function  0:
    Ethernet controller: Intel Corporation 82557 [Ethernet Pro 100] (#2)
(rev 8).
      IRQ 10.
      Master Capable.  Latency=32.  Min Gnt=8.Max Lat=56.
      Non-prefetchable 32 bit memory at 0xf6221000 [0xf6221fff].
      I/O at 0xe800 [0xe83f].
      Non-prefetchable 32 bit memory at 0xf6100000 [0xf61fffff].

I download the e100.o driver from the Intel website.  Installation was
smooth, and it stayed up for about a week.  Then, it just fell off the
network again... couldn't access it from win98 machines (Samba, ssh, etc)...
just like before except that ifconfig showed no overruns.  I could still log
into the server directly.  I tried "/etc/init.d/network restart", but no
network communication could be had.  I rebooted the system and now it's up
and running again.

As another shot in the dark, I decided to try the scyld driver.  I
downloaded:

	eepro100.c
	kern_compat.h
	pci-scan.c
	pci-scan.h

I compiled:

	pci-scan.o  using the command at the end of pci-scan.c

"gcc -DMODULE -D__KERNEL__ -O6 -c eepro100.c" results in:

In file included from eepro100.c:97:
/usr/include/linux/modversions.h:1:2: #error Modules should never use
kernel-headers system headers,
/usr/include/linux/modversions.h:2:2: #error but rather headers from an
appropriate kernel-source package.
/usr/include/linux/modversions.h:3:2: #error Change -I/usr/src/linux/include
(or similar) to
/usr/include/linux/modversions.h:4:2: #error -I/lib/modules/$(uname
-r)/build/include
/usr/include/linux/modversions.h:5:2: #error to build against the
currently-running kernel.

I recompiled incorporating the suggestions given and there were no errors.

"insmod eepro100.o" results in:

eepro100.o: unresolved symbol acpi_set_pwr_state
eepro100.o: unresolved symbol pci_drv_unregister
eepro100.o: unresolved symbol pci_drv_register

Manually moving the eepro100.o file into
	/lib/modules/2.4.7-10enterprise/kernel/drivers/net
and adding the appropriate alias in /etc/modules.conf causes failed
dependencies at startup and eth0 will not come up.

The system is currently running on the Intel drivers, 356MB TX, just
counting until the next failure!

Any suggestions on getting this driver to work or other tools/techniques to
track down flaky network card performance will be greatly appreciated.

Thanks,

Steve

_______________________________________________
eepro100 mailing list
eepro100@scyld.com
http://www.scyld.com/mailman/listinfo/eepro100