Bug 17228

Summary: Installation floppies hang up on Compaq Armada V300 laptop
Product: Base System Reporter: root <sam>
Component: i386Assignee: freebsd-bugs (Nobody) <bugs>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: 4.0-CURRENT   
Hardware: Any   
OS: Any   

Description root 2000-03-06 19:00:01 UTC
I am able to boot with FreeBSD 3.4 boot disks, but I cannot boot the
laptop with -CURRENT kernels. The one found on releng3.freebsd.org and
the generic one built with yesterday's CVS sources will exhibit the
same bug:

  - the one from releng3.freebsd.org (kern.flp) will get stuck when probing
    devices (after asking the pccard information), with the HD led staying
    on

  - the one I built myself boots up to the point where it says: timeout on
    ATAPI devices or something like that (sorry, I had to restore my Windows
    tiny partition that I moved away for testing, I could not trash the Linux
    one, and I don't have the exact message anymore); it then tries to reset
    the device but will also stay stuck with the HD led on

In both configuration, I tried Pierre Beyssac's advice of removing any
CDRom so that the chances the CDR locks the machine have been decreased.
Also, it happens with and without the pccard.

How-To-Repeat: 
Use latest boot disks found on releng3.freebsd.org, dated 2000-02-28.
Comment 1 kbyanc 2000-03-06 20:11:10 UTC
On Mon, 6 Mar 2000 root@infres.enst.fr wrote:

> >Synopsis:       Installation floppies hang up on Compaq Armada V300 laptop
> >Environment:
> 
> Compaq Armada V300 laptop. Here is the relevant dmesg info from Linux.
> A 3CCFE575 Megahertz PCMCIA card was plugged in socket 0.
> 

  I don't have an answer, but I might have some additional info to help
debug the problem:

  I have an Armada 7400 laptop, which appears to be very similar to your
V300 model, running -current just dandy. However, it is worth pointing out
that the box is still running -current from 1/14/20. The drives appear to
be similar, although not identical. I have not had any problems. I've
include the dmesg output in case it helps identify what difference is
causing your problem.
  I'll be updating the -current on that box sometime this week and I'll be
sure to report back by success (or lack thereof) if this hasn't been
resolved by then.

  Good luck,

  Kelly


> PIIX4: IDE controller on PCI bus 00 dev 39
> PIIX4: not 100% native mode: will probe irqs later
>     ide0: BM-DMA at 0x2420-0x2427, BIOS settings: hda:DMA, hdb:pio
> hda: IBM-DBCA-204860, ATA DISK drive
> hdb: CD-224E, ATAPI CDROM drive
> ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
> hda: IBM-DBCA-204860, 4108MB w/420kB Cache, CHS=556/240/63, UDMA

ata-pci0: <Intel PIIX4 ATA-33 controller> port 0x2020-0x202f at device 7.1
on pc
i0
ata-pci0: Busmastering DMA supported
ata0 at 0x01f0 irq 14 on ata-pci0
ad0: <IBM-DKLA-24320/KL4UA47A> ATA-4 disk at ata0 as master
ad0: 4108MB (8415225 sectors), 8905 cyls, 15 heads, 63 S/T, 512 B/S
ad0: 16 secs/int, 1 depth queue, UDMA33
acd0: <UJDA150/1.02> CDROM drive at ata0 as slave
acd0: read 4134KB/s (4134KB/s), 128KB buffer, WDMA2
acd0: Reads: CD-R, CD-RW, CD-DA
acd0: Audio: play, 256 volume levels
acd0: Mechanism: ejectable tray
acd0: Medium: no/blank disc inside, unlocked



> >Description:
> 
> I am able to boot with FreeBSD 3.4 boot disks, but I cannot boot the
> laptop with -CURRENT kernels. The one found on releng3.freebsd.org and
> the generic one built with yesterday's CVS sources will exhibit the
> same bug:
> 
>   - the one from releng3.freebsd.org (kern.flp) will get stuck when probing
>     devices (after asking the pccard information), with the HD led staying
>     on
> 
>   - the one I built myself boots up to the point where it says: timeout on
>     ATAPI devices or something like that (sorry, I had to restore my Windows
>     tiny partition that I moved away for testing, I could not trash the Linux
>     one, and I don't have the exact message anymore); it then tries to reset
>     the device but will also stay stuck with the HD led on
> 
> In both configuration, I tried Pierre Beyssac's advice of removing any
> CDRom so that the chances the CDR locks the machine have been decreased.
> Also, it happens with and without the pccard.
> 

--
Kelly Yancey  -  kbyanc@posi.net  -  Richmond, VA
Analyst / E-business Development, Bell Industries  http://www.bellind.com/
Maintainer, BSD Driver Database       http://www.posi.net/freebsd/drivers/
Coordinator, Team FreeBSD        http://www.posi.net/freebsd/Team-FreeBSD/
Comment 2 Sheldon Hearn 2000-03-07 09:57:27 UTC
On Mon, 06 Mar 2000 19:50:57 +0100, root@infres.enst.fr wrote:

> >Synopsis:       Installation floppies hang up on Compaq Armada V300 laptop

I believe that the NCR probe locks up on these machines.  You could try
a custom kern.flp with a ncr-less kernel on it.  I believe you can do
this by mounting the kernel floppy read-write and replacing the kernel
on it with a custom-built kernel.

Ciao,
Sheldon.
Comment 3 root 2000-04-05 16:07:11 UTC
The following patch makes it work much better. It forces no-DMA-mode
when not explicitely allowed.

Index: ata-dma.c
===================================================================
RCS file: /usr/cvs/src/sys/dev/ata/ata-dma.c,v
retrieving revision 1.35
diff -u -r1.35 ata-dma.c
--- ata-dma.c	2000/03/05 16:52:24	1.35
+++ ata-dma.c	2000/04/05 14:35:02
@@ -70,6 +70,10 @@
     if (!scp->bmaddr)
 	return;
 
+#ifndef ATA_ENABLE_ATAPI_DMA
+    return;
+#endif
+
     /* if simplex controller, only allow DMA on primary channel */
     if (scp->unit == 1) {
 	outb(scp->bmaddr + ATA_BMSTAT_PORT, inb(scp->bmaddr + ATA_BMSTAT_PORT) &
Comment 4 Mike Barcroft freebsd_committer freebsd_triage 2001-07-22 01:15:15 UTC
State Changed
From-To: open->feedback


Does this problem still occur in newer versions of FreeBSD, 
such as 4.3-RELEASE?
Comment 5 Mike Barcroft freebsd_committer freebsd_triage 2001-07-22 19:28:54 UTC
State Changed
From-To: feedback->closed


Originator is no longer able to confirm whether this is still a 
problem, so I'm closing this PR.  If it is still a problem in a 
newer release of FreeBSD, a new PR should be opened.