Has anyone had any experience installing 4.4 on a sony vaio c1ve using the
sony pcga-cd51 cdrom?
I've tried changing the base address to 0x180 like you would to get this
drive working under linux but that didn't seem to work no matter which irq I
used.
I've even tried to install from an existing fat (and fat32) partition but it
fails to mount /dev/ad0s2 on /dist. The first slice is an ntfs partition
with win2k and the second is a logical fat32 drive in an extended partition.
I'll try a network install soon but any help on getting this drive to work
would be appreciated.
Thanks,
Shin
To Unsubscribe: send mail to majo...@FreeBSD.org
with "unsubscribe freebsd-mobile" in the body of the message
I choose the default base address and various free IRQs but when it comes to
choosing the installation media I'm told that no CD drives are found. I've
also tried it with other base addresses but that just seems to lock the vaio
when it tries to probe.
> I haven't actually tried installing 4.4
> this way on a vaio, but I have used FreeBSD with vaios and the
> cdrom drives have always just worked when plugged in (search
> the mailing list archives if you get solid hangs when inserting
> pcmcia cards; often changing the bios "PnP OS" setting, assigning
> an IRQ to the pcic device, or changing to ISA interrupt routing
> will help).
I can unplug and plug the drive without any problems. I disabled PNP in the
bios but that didn't seem to make a difference.
Tonight I'll give enabling ISA routing through the boot loader and see what
happens.
Thanks for the suggestion,
Hmm - I just tried plugging a PCGA-CD51 cdrom drive into a C1XD
vaio running 4.4ish sources, and it hung with an interrupt storm.
I unplugged it, and got a page fault in the ATA code, and then I
got a hard hang on reboot at the "starting local daemons:" line.
I haven't used that cdrom drive in a while, but it definitely
used to work! (I will debug further over the next few days).
Ian
I installed 4.3 on a Vaio PCG-SR5K from a PCGA-DVD51. Close, but
not the same. But the install was uneventful. I booted the
install CD in the DVD drive and went through sysinsall.
-crl
--
Chad R. Larson (CRL15) 602-953-1392 Brother, can you paradigm?
ch...@dcfinc.com ch...@larsons.org lar...@home.com
DCF, Inc. - 14623 North 49th Place, Scottsdale, Arizona 85254-2207
Ok, I have looked into the ATA interrupt storm a bit further. The
laptop was hanging during ata_attach() while executing:
if (scp->devices & ATA_ATAPI_SLAVE)
if (ata_getparam(scp, ATA_SLAVE, ATA_C_ATAPI_IDENTIFY))
scp->devices &= ~ATA_ATAPI_SLAVE;
The request had been sent to the device, and ata_command() was
sitting in the await() call. The interrupt line was constantly
asserted, and ata_intr seemed to be unable to acknowledge it,
so it just kept re-interrupting.
When I tried clearing the interrupt manually via inb(0x187) calls
in ddb, it made no difference, but then I found that if I selected
the master device first with "call outb (0x186, 0xa0)", then "call
inb(0x187)" would clear the interrupt.
I'm not sure why this worked before, but it seems that with these
pccard cdrom drives you get unexpected results if you attempt
to talk to the non-existent slave device. The ata_pccard_probe()
routine seems to deal with this by arranging for the slave to
be ignored
scp->flags |= (ATA_USE_16BIT | ATA_NO_SLAVE);
but this does not stop the ATAPI probe from happening. The drive
works fine when I apply the following patch. The important bit is
the "*mask" changes, but the patch also includes some extra spl
calls that may be necessary (I don't think ata_attach() has any
protetion from interrupts in the pccard case, and even if it does,
the protection won't necessarily cover a newly-set up interrupt).
Has anybody else tried a Sony PCGA-CD51 cdrom drive with a recent
-stable?
Ian
ata3 at port 0x180-0x187,0x386 iomem 0xd4000-0xd4fff irq 9 slot 0 on pccard0
acd0: CDROM <TOSHIBA CD-ROM XM-7002Bc> at ata3-master using BIOSPIO
Index: ata-all.c
===================================================================
RCS file: /home/iedowse/CVS/src/sys/dev/ata/ata-all.c,v
retrieving revision 1.50.2.20
diff -u -r1.50.2.20 ata-all.c
--- ata-all.c 2001/08/28 17:56:14 1.50.2.20
+++ ata-all.c 2001/10/10 18:48:15
@@ -885,7 +885,7 @@
ata_attach(device_t dev)
{
struct ata_softc *scp = device_get_softc(dev);
- int error, rid = 0;
+ int error, rid = 0, s;
if (!scp || scp->flags & ATA_ATTACHED)
return ENXIO;
@@ -906,6 +906,7 @@
* otherwise attach what the probe has found in scp->devices.
*/
if (!ata_delayed_attach) {
+ s = splbio();
if (scp->devices & ATA_ATA_SLAVE)
if (ata_getparam(scp, ATA_SLAVE, ATA_C_ATA_IDENTIFY))
scp->devices &= ~ATA_ATA_SLAVE;
@@ -930,6 +931,7 @@
if (scp->devices & ATA_ATAPI_SLAVE)
atapi_attach(scp, ATA_SLAVE);
#endif
+ splx(s);
}
scp->flags |= ATA_ATTACHED;
return 0;
@@ -1285,7 +1287,7 @@
/* wait for BUSY to go inactive */
for (timeout = 0; timeout < 310000; timeout++) {
- if (status0 & ATA_S_BUSY) {
+ if (*mask & 0x01 && status0 & ATA_S_BUSY) {
outb(scp->ioaddr + ATA_DRIVE, ATA_D_IBM | ATA_MASTER);
DELAY(10);
status0 = inb(scp->ioaddr + ATA_STATUS);
@@ -1300,7 +1302,7 @@
scp->devices |= ATA_ATAPI_MASTER;
}
}
- if (status1 & ATA_S_BUSY) {
+ if (*mask & 0x02 && status1 & ATA_S_BUSY) {
outb(scp->ioaddr + ATA_DRIVE, ATA_D_IBM | ATA_SLAVE);
DELAY(10);
status1 = inb(scp->ioaddr + ATA_STATUS);
I can test with mine at some point, but Bad Things Happening in real
life are distracting me a lot right now.
P.
--
pir pir...@pir.net pir...@net.tufts.edu
Hmmm. Level interrupts. There's likely a few more of these lurking
in the code. When we had edge trigged interrupts exclusively, this
wasn't a problem...
Warner
> ata3 at port 0x180-0x187,0x386 iomem 0xd4000-0xd4fff irq 9 slot 0 on pccard0
> acd0: CDROM <TOSHIBA CD-ROM XM-7002Bc> at ata3-master using BIOSPIO
I'm getting what seem to be the same symptoms with my PCGA-CD51.
Machine completely hung up after attatching acd0.
P.
--
pir pir...@pir.net pir...@net.tufts.edu