Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 24 Apr 2004 01:00:22 +0100
From:      John Murphy <jfm@blueyonder.co.uk>
To:        newbies@freebsd.org
Subject:   New day, new drive (Was 'going small')
Message-ID:  <523j80dedv1lqpnmpphkfv80vguaqh2hp4@4ax.com>

next in thread | raw e-mail | index | archive | help
I said "It's pointless to have such a nice new thing spoilt by
a clunky old 1.3GByte disk drive which is so fat I can't get
the lid on"

She said "Well what about that one you said you could use?"

"It's broken" I exclaimed.

"You are supposed to be able to fix things" She continued...

Anyway, the 40G Fujitsu arrived double bubble wrapped today so
I went ahead and attempted to re-install 5.2.1 and got very
similar errors to the ones I saw on the "broken" drive.

The messages were the same but the locations were slightly
different.  I remembered something about creating a small
=46AT16 slice helping in such situations so I verified all the
partitions/slices with Ranish Partition Manager[1] and then
deleted all the partition records and created a 64K or so
partition.  No improvement.

I'm doing this on my main (only) desktop therefore no resources
available for consultation without using hers.  No means of
copying error messages[2] but it was something like:

ad0:WARNING - write UDMA ICRC error
ad0:FAILURE - write dma status=3D51<READY,DSC,ERROR> error 84
ad0:FAILURE - write dma status=3D51<IRC,ABORTED>LBA=3D65 (to)
ad0:FAILURE - write dma status=3D51<IRC,ABORTED>LBA=3D78
and so on; each time four blocks possibly located at slice
boundaries.

My first thought was to write to questions@freebsd.org and CC
hackers@ and a few others, but thought I'd better consult the
documentation first ;) In Section 3 Open issues at:
http://www.uk.freebsd.org/releases/5.2.1R/errata.html
It says: (9 Jan 2004, updated 28 Feb 2004)
In some cases, ATA devices may behave erratically, particularly
SATA devices. Reported symptoms include command timeouts or
missing interrupts. These problems appear to be timing-dependent,
making them rather difficult to isolate. Workarounds include:

* Turn off ATA DMA using the ``safe mode'' option of the
  bootloader or the hw.ata.ata_dma sysctl variable.
* Use the host's BIOS setup options to put the ATA controller in
  its ``legacy mode'', if available.
* Disable ACPI, for example using the ``safe mode'' option of the
  bootloader or using the hint.acpi.0.disabled kernel environment
  variable.

So I tried the middle way first as the BIOS had certainly got the
drive geometry wrong anyway - so I set it to the C/H/S fbsd fdisk &
ranish had calculated.  No change.

The 5.2.1 boot process draws an ASCII beastie and gives several boot
options triggerable by a number key press, so I pressed 3 for safe
mode.  Entered ufs:ad0s1a at the next prompt and installed without
error.  Getting somewhere at last, or so I thought, the first attempt
to boot the installation was riddled with UDMA IRC errors.

I let the errors run and eventually they stopped at a login prompt.
So I logged in as rad0:WARNING - write UDMA ICRC erroroad0:FAILURE
- write dma status=3D51<READY,DSC,ERROR> error 84oad0:FAILURE - write
dma status=3D51<IRC,ABORTED>LBA=3D65t

Managed to re-boot or re-set, can't remember which, and tried booting
in safe mode but the file system was truly trashed.

Re-installed (in safe (no dma) mode) and booted the installed OS in
safe mode - whoopee, five vr0 watchdog timeouts after starting sshd
but stability at last.

So where's the sysctl to turn off dma setable from? /etc/sysctl.conf?
Nope.  It's not writeable from there.  Added 'hw.ata.ata_dma=3D"0"' to
/boot/loader.conf and the rest was easy.

It's just sitting on the LAN, it's as quiet as a Lamb.
Should I enable dma?[3] NO DON'T! I hear you say.

[1] Ranish Partition Manager http://www.ranish.com/part/ is just so
    handy sometimes.  Boots swiftly from a floppy and even recognises
    freebsd partitions.
    Ranish failed to verify partitions on the "broken" drive.

[2] There's probably a way to write all error messages to a file on a
    floppy or to some other safe media.  I bet developers do it all
    the time.

[3] Yeah I know - I shouldn't ask technical questions on newbies@. :)

--=20
John.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?523j80dedv1lqpnmpphkfv80vguaqh2hp4>