[tulip] unresolved symbols in Tulip build on SuSe (2.2.5 kernel)

Ute Jensen ute192@hotmail.com
Fri, 30 Jun 2000 14:40:43 PDT


Hola!

I have a LinkSys Etherfast 10/100 (LNE100TX) Version 2
connected to a Netgear EN104TP Hub.. lights are green, all okay.

I have SuSe Linux (6.1) with the 2.2.5 kernel.  It came with a tulip
module, but it didn't work (I forget what the errors were).  So I
came to scyld for the latest.

I was unable to compile tulip.o by itself (again, I forget the errors,
sorry), so I went for the netdrivers source RPM.  After finding that
SuSe keeps the packages in /usr/src/packages (rather than
/usr/src/linux/packages) I was able to build and install just fine--
no errors at all in the log, except for this, which I think is
irrelevant to me:
install: cb_shim.o: No such file or directory
make: [install] Error 1 (ignored)

But just in case, I tried to build it by itself, but apparently there
is a header file missing, which might be why it didn't build in the
package?

So anyway I proceeded to..
*** Run '/sbin/depmod -a' to update the module database.

and this is what I get..

pan:/ # depmod -a
depmod: *** Unresolved symbols in /lib/modules/2.2.5/net/tulip.o
depmod: *** Unresolved symbols in /lib/modules/2.2.5/scsi/scsi_debug.o
depmod: *** Unresolved symbols in /lib/modules/2.2.5/scsi/sd_mod.o
depmod: *** Unresolved symbols in /lib/modules/2.2.5/video/vfb.o
depmod: *** Unresolved symbols in /lib/modules/2.2.5/misc/maui.o
depmod: *** Unresolved symbols in /lib/modules/2.2.5/pcmcia/iscc_cs.o
depmod: *** Unresolved symbols in /lib/modules/2.2.5/pcmcia/mpsuni_cs.o

Since tulip is all I care about right now..
pan:/ # insmod tulip
Using /lib/modules/2.2.5/net/tulip.o
/lib/modules/2.2.5/net/tulip.o: unresolved symbol __global_cli
/lib/modules/2.2.5/net/tulip.o: unresolved symbol pci_drv_unregister
/lib/modules/2.2.5/net/tulip.o: unresolved symbol __global_save_flags
/lib/modules/2.2.5/net/tulip.o: unresolved symbol __global_restore_flags
/lib/modules/2.2.5/net/tulip.o: unresolved symbol pci_drv_register

Is the package not designed to build on SuSe or am I doing something wrong?

In the code, I found that cli and save_flags are called in tulip.c,
but in kern_compat.h where they are defined, they are commented out (and
then only used with versions below Ox20123 (does 2.2.5 fall in that 
range?)).
I didn't study tulip.c in detail (I'm not a programmer), but are these
functions actually used?

Just in case, since this used to be a problem, I checked if pci-scan was 
there.
pan:/ # insmod pci-scan
Using /lib/modules/2.2.5/net/pci-scan.o
insmod: a module named pci-scan already exists

It is.  Well, I guess the modules won't load with unresolved symbols.  But
here are the results of everything else I tried just in case they would...

So start the net..
pan:/ # /etc/rc.d/init.d/network start
Setting up network device eth0
SIOCSIFADDR: Operation not supported by device
eth0: unknown interface: Operation not supported by device
SIOCSIFBRDADDR: Operation not supported by device
eth0: unknown interface: Operation not supported by device
SIOCSIFNETMASK: Operation not supported by device
eth0: unknown interface: Operation not supported by device            failed

Try to configure the interface ?
pan:/ # ifconfig eth0 192.168.1.2
SIOCSIFADDR: Operation not supported by device
eth0: unknown interface: Operation not supported by device

Can't do that; check module config. Looks ok.
pan:/ # grep tulip /etc/conf.modules
alias eth0 tulip
# options tulip          options=0

Make sure the hardware is okay at least
pan:/ # lspci -vv
...
00:0e.0 Ethernet controller: Lite-On Communications Inc: Unknown device c115 
(rev 25)
        Subsystem: Unknown device 11ad:c001
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- 
Stepping+ SERR- FastB2B-
        Status: 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- 
<MAbort- >SERR- <PERR-
        Latency: 8 min, 56 max, 66 set, cache line size 08
        Interrupt: pin A routed to IRQ 10
        Region 0: I/O ports at fc00
        Region 1: Memory at fffbec00 (32-bit, non-prefetchable)
...

And...
pan:/ # cat /proc/pci
...
  Bus  0, device  14, function  0:
    Ethernet controller: LiteOn Unknown device (rev 37).
      Vendor id=11ad. Device id=c115.
      Medium devsel.  Fast back-to-back capable.  IRQ 10.  Master Capable.  
Latency=66.  Min Gnt=8.Max Lat=56.
      I/O at 0xfc00 [0xfc01].
      Non-prefetchable 32 bit memory at 0xfffbec00 [0xfffbec00].
...

Finally, I tried the tulip-diag program, and umm.. everything looks okay
as far as I can tell..
pan:/ # ./tulip-diag
tulip-diag.c:v2.00 4/19/2000 Donald Becker (becker@scyld.com)
http://www.scyld.com/diag/index.html
Index #1: Found a Lite-On PNIC-II adapter at 0xfc00.
Port selection is 10mpbs-serial, half-duplex.
Transmit stopped, Receive stopped, half-duplex.
  The Rx process state is 'Stopped'.
  The Tx process state is 'Stopped'.
  The transmit threshold is 72.
  The NWay status register is 000050ca.
The current PNIC-II MAC address is 00:a0:cc:e5:67:1d (a000a000 e5cc1d67).
The current PNIC-II WOL address is 00:a0:cc:e5:67:1d.
  Internal autonegotiation state is 'Negotiation complete'.
Use '-a' or '-aa' to show device registers,
     '-e' to show EEPROM contents, -ee for parsed contents,
  or '-m' or '-mm' to show MII management registers.

What should I try next?

-Ute

________________________________________________________________________
Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com