Tulip driver and 2.3.X ?

Kevin M. Myer kevin_myer@elanco.k12.pa.us
Wed Jan 5 09:25:20 2000

For anyone following this thread, I've managed to get things working and
am now running/testing 2.3.36.  Everything appears to be running normally
so far.  Thanks to Dwayne Forsyth <forsyth@cig.mot.com> for pointing out
how to work around missing macros and having two subroutines with the same

Problems I encountered:

1)  Couldn't compile old driver with 2.3.X series

Solution (thanks to Bob <recbo@erols.com>):

Download new drivers from
<ftp://cesdis.gsfc.nasa.gov/pub/linux/drivers/kern-2.3> and view README
there as well.

2)  missing #include <linux/pci-scan.f> (compile time error)

#if LINUX_VERSION_CODE >= 0x20312
#include <linux/pci-scan.h>
#include "k_compat.h"
#include "pci-netif.h"
#include "kern_compat.h"

Solution (mine):

Either modify the LINUX_VERSION_CODE check to some yet-to-be-released
kernel or symlink pci-netif.h to pci-scan in linux/include/linux/.  I'm
not sure if it was intended for pci-scan.h to be included with the stock
kernel beyond 2.3.18 but this appears to be broken.

3)  Duplicate subroutines named pci_find_capability in
linux/drivers/net/pci-netif.c and linux/drivers/pci/pci.c

Solution (Dwayne Forsyth <forsyth@cig.mot.com>):

Modify linux/drivers/net/pci-netif.c (and associated header files) and
change pci_find_capability to some unique function
(i.e. pci_find_capability2).

4)  Missing dev_free_skb in tulip.c

Solution (Dwayne Forsyth <forsyth@cig.mot.com>):

Add definition from via-rhine.c (couldn't find it in the latest driver

#if LINUX_VERSION_CODE < 0x20159
#define dev_free_skb(skb) dev_kfree_skb(skb, FREE_WRITE);
#define dev_free_skb(skb) dev_kfree_skb(skb);

5)  Missing netif_wake_queue

Solution (Dwayne Forsyth <forsyth@cig.mot.com>):

#if ! defined(HAS_NETIF_QUEUE)
#define netif_wake_queue(dev)  mark_bh(NET_BH);

Overall, it seems stable so far.  This is, again, with kernel 2.3.36 with
an AMD K6-II 400Mhz with 128Mb of RAM and a Kingston KNE-100TX card.  The
tulip driver is 0.91x (which ironically had a timestamp of Sat Dec 11
00:00:00 1909 - Y2K glitch? ;)

I know Donald had mentioned he was working on updating the drivers to work
with these later kernel releases - perhaps the steps mentioned here will
then become unnecessary.

Thanks for the input from this list.


     ~        Kevin M. Myer
    . .       Network/System Administrator
    /V\       ELANCO School District
   // \\
  /(   )\

To unsubscribe send a message body containing "unsubscribe"
to linux-tulip-request@beowulf.org