Re: Problems with the ATA-driver

1999-12-25 Thread Nick Hibma

  While this can be moved into the man page, I don't see how a
 message like this can significantly slow down booting, unless you have a
 slow serial console.  However, a pointer is still useful; I'd suggest a
 shorter message like:
 
   ad0: DMA disabled: See ad(4) man page for possible reasons.
   ata-pci0: Busmastering DMA supported
   lpt0: Interrupt-driven port
   acd0: supported read types: CD-R, CD-DA, DVD-ROM, DVD-R
   acd0: Audio: play, 255 volume levels
   acd0: Mechanism: ejectable tray
   acd0: Medium: 120mm data disc loaded, unlocked

I perfectly agree. There is other ones ('usb0: USB version 1.0'), which
are left in, for some secondary reason.

And I think it would be a good idea to hide more output behind boot
verbose. Personally I prefer to print the least possible to make sure
errors and strange behaviour doesn't get lost in noise. Otherwise
we'll have to resort to multi-colour output like RedHat does to make
the 'ohci_wait_intr' message stand out.

That's what I meant with Linux-like.

Cheers,

Nick
--
[EMAIL PROTECTED]
[EMAIL PROTECTED]  USB project
http://www.etla.net/~n_hibma/



To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: Problems with the ATA-driver

1999-12-23 Thread Soren Schmidt

It seems Pim van Grol wrote:
 Good job, the latest revision works, allthough in DMA mode.

Thanks!

 By the way, my motherboard (Epox EP-51MVP3G-M) indeed supports a 
 82c596 as south bridge, containing a (82c)571 device as IDE controller.
 From dmesg:
 
 found-   vendor=0x1106, dev=0x0596, revid=0x06
   class=06-01-00, hdrtype=0x00, mfdev=1
   subordinatebus=0secondarybus=0
 found-   vendor=0x1106, dev=0x0571, revid=0x06
   class=01-01-8a, hdrtype=0x00, mfdev=0
   subordinatebus=0secondarybus=0
   map[20]: type 1, range 32, base d000, size  4
 
 I assume the 82c596 to be functionally equivalent to a 82c586
 with respect to the IDE controller, as they both contain a 571.
 I think the 596 contains just some extra functional blocks 
 (eg ACPI, SMBus) to make it PC98 compliant.

Right, I have a new version ftp://freebsd.dk/pub/ATA/ata-991222.tgz
that you can try, it should support the '596 fully among other things...

Please try it and let me know how it works...

-Søren


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: Problems with the ATA-driver

1999-12-23 Thread Alex Zepeda

On Wed, 22 Dec 1999, Soren Schmidt wrote:

  ad0: WDC AC313000R/15.01J55 ATA-4 disk at ata0 as master
  ad0: 12416MB (25429824 sectors), 25228 cyls, 16 heads, 63 S/T, 512 B/S
  ad0: 16 secs/int, 1 depth queue, UDMA33
  ...
  
  Although I coulda sworn it was an ATA/66 device with the proper cable.
  Hmm.  But hey, at least it works, reasonably fast too.  Nice job :)
 
 Do a verbose boot, and it will tell you, look for cblid=[01]...


ata0: master: success setting up UDMA2 mode on PIIX4 chip
ad0: piomode=4 dmamode=2 udmamode=2 cblid=1
ad0: WDC AC313000R/15.01J55 ATA-4 disk at ata0 as master
ad0: 12416MB (25429824 sectors), 25228 cyls, 16 heads, 63 S/T, 512 B/S
ad0: 16 secs/int, 1 depth queue, UDMA33
Creating DISK ad0
Creating DISK wd0

I'll double check the invoice too.  It was either ATA/33 or ATA/66, I'm
pretty sure it was the latter.

- alex




To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: Problems with the ATA-driver

1999-12-22 Thread Soren Schmidt

It seems Alex Zepeda wrote:
 
 Perhaps blacklisting all WD/Maxtor drives that don't report an ATA
 version, as the ata (and wd) driver works flawlessly in UDMA33 mode with
 my setup:

