Subject: NetBSD 1.5 and PCMCIA ethernet on a 486 laptop.
To: None <port-i386@netbsd.org>
From: Scott Stevens <sast50183@earthlink.net>
List: port-i386
Date: 04/16/2001 22:54:27
I am having a terrible time getting NetBSD 1.5 to work with PCMCIA ethernet 
cards in my aged old laptop.  It's a Toshiba T2105, which is a 486DX2-50 
machine.  Mine has 28 MB of RAM and a 1.4G hard drive.  In the past it's 
been an excellent NetBSD laptop, in fact the first time I ever installed 
NetBSD anywhere was an NFS install I did on that machine back in the 1.3 
days.  It also worked fine with 1.4.2 which I ran on it over a year ago now.

When I use the standard Installation Boot floppies (boot1.fs and boot2.fs) 
everything goes fine until I've created and formatted the partitions and 
select NFS for the installation method.  After entering the IP address for 
my NFS server (another i386 box on my home network) and the PC Card in the 
laptop (which was found properly by the setup program) the machine seizes 
up with an error message that reports 'IRQ 7'.  It seems to at the call to 
ifconfig, and be related to initializing the ethernet card (a 3-Com 3C589 
that worked fine back with 1.4 and 1.3 and works fine with other OSes).  I 
also tried a Linksys NE2000-clone PC card with very similar results.

I decided that maybe there was a conflict in the installation kernel so I 
pulled the 2-1/2" drive and used a 44 pin to 40 pin IDE adaptor to install 
1.5 on it in a Pentium 90 box.  The NFS install worked flawlessly with an 
ISA card (a 3-Com 3C509-TP).

When I moved the drive back into the laptop, it booted perfectly, and 
identifies and assigns ep0 to the ethernet card.  But if I call ifconfig 
manually, or if I create the regular /etc/ifconfig.ep0 startup file, it 
seizes up again, immediately on the call to ifconfig.  The whole machine 
freezes.  With a boot-up init (the /etc/ifconfig.ep0 file in place) the 
screen displays: 'pcmcia irq 5' when it dies, and the internal speaker 
makes an audible click.  If I pull the card, or remove /etc/ifconfig.ep0 
the machine boots fine again.

I am hoping to run 1.5 on the laptop (with networking), because I have been 
building packages (with the excellent /usr/pkgsrc build system) on a 
different much faster (350 MHz K6-2) machine that runs 1.5 and I'd like to 
install them them pre built on the laptop.  Otherwise I'll have to revert 
back to 1.4.2 which I am confident will still boot on the machine.  Does 
anybody know what I need to do to get the PCMCIA ethernet to work 
properly?  If it's a matter of tweaking and rebuilding the kernel I've done 
that numerous times before (on i386 and sparc hardware).

Here is the boot log for the machine started with /etc/ifconfig.ep0 
disabled (I called dmesg within a typescript shell) and the 3c589 card 
installed:

-------------------------------------------
Script started on Mon Apr 16 16:32:49 2001
rebel# dmesg
NetBSD 1.5 (GENERIC) #1: Sun Nov 19 21:42:11 MET 2000
     fvdl@sushi:/work/trees/netbsd-1-5/sys/arch/i386/compile/GENERIC
cpu0: Intel 486DX2 (486-class)
total memory = 28480 KB
avail memory = 21300 KB
using 381 buffers containing 1524 KB of memory
mainbus0 (root)
isa0 at mainbus0
com0 at isa0 port 0x3f8-0x3ff irq 4: ns16550a, working fifo
pckbc0 at isa0 port 0x60-0x64
pckbd0 at pckbc0 (kbd slot)
pckbc0: using irq 1 for kbd slot
wskbd0 at pckbd0: console keyboard
pms0 at pckbc0 (aux slot)
pckbc0: using irq 12 for aux slot
wsmouse0 at pms0 mux 0
wdc0 at isa0 port 0x1f0-0x1f7 irq 14
wd0 at wdc0 channel 0 drive 0: <HITACHI_DK225A-14>
wd0: drive supports 16-sector pio transfers, lba addressing
wd0: 1374 MB, 2792 cyl, 16 head, 63 sec, 512 bytes/sect x 2814336 sectors
wd0: drive supports PIO mode 4, DMA mode 2
vga0 at isa0 port 0x3b0-0x3df iomem 0xa0000-0xbffff
wsdisplay0 at vga0: console (80x25, vt100 emulation), using wskbd0
lpt0 at isa0 port 0x378-0x37b irq 7
pcppi0 at isa0 port 0x61
midi0 at pcppi0: PC speaker
sysbeep0 at pcppi0
isapnp0 at isa0 port 0x279: ISA Plug 'n Play device support
npx0 at isa0 port 0xf0-0xff: using exception 16
fdc0 at isa0 port 0x3f0-0x3f7 irq 6 drq 2
fd0 at fdc0 drive 0: 1.44MB, 80 cyl, 2 head, 18 sec
pcic0 at isa0 port 0x3e0-0x3e1 iomem 0xd0000-0xdffff
pcic0: controller 0 (Intel 82365SL Revision 1) has sockets A and B
pcic0: controller 1 (Intel 82365SL Revision 1) has no sockets
pcmcia0 at pcic0 controller 0 socket 0
pcmcia1 at pcic0 controller 0 socket 1
isapnp0: no ISA Plug 'n Play devices found
biomask ef6d netmask ef6d ttymask ffef
pcic0: controller 0 detecting irqs with mask 0xdeb8:..3..5..9..10..11..15
pcic0: using irq 3 for socket events
ep0 at pcmcia0 function 0 port 0x400-0x40f: 3Com 3c589 10Mbps Ethernet
ep0: address 00:80:24:9f:a3:86, 8KB byte-wide FIFO, 3:5 Rx:Tx split
ep0: 10baseT, 10base5, 10base2 (default 10baseT)
boot device: wd0
root on wd0a dumps on wd0b
root file system type: ffs
wsdisplay0: screen 1 added (80x25, vt100 emulation)
wsdisplay0: screen 2 added (80x25, vt100 emulation)
wsdisplay0: screen 3 added (80x25, vt100 emulation)
wsdisplay0: screen 4 added (80x25, vt100 emulation)
wsmux1: connecting to wsdisplay0
rebel# exit
rebel# exit

Script done on Mon Apr 16 16:32:52 2001
--------------------------------------------

Scott Stevens
sast50183@earthlink.net