[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

token ring, kernel 2.0.29, microchannel configuration



I've looked in the comp.os.linux.networking archives
and the TokenRing-HOW-TO, but I haven't been able to nail 
this problem, so here goes.

I am trying to get an IBM 16/4 Adapter/A card going in
a PS/2 9577, a microchannel machine.  It is a basic system
with a 486DX-66, 3 hard drives, XGA-2 graphics, serial connection 
to a modem, Linux 2.0.29 kernel compiled from source, and now a
token-ring card. The system was installed from a Slackware 
distribution.

The kernel is compiled for token ring and tropic support. I
think I have modified the /etc/rc.d/rc.inet1
file to properly reflect that my network interface
is a token ring card. ( Details at the end of the mail.)

When I boot, I get errors and no device tr0 is ever created:
  
  unresolved symbols in ibmtr.o
  going multiuser...
  SIOCSIFADDR: No such device
  SIOCSIFBRDADDR: No such device
  SIOCIFNETMASK: No such device
  SIOCADDRT: No such device
  SIOCADDRT: Network is unreachable

After booting, I modified conf.modules and put ibmtr.o into
/lib/modules/2.0.29/net to allow loading of this module. When 
I try to use a module load: 

  insmod -f ibmtr
  ( also tried insmod [-vf] ibmtr io=0xa2000 
               insmod [-vf] ibmtr io=0xde000
               insmod [-vf] ibmtr io=oxc0000 )

the result is:

  kernel_version needed, but can't be found.

It seemed reasonable to try loading the module since the kernel
didn't detect the card.  The compile was done with  
config_modversions = yes, so I think there shouldn't be
any kernel_version errors. I have used filesystem modules
successfully with this kernel.

In my /proc/mca/slot3(where the card is) file, I have:

Slot: 3
Adapter Name: Unknown
Id: e001
Enabled: Yes
POS: 01 e0 c3 20 de c0 00 00 

When I use the IBM reference diskette to check the system out,
the token ring card is identified:

Interrupt level    interrupt 2
ROM                DE000-DFFFF
RAM                C0000-C1FFF

My /etc/rc.d/rc.inet1 file is:
----------------------------------
#! /bin/sh

/sbin/ifconfig lo 127.0.0.1
/sbin/route add -net 127.0.0.0 netmask 255.0.0.0 lo

IPADDR="10.0.0.1"       
NETMASK="255.0.0.0"     
NETWORK="10.0.0.0"      
BROADCAST="10.255.255.255"      
GATEWAY="10.0.0.1"      

# configure ethernet card.
/sbin/ifconfig tr0 ${IPADDR} broadcast ${BROADCAST} netmask ${NETMASK}

# set up IP routing table.
/sbin/route add -net ${NETWORK} netmask ${NETMASK} tr0
if [ ! "$GATEWAY" = "" ]; then
 /sbin/route add default gw ${GATEWAY} netmask 0.0.0.0 metric 1
fi

# End of rc.inet1
-----------------------------------

Any ideas?  Thanks!

Chris