Hmm, thats an idea...

 ata-pci0: Intel PIIX4 ATA controller at device 7.1 on pci0
 ata-pci0: Busmastering DMA supported
 ata0 at 0x01f0 irq 14 on ata-pci0
 ata1 at 0x0170 irq 15 on ata-pci0
 ...
 ad0: WDC AC313000R/15.01J55 ATA-4 disk at ata0 as master
 ad0: 12416MB (25429824 sectors), 25228 cyls, 16 heads, 63 S/T, 512 B/S
 ad0: 16 secs/int, 1 depth queue, UDMA33
 ...
 
 Although I coulda sworn it was an ATA/66 device with the proper cable.
 Hmm.  But hey, at least it works, reasonably fast too.  Nice job :)

Do a verbose boot, and it will tell you, look for cblid=[01]...

-Søren


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: Problems with the ATA-driver

1999-12-22 Thread Soren Schmidt

It seems Pim van Grol wrote:
 For your information:
 
 I encountered the same problem on a MVP3 board (Epox ep-mvp3g-m)
 with via vt82c596, which worked well untill 13-12-99. Matrox HD.

Are you sure you mean 596 ?? that is NOT supported (yet).

 Correctly interpreted as doing UDMA33. From version 1.23 of 
 ata-dma.c the DMA mode was not properly detected and it tried 
 to set WDMA2 - freezing the system with the 'lost disk contact'
 message.
 It seems that for some reason the 'ata_find_dev()' results are
 not appreciated.
 I repaired it by reverting some changes:
 
 line 274-277:
   /* UDMA2 mode only on rev 1 and better 82C586  82C586 chips */
   if (udmamode = 2  pci_read_config(scp-dev, 0x08, 1) = 0x01 /*
 
   (ata_find_dev(scp-dev, 0x05861106) || 
ata_find_dev(scp-dev, 0x06861106)) */ ) {
 
 line 294:
   /* if ((pci_read_config(scp-dev, 0x08, 1) == 0x06)  */
   if (ata_find_dev(scp-dev, 0x06861106) 
 
 I have yet to test the latest revision.

Please do...

-Søren


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: Problems with the ATA-driver

1999-12-22 Thread Nick Hibma

 If you end up doing this, can you have the driver print a line letting 
 people know this is intentional?  i.e., 
 
 ad0: DMA disabled: This drive does not properly support DMA mode.
 ad0: To force DMA for this drive (at your own risk) set flags 0xXX.

Let's not go the Linux way and make the boot messages slow down booting.

Mentioning it in the manpage should be sufficient I guess. Blacklisting
devices sounds like a good idea if tey fail to work correctly in many
cases.

Nick

--
[EMAIL PROTECTED]
[EMAIL PROTECTED]  USB project
http://www.etla.net/~n_hibma/



To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: Problems with the ATA-driver

1999-12-22 Thread Soren Schmidt

It seems Nick Hibma wrote:
  If you end up doing this, can you have the driver print a line letting 
  people know this is intentional?  i.e., 
  
  ad0: DMA disabled: This drive does not properly support DMA mode.
  ad0: To force DMA for this drive (at your own risk) set flags 0xXX.
 
 Let's not go the Linux way and make the boot messages slow down booting.

Agreed.

 Mentioning it in the manpage should be sufficient I guess. Blacklisting
 devices sounds like a good idea if tey fail to work correctly in many
 cases.

The problem being how to get a list that is "good enough" for the
majority of cases.

-Søren


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: Problems with the ATA-driver

1999-12-22 Thread Nick Hibma

  Mentioning it in the manpage should be sufficient I guess. Blacklisting
  devices sounds like a good idea if tey fail to work correctly in many
  cases.
 
 The problem being how to get a list that is "good enough" for the
 majority of cases.

I'd like to see it the other way around: Make sure it works in all cases
and _then_ try to narrow down the bad cases. Being part of GENERIC
implies that it works in all cases, even if performance is lacking in
most cases. After all you won't be able to recompile a kernel that works
for you if you are not able to install FreeBSD in the first place.

Cheers,

Nick
--
[EMAIL PROTECTED]
[EMAIL PROTECTED]  USB project
http://www.etla.net/~n_hibma/



To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: Problems with the ATA-driver

1999-12-22 Thread Soren Schmidt

It seems Nick Hibma wrote:
   Mentioning it in the manpage should be sufficient I guess. Blacklisting
   devices sounds like a good idea if tey fail to work correctly in many
   cases.
  
  The problem being how to get a list that is "good enough" for the
  majority of cases.
 
 I'd like to see it the other way around: Make sure it works in all cases
 and _then_ try to narrow down the bad cases. Being part of GENERIC
 implies that it works in all cases, even if performance is lacking in
 most cases. After all you won't be able to recompile a kernel that works
 for you if you are not able to install FreeBSD in the first place.

Yeah, but last time I did that you should have seen the number of complaints
I received :) 
However I hope to have fixed most of the problems with drives setup
from the BIOS to a DMA mode, but run by ata in PIO mode. 
Then I'll add the restrictions again, together with a way to force a
given mode on a drive. That way you can hurt yourself if you think
your drive can do more than it supports :)

-Søren


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: Problems with the ATA-driver

1999-12-22 Thread Jeroen C. van Gelderen

Nick Hibma wrote:
 
  If you end up doing this, can you have the driver print a line letting
  people know this is intentional?  i.e.,
 
  ad0: DMA disabled: This drive does not properly support DMA mode.
  ad0: To force DMA for this drive (at your own risk) set flags 0xXX.
 
 Let's not go the Linux way and make the boot messages slow down booting.
 
 Mentioning it in the manpage should be sufficient I guess. Blacklisting
 devices sounds like a good idea if tey fail to work correctly in many
 cases.

I agree that the 2nd line should go in the manual pages but keeping
the first line could reduce the number of user questions. Also, if
you have broken hardware, you probably don't care about boot speed.

Soren: thanks for the ATA driver. My Thinkpad 600 now happily runs
   -CURRENT at UDMA33 mode. Only suspends don't seem to work
   yet, but that can be pilot error as well...

Cheers,
Jeroen
-- 
Jeroen C. van Gelderen - [EMAIL PROTECTED]
Interesting read: http://www.vcnet.com/bms/ JLF


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: Problems with the ATA-driver

1999-12-22 Thread Darryl Okahata

Soren Schmidt [EMAIL PROTECTED] wrote:

 It seems Nick Hibma wrote:
   If you end up doing this, can you have the driver print a line letting 
   people know this is intentional?  i.e., 
   
   ad0: DMA disabled: This drive does not properly support DMA mode.
   ad0: To force DMA for this drive (at your own risk) set flags 0xXX.
  
  Let's not go the Linux way and make the boot messages slow down booting.
 
 Agreed.

 While this can be moved into the man page, I don't see how a
message like this can significantly slow down booting, unless you have a
slow serial console.  However, a pointer is still useful; I'd suggest a
shorter message like:

  ad0: DMA disabled: See ad(4) man page for possible reasons.

(Replace "ad" with the name of the ata man page.)  If you're really
concerned about boot messages and boot speed, all messages for
configured devices should be suppressed and only printed for boot -v;
only errors, warnings, and unconfigured device info should be displayed.
Today, the "non-verbose" boot messages are pretty verbose.  Examples
include:

  ata-pci0: Busmastering DMA supported
Having this line is no different from the above "DMA disabled ..."
message (although, yes, the messages are from different drivers).

  lpt0: Interrupt-driven port
If you're really concerned about boot speed, this line can be
merged with the main lpt0 line, e.g. use:

lpt0: generic printer on ppbus 0, Interrupt-driven port

instead of:

lpt0: generic printer on ppbus 0
lpt0: Interrupt-driven port

(And yes, I did take a look at the code to see if this is
possible, and it easily is.)

  acd0: supported read types: CD-R, CD-DA, DVD-ROM, DVD-R
  acd0: Audio: play, 255 volume levels
  acd0: Mechanism: ejectable tray
  acd0: Medium: 120mm data disc loaded, unlocked
Again, these are probably "boot -v" information.  If you're
really concerned about boot speed, you should be concerned about 
this.

[ Personally, I like the way dmesg is now, but I guess some people
  don't.  ]

--
Darryl Okahata
[EMAIL PROTECTED]

DISCLAIMER: this message is the author's personal opinion and does not
constitute the support, opinion, or policy of Agilent Technologies, or
of the little green men that have been following him all day.


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Problems with the ATA-driver

1999-12-21 Thread Theo van Klaveren


When installing the 08-dec-1999 snapshot (before ATA went in GENERIC),
 a recompile from the kernel with the ATA driver instead of the WD
driver resulted in an unbootable system because of the following 
error (approx.):

mounting root /dev/ad0s1a
ata-master: lost disk contact
ata: resetting devices ..

After this, the machine hangs and doesn't respond to anything but a push
on the Big Red Button. A few days later, this was fixed by Soren (sp?) but
it broke again as I recompiled my system yesterday (This was the first
time after it had been fixed, so I don't know when exactly it broke).

Harddisks: Western Digital Caviar (2.0 GB), non-DMA and
   Western Digital Caviar (2.5 GB), DMA-33.
Mainboard: Asus P5A-B Super7
Chipset: ALi Aladdin V AGPset

Taking the UDMA disk out doesn't help. Everything works just
fine with the WD driver...

Any ideas?

Theo van Klaveren [EMAIL PROTECTED]
 http://phoenix.student.utwente.nl  /  ICQ #1353681

 - Why, oh why didn't I take the _blue_ pill?



To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: Problems with the ATA-driver

1999-12-21 Thread Soren Schmidt

It seems Theo van Klaveren wrote:
 
 When installing the 08-dec-1999 snapshot (before ATA went in GENERIC),
  a recompile from the kernel with the ATA driver instead of the WD
 driver resulted in an unbootable system because of the following 
 error (approx.):
 
 mounting root /dev/ad0s1a
 ata-master: lost disk contact
 ata: resetting devices ..
 
 After this, the machine hangs and doesn't respond to anything but a push
 on the Big Red Button. A few days later, this was fixed by Soren (sp?) but
 it broke again as I recompiled my system yesterday (This was the first
 time after it had been fixed, so I don't know when exactly it broke).
 
 Harddisks: Western Digital Caviar (2.0 GB), non-DMA and
Western Digital Caviar (2.5 GB), DMA-33.
 Mainboard: Asus P5A-B Super7
 Chipset: ALi Aladdin V AGPset

It probably because I relaxed the requirements for doing WDMA on disks
that doesn't bother to tell whihc verson of the ATA spec they conform to.
I think your case is the more seldom one, but I'm this close to
blacklisting all WD/Maxtor drives, that would make life alot easier...

-Søren


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: Problems with the ATA-driver

1999-12-21 Thread Theo van Klaveren

On Tue, 21 Dec 1999, Soren Schmidt wrote:

  Harddisks: Western Digital Caviar (2.0 GB), non-DMA and
 Western Digital Caviar (2.5 GB), DMA-33.
  Mainboard: Asus P5A-B Super7
  Chipset: ALi Aladdin V AGPset
 
 It probably because I relaxed the requirements for doing WDMA on disks
 that doesn't bother to tell whihc verson of the ATA spec they conform to.
 I think your case is the more seldom one, but I'm this close to
 blacklisting all WD/Maxtor drives, that would make life alot easier...

 
Hmmm... what exactly does the 'blacklisting all WD/Maxtor drives' mean?
That I can't use the ATA driver, or that the timeout for these drives
is increased?

Theo van Klaveren [EMAIL PROTECTED]
 http://phoenix.student.utwente.nl  /  ICQ #1353681

 - Why, oh why didn't I take the _blue_ pill?



To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: Problems with the ATA-driver

1999-12-21 Thread Richard J Kuhns

Soren Schmidt writes:
  It seems Theo van Klaveren wrote:
   On Tue, 21 Dec 1999, Soren Schmidt wrote:
   
 Harddisks: Western Digital Caviar (2.0 GB), non-DMA and
Western Digital Caviar (2.5 GB), DMA-33.
 Mainboard: Asus P5A-B Super7
 Chipset: ALi Aladdin V AGPset

It probably because I relaxed the requirements for doing WDMA on disks
that doesn't bother to tell whihc verson of the ATA spec they conform to.
I think your case is the more seldom one, but I'm this close to
blacklisting all WD/Maxtor drives, that would make life alot easier...

   Hmmm... what exactly does the 'blacklisting all WD/Maxtor drives' mean?
   That I can't use the ATA driver, or that the timeout for these drives
   is increased?
  
  It means they will not do DMA without user intervention...
  
  -Søren

FWIW, I've been running a 20G Maxtor 92048U8/VA510PF0 for about a month
with the new driver without a single problem -- great work.  dmesg output
follows:

Copyright (c) 1992-1999 The FreeBSD Project.
Copyright (c) 1982, 1986, 1989, 1991, 1993
The Regents of the University of California. All rights reserved.
FreeBSD 4.0-CURRENT #13: Tue Dec 14 13:22:22 EST 1999
[EMAIL PROTECTED]:/misc/src/sys/compile/MORAN
Timecounter "i8254"  frequency 1193182 Hz
CPU: Pentium II/Xeon/Celeron (451.02-MHz 686-class CPU)
  Origin = "GenuineIntel"  Id = 0x652  Stepping = 2
  
Features=0x183f9ffFPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR
real memory  = 134152192 (131008K bytes)
avail memory = 127152128 (124172K bytes)
Preloaded elf kernel "kernel" at 0xc02da000.
Preloaded elf module "msdos.ko" at 0xc02da09c.
Preloaded elf module "ibcs2.ko" at 0xc02da13c.
Preloaded elf module "linux.ko" at 0xc02da1dc.
Pentium Pro MTRR support enabled
apm0: APM BIOS on motherboard
apm: found APM BIOS v1.2, connected at v1.2
npx0: math processor on motherboard
npx0: INT 16 interface
pcib0: Intel 82443BX (440 BX) host to PCI bridge on motherboard
pci0: PCI bus on pcib0
pcib1: Intel 82443BX (440 BX) PCI-PCI (AGP) bridge at device 1.0 on pci0
pci1: PCI bus on pcib1
vga-pci0: NVidia Riva128 graphics accelerator irq 11 at device 0.0 on pci1
isab0: Intel 82371AB PCI to ISA bridge at device 7.0 on pci0
isa0: ISA bus on isab0
ata-pci0: Intel PIIX4 ATA controller at device 7.1 on pci0
ata-pci0: Busmastering DMA supported
ata0 at 0x01f0 irq 14 on ata-pci0
ata1 at 0x0170 irq 15 on ata-pci0
pci0: Intel 82371AB/EB (PIIX4) USB controller (vendor=0x8086, dev=0x7112) at 7.2 irq 10
chip1: Intel 82371AB Power management controller at device 7.3 on pci0
ahc0: Adaptec 2940 Ultra SCSI adapter irq 11 at device 19.0 on pci0
ahc0: aic7880 Single Channel A, SCSI Id=7, 16/255 SCBs
isa0: unexpected tag 14
fdc0: NEC 72065B or clone at port 0x3f0-0x3f7 irq 6 drq 2 on isa0
fdc0: FIFO enabled, 8 bytes threshold
fd0: 1440-KB 3.5" drive on fdc0 drive 0
atkbdc0: keyboard controller (i8042) at port 0x60-0x6f on isa0
atkbd0: AT Keyboard irq 1 on atkbdc0
psm0: PS/2 Mouse irq 12 on atkbdc0
psm0: model IntelliMouse, device ID 3
vga0: Generic ISA VGA at port 0x3c0-0x3df iomem 0xa-0xb on isa0
sc0: System console on isa0
sc0: VGA 16 virtual consoles, flags=0x200
sio0 at port 0x3f8-0x3ff irq 4 on isa0
sio0: type 16550A
sio1: configured irq 3 not in bitmap of probed irqs 0
ppc0 at port 0x378-0x37f irq 7 on isa0
ppc0: Generic chipset (NIBBLE-only) in COMPATIBLE mode
plip0: PLIP network interface on ppbus 0
lpt0: generic printer on ppbus 0
lpt0: Interrupt-driven port
sbc0: Creative SB AWE64 at port 0x220-0x22f,0x330-0x331,0x388-0x38b irq 5 drq 1,5 on 
isa0
pcm0: SB DSP 4.16 on sbc0
unknown0: Game at port 0x200-0x207 on isa0
unknown1: WaveTable at port 0x620-0x623 on isa0
unknown: PNP can't assign resources
unknown2: PNP0200 at port 0-0xf,0x81-0x83,0x87,0x89-0x8b,0x8f-0x91,0xc0-0xdf drq 4 
on isa0
unknown3: PNP0100 at port 0x40-0x43 irq 0 on isa0
unknown4: PNP0b00 at port 0x70-0x71 irq 8 on isa0
unknown: PNP0303 can't assign resources
unknown: PNP0800 can't assign resources
unknown5: PNP0c04 at port 0xf0-0xff irq 13 on isa0
unknown6: PNP0c01 at iomem 0-0x9,0xfffe-0x,0x10-0x7ff on isa0
unknown7: PNP0c02 at iomem 
0xf-0xf3fff,0xf4000-0xf,0xd3000-0xd3fff,0xc8000-0xc9fff on isa0
unknown8: PNP0a03 at port 
0x294-0x297,0x4d0-0x4d1,0xcf8-0xcff,0x480-0x48f,0x4000-0x403f,0x5000-0x501f on isa0
unknown: PNP0f13 can't assign resources
unknown9: PNP0c02 at port 0x208-0x20f on isa0
unknown10: PNP0c02 at port 0x3800-0x381f on isa0
unknown: PNP0501 can't assign resources
unknown: PNP0700 can't assign resources
unknown: PNP0400 can't assign resources
ad0: Maxtor 92048U8/VA510PF0 ATA-5 disk at ata0 as master
ad0: 19531MB (4464 sectors), 39683 cyls, 16 heads, 63 S/T, 512 B/S
ad0: 16 secs/int, 1 depth queue, UDMA33
Waiting 10 seconds for SCSI devices to settle
acd0: NEC CD-ROM DRIVE:28D/3.04 CDROM drive at ata1 as master
acd0: read 2928KB/s (6890KB/s), 128KB buffer, UDMA33
acd0: supported read 

Re: Problems with the ATA-driver

1999-12-21 Thread Doug White

On Tue, 21 Dec 1999, Soren Schmidt wrote:

  Harddisks: Western Digital Caviar (2.0 GB), non-DMA and
 Western Digital Caviar (2.5 GB), DMA-33.
  Mainboard: Asus P5A-B Super7
  Chipset: ALi Aladdin V AGPset
 
 It probably because I relaxed the requirements for doing WDMA on disks
 that doesn't bother to tell whihc verson of the ATA spec they conform to.
 I think your case is the more seldom one, but I'm this close to
 blacklisting all WD/Maxtor drives, that would make life alot easier...

If you end up doing this, can you have the driver print a line letting 
people know this is intentional?  i.e., 

ad0: DMA disabled: This drive does not properly support DMA mode.
ad0: To force DMA for this drive (at your own risk) set flags 0xXX.

Doug White|  FreeBSD: The Power to Serve
[EMAIL PROTECTED] |  www.FreeBSD.org



To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: Problems with the ATA-driver

1999-12-21 Thread Soren Schmidt

It seems Doug White wrote:
  
  It probably because I relaxed the requirements for doing WDMA on disks
  that doesn't bother to tell whihc verson of the ATA spec they conform to.
  I think your case is the more seldom one, but I'm this close to
  blacklisting all WD/Maxtor drives, that would make life alot easier...
 
 If you end up doing this, can you have the driver print a line letting 
 people know this is intentional?  i.e., 
 
 ad0: DMA disabled: This drive does not properly support DMA mode.
 ad0: To force DMA for this drive (at your own risk) set flags 0xXX.

Sure, but belive me, this is _the_ last thing I want to do, but its
starting to look as if its the only possibility...

-Søren


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: Problems with the ATA-driver

1999-12-21 Thread Peter Wemm

Theo van Klaveren wrote:
 
 When installing the 08-dec-1999 snapshot (before ATA went in GENERIC),
  a recompile from the kernel with the ATA driver instead of the WD
 driver resulted in an unbootable system because of the following 
 error (approx.):
 
 mounting root /dev/ad0s1a
 ata-master: lost disk contact
 ata: resetting devices ..
 
 After this, the machine hangs and doesn't respond to anything but a push
 on the Big Red Button. A few days later, this was fixed by Soren (sp?) but
 it broke again as I recompiled my system yesterday (This was the first
 time after it had been fixed, so I don't know when exactly it broke).
 
 Harddisks: Western Digital Caviar (2.0 GB), non-DMA and
Western Digital Caviar (2.5 GB), DMA-33.
 Mainboard: Asus P5A-B Super7
 Chipset: ALi Aladdin V AGPset
 
 Taking the UDMA disk out doesn't help. Everything works just
 fine with the WD driver...

Same here, but with a toshiba laptop disk.  I have to comment out a version
test in ata-disk.c to get it to work.

--- ata-disk.c  1999/12/18 20:06:30 1.46
+++ ata-disk.c  1999/12/21 21:48:28
@@ -117,7 +117,7 @@
 static __inline int
 udmamode(struct ata_params *ap)
 {
-if ((ap-atavalid  4)  ad_version(ap-versmajor) = 3) {
+if ((ap-atavalid  4) /*  ad_version(ap-versmajor) = 3 */) {
if (ap-udmamodes  0x10) return (ap-cblid ? 4 : 2);
if (ap-udmamodes  0x08) return (ap-cblid ? 3 : 2);
if (ap-udmamodes  0x04) return 2;

Without this, ata thinks is's an ATA-0 disk and tries to use DMA mode.
However, it hangs with:

mounting root /dev/ad0s1a
ata-master: lost disk contact
ata: resetting devices ..

and never gets to "done" just like you.  If I remove the ATA version test and
just have it look at the "I support UDMA" bit, it runs in UDMA33 mode and
works fine.  I suspect that if it got a CRC error and tried to do a fallback
that it would hang there too, but I have not seen any.

I think the (plain) DMA code is broken somewhere.

Cheers,
-Peter
--
Peter Wemm - [EMAIL PROTECTED]; [EMAIL PROTECTED]; [EMAIL PROTECTED]



To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: Problems with the ATA-driver

1999-12-21 Thread Matthew Dillon

: it broke again as I recompiled my system yesterday (This was the first
: time after it had been fixed, so I don't know when exactly it broke).
: 
: Harddisks: Western Digital Caviar (2.0 GB), non-DMA and
:Western Digital Caviar (2.5 GB), DMA-33.
: Mainboard: Asus P5A-B Super7
: Chipset: ALi Aladdin V AGPset
: 
: Taking the UDMA disk out doesn't help. Everything works just
: fine with the WD driver...
:
:Same here, but with a toshiba laptop disk.  I have to comment out a version
:test in ata-disk.c to get it to work.
:
:...
:
:Without this, ata thinks is's an ATA-0 disk and tries to use DMA mode.
:However, it hangs with:
:
:mounting root /dev/ad0s1a
:ata-master: lost disk contact
:ata: resetting devices ..
:
:and never gets to "done" just like you.  If I remove the ATA version test and
:just have it look at the "I support UDMA" bit, it runs in UDMA33 mode and
:works fine.  I suspect that if it got a CRC error and tried to do a fallback
:that it would hang there too, but I have not seen any.
:
:I think the (plain) DMA code is broken somewhere.
:
:Cheers,
:-Peter
:--
:Peter Wemm - [EMAIL PROTECTED]; [EMAIL PROTECTED]; [EMAIL PROTECTED]

The thread 'vm_page_remove panic' that Tamiji Homma initiated may be
related.  She is getting a panic in the buffer cache subsystem while 
using the new ATA driver with softupdates + NFS exported filesystems.

I do not know if it is related, but I can say that I know of no other
vm_page_remove panic related to VM or NFS specifically, and softupdates
is known to stress-test IDE disks.

-Matt
Matthew Dillon 
[EMAIL PROTECTED]


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: Problems with the ATA-driver

1999-12-21 Thread Soren Schmidt

It seems Peter Wemm wrote:
 
 Same here, but with a toshiba laptop disk.  I have to comment out a version
 test in ata-disk.c to get it to work.

I've just a few hours ago committed a change that does this...
 
 --- ata-disk.c  1999/12/18 20:06:30 1.46
 +++ ata-disk.c  1999/12/21 21:48:28
 @@ -117,7 +117,7 @@
  static __inline int
  udmamode(struct ata_params *ap)
  {
 -if ((ap-atavalid  4)  ad_version(ap-versmajor) = 3) {
 +if ((ap-atavalid  4) /*  ad_version(ap-versmajor) = 3 */) {
 if (ap-udmamodes  0x10) return (ap-cblid ? 4 : 2);
 if (ap-udmamodes  0x08) return (ap-cblid ? 3 : 2);
 if (ap-udmamodes  0x04) return 2;

 Without this, ata thinks is's an ATA-0 disk and tries to use DMA mode.
 However, it hangs with:
 
 mounting root /dev/ad0s1a
 ata-master: lost disk contact
 ata: resetting devices ..
 
 and never gets to "done" just like you.  If I remove the ATA version test and
 just have it look at the "I support UDMA" bit, it runs in UDMA33 mode and
 works fine.  I suspect that if it got a CRC error and tried to do a fallback
 that it would hang there too, but I have not seen any.
 
 I think the (plain) DMA code is broken somewhere.

Its the same code as is used i UDMA mode :), its only the timing thats
different and the setup of the controller. It will never fall back
to a lower DMA rate, as lots of chipsets can't do that, it will always
fall back to PIO, which should work...

-Søren


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: Problems with the ATA-driver

1999-12-21 Thread Soren Schmidt

It seems Matthew Dillon wrote:
 
 The thread 'vm_page_remove panic' that Tamiji Homma initiated may be
 related.  She is getting a panic in the buffer cache subsystem while 
 using the new ATA driver with softupdates + NFS exported filesystems.
 
 I do not know if it is related, but I can say that I know of no other
 vm_page_remove panic related to VM or NFS specifically, and softupdates
 is known to stress-test IDE disks.

I dont think its related, I run multiple pure ATA disk systems here all
using softupdates and heavy loading, but no NFS, and I've never seen
that panic, that makes NFS a fine candidate for problems...

-Søren


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: Problems with the ATA-driver

1999-12-21 Thread Alex Zepeda

On Tue, 21 Dec 1999, Soren Schmidt wrote:

 It probably because I relaxed the requirements for doing WDMA on disks
 that doesn't bother to tell whihc verson of the ATA spec they conform to.
 I think your case is the more seldom one, but I'm this close to
 blacklisting all WD/Maxtor drives, that would make life alot easier...

Perhaps blacklisting all WD/Maxtor drives that don't report an ATA
version, as the ata (and wd) driver works flawlessly in UDMA33 mode with
my setup:

...
ata-pci0: Intel PIIX4 ATA controller at device 7.1 on pci0
ata-pci0: Busmastering DMA supported
ata0 at 0x01f0 irq 14 on ata-pci0
ata1 at 0x0170 irq 15 on ata-pci0
...
ad0: WDC AC313000R/15.01J55 ATA-4 disk at ata0 as master
ad0: 12416MB (25429824 sectors), 25228 cyls, 16 heads, 63 S/T, 512 B/S
ad0: 16 secs/int, 1 depth queue, UDMA33
...

Although I coulda sworn it was an ATA/66 device with the proper cable.
Hmm.  But hey, at least it works, reasonably fast too.  Nice job :)

- alex



To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message