ad driver fails on 6.2, OK on 4.11 with Dell Latitude XPi P133ST
Ian Smith
smithi at nimnet.asn.au
Wed Apr 18 06:03:05 UTC 2007
On Tue, 17 Apr 2007 18:43:01 +0200, Julian Stacey wrote:
> FreeBSD-mobile folks, Advice please for a Dell Latitude XPi P133ST :
> Summary: 2 problems:
> - ad driver fails on 6.2, OK on 4.11
> - MBR problem ?
>
> Laptop runs 4.11-RELEASE OK. ( Installed a year back when I
> installed the MBR ready with space for FreeBSD-6 later).
>
> I have this fdisk layout
> F1 The data for partition 1 is: sysid 165,(FreeBSD/NetBSD/386BSD)
> 4.11 start 63, size 1228689 (599 Meg), flag 80 (active)
> beg: cyl 0/ head 1/ sector 1; end: cyl 1023/ head 15/ sector 63
> F2 The data for partition 2 is: sysid 165,(FreeBSD/NetBSD/386BSD)
> 6.2 start 1228752, size 1228689 (599 Meg), flag 80 (active)
> beg: cyl 195/ head 0/ sector 1; end: cyl 389/ head 14/ sector 63
> F3 The data for partition 3 is: sysid 165,(FreeBSD/NetBSD/386BSD)
> /usr1 start 2457441, size 5550111 (2710 Meg), flag 80 (active)
> beg: cyl 389/ head 15/ sector 1; end: cyl 775/ head 15/ sector 63
Firstly, it looks weird having flag 80 (active) on more than one slice;
I'm not sure what the MBR boot manager would make of that (as it usually
offers the currently marked active slice as default).
Also the break between slices 2 and 3 looks possibly unusual, F3 not
starting on a (CHS) head 0 sector 1; this might be ok but it might
explain 6.2 install fdisk wanting to start your slice 3 a bit later on.
> I NFS'd a 6.2 on, but on reboot, F2 just beeped; I suspected a
> corrupt MBR, so to test, on 4.11 did :
> cd /usr/src; make install
> dd if=/dev/ad0c of=/dev/ad1c
Is ad1 a separate drive you haven't mentioned? and ad0c doesn't make
sense to me anyway (ad0s1c maybe). What were you trying to do here?
> disklabel -B /dev/ad0s2
> reboot
So you installed 4.11 bootstrap code on your 6.2 slice?
> F2 just beeped again. (same beep as for an invalid key)
Mmm. Sounds like you want a new MBR with the right data, and I'd
suggest using 6.2 to fix that, not 4.11 .. see below.
> Restored F2 back to 6.2 using NFS + AMD from another 6.2-RELEASE box &
> setenv DESTDIR /host/test/a
> grep "CFLAGS /etc/make.conf # "CFLAGS += -march=i586
> cd /usr/src;make clean all install # & install kernel etc
> F2 still just beeped.
Can't comment on that procedure.
> Booted 6.2-RELEASE floppies,
> 6.2 kernel saw nothing on disc ! Offered ito install on whole disc.
> I told it to to use same 1228689 for F1 & 1228689 for F2 as above,
> ( & it came up with 5552064 not 5550111 ) for F3. I accepted &
> aloc'd F2 with / & var & usr & no swap, & F3 mainly for /usr1 with
> 300M swap at end). I told it to set normal FreeSBD boot manager
> etc, then it failed to write with:
> ad0 timeout READ_DMA timed out
Sure your BIOS hasn't got 'virus protection' MBR writes prohibited?
> Reboot ... No sign 6.2 has ever written disc. F2 6.2 is intact
> with data I'd expected wiped if 6.2 boot from floppy + newfs had succeeded.
> Is 6.2 ad driver too ambitious during install ? Needs more
> conservative sysctls to avoid failures to upgrade/ install ?
>
> F1 4.11 is intact so I can easily run tests anyone might suggest. I ran
> dd if=/dev/ad0 of=/dev/null
> to see if any block errors. - None reported.
> 8007552+0 records 4099866624 bytes (1633191 bytes/sec)
That's some good news :)
> About the only other thing I can think of is somehow within the floppy install
> trying to add the equivalent of:
> /boot/loader.conf
> hw.ata.ata_dma="0"
> hw.ata.wc="0"
> Though I dont believe that will solve the F2 beep.
I tend to doubt that this is really a dma (or for that matter, ata)
problem; it might be spurious to the problem of having a crook MBR or
your 6.2 boot blocks mangled.
If it were me, I think I'd use 6.2 sysinstall to a) preserve your 4.11
slice, of course; b) delete slices 2 and 3 completely; then c) allocate
slice 2 afresh (600MB is a bit teensy for 6.2, I'd have thought, and it
might be safer in this present context to put your swap on ad0s2 also)
and partition/label (for now) just slice 2, then install 6.2 minimally.
And of course install the standard FreeBSD boot manager from 6.2; that
should leave your 4.11 slice alone ok, but properly install 6.2 boot
blocks in s2, and a fresh good MBR.
You can easily allocate the remaining space for your third /usr1 slice
later, once happily installed .. my maxim with sysinstall is if you just
do one thing at a time with it, then it'll probably work out ok :)
Good luck,
Ian
> ad0: 3909MB <TOSHIBA MK4006MAV> [7944/16/63] at ata0-master WDMA2
More information about the freebsd-mobile
mailing list