Re: ad driver fails on 6.2, OK on 4.11 with Dell Latitude XPi P133ST

Ian Smith <[email protected]>
Newsgroups gmane.os.freebsd.devel.mobile
Message-ID <[email protected]>
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

_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-mobile
To unsubscribe, send any mail to "[email protected]"
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.