Subject: Problems with CD-ROM drive on Vaio Z505
To: None <port-i386@netbsd.org>
From: Ken Hornstein <kenh@cmf.nrl.navy.mil>
List: port-i386
Date: 11/02/2000 13:54:36
I just got a "new" Sony Vaio (the Z505JEK) to replace my aging 505G, and
I burned the latest snapshot of 1.5_BETA on a CD to install it (note:
I made the ISO image myself from one of the binary snapshots put up,
because this was a day before the ISO image came out, but I don't think
it's relevant to the problem).

The install went reasonably well, but after I got it all up and running,
I ran into a problem with the Sony PCMCIA CD-ROM drive.  Specifically,
when I insert the CD-ROM PCMCIA card, the kernel probes the IDE controller
(wdc2), but then the machine hangs.  But not completely .... you can still
type on the console, but the shell doesn't respond.

I did some poking around in DDB, and it turns out that it's hanging inside
of a delay() call in wdcprobe() (line 218 of wdc.c).  I stepped through
the delay function, and it's looping over calls to gettick(), but it
never seems to exit it (and my i386 assembler isn't good enough to figure
out exactly what was going on).

The kernel didn't do this during the install, so I went back and tried
to figure out the difference.  It turns out the critical difference is
CardBus support; if the PCMCIA controller is probed as a ISA PCMCIA
adapter (using the compatibility mode of the CardBus controller), then
it works fine (well, the CD-ROM still has some problems, but it at
least it doesn't hang the machine).

My wireless card (Orinco Silver) works fine with either CardBus or
PCMCIA support in the kernel, so I don't think it's broken CardBus
support.  Also, the same problem exists on my older laptop, so I don't
think it's particular to this model (but it may be a Sony-specific
problem).

--Ken