Bug 67745 - boot fails on compaq presario r3000z
Summary: boot fails on compaq presario r3000z
Status: Closed FIXED
Alias: None
Product: Base System
Classification: Unclassified
Component: amd64 (show other bugs)
Version: Unspecified
Hardware: Any Any
: Normal Affects Only Me
Assignee: John Baldwin
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-06-09 12:00 UTC by Neil E. Winterbauer
Modified: 2005-08-11 08:20 UTC (History)
0 users

See Also:


Attachments
dmesg-netbsd-amd64-compaq_presario_r3140us (5.59 KB, application/octet-stream)
2004-06-25 09:41 UTC, shellreef
no flags Details
r3000z.diff (707 bytes, patch)
2004-07-06 16:50 UTC, Jung-uk Kim
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Neil E. Winterbauer 2004-06-09 12:00:47 UTC
Loader succeeds, boot fails.  All boot options (safe mode, disable acpi) fail.  Fails immediately, with nary a turn of the boot spinner (/-\|).  Fails with default modules loaded or unloaded.

How-To-Repeat: Attempt install on R3000Z.
Comment 1 shellreef 2004-06-25 09:41:08 UTC
>Loader succeeds, boot fails.  All boot options (safe 
>mode, disable acpi) fail.  Fails immediately, with
nary a
>turn of the boot spinner (/-\|).  Fails with default 
>modules loaded or unloaded.
Same problem occurs on Compaq Presario R3140US (which
is almost the same laptop), with FreeBSD amd64 5.2.1,
FreeBSD i386 5.2.1, and FreeBSD i386 4.10. Verbose
logging doesn't reveal any information. Debian amd64
sid and NetBSD 2.0-beta amd64 boot fine.

Any help greatly appreciated. Wish I could provide
more information, I'm open to suggestions on what to
try.

Attached is the dmesg of a successful boot of NetBSD
2.0 on the R3140US, I hope its helpful to FreeBSD
amd64 developers.


	
		
__________________________________
Do you Yahoo!?
New and Improved Yahoo! Mail - 100MB free storage!
http://promotions.yahoo.com/new_mail 
Comment 2 shellreef 2004-06-27 23:47:26 UTC
Here's some more data points. Boot fails on these models:

Compaq X1000
http://www.freebsdforums.org/forums/showthread.php?s=&threadid=20697
"It's a p4 2.4GhZ with 256MB ram, 64MB (shared) Radeon 9000GP w/
builtin Broadcom wlan b+g+bluetooth, DVD+CDRW... [...] I boot from cd
(no floppy drive) and I get to the initial menu to choose the
different ways to boot. I can choose any one of them and it starts to
boot, then stops turning, then power's off. "

Compaq Presario R3030
http://archive.pilgerer.org/mharc/html/freebsd-current/2004-05/msg00533.html
"CVS checkout of last thursday [May 6th, 2004], made complete new CD set.
[...] Everything goes nice (for the first few seconds ;-))
than I get the "Welcome to FreeBSD!" bootmenu,
but whatever I choose here, it displays the kernel load message
and then shuts power off ...."

HP Pavilion zv5000z
http://archive.pilgerer.org/mharc/html/freebsd-current/2004-06/msg01951.html
"There are at least 5 other people I have noticed who
have expressed this behavior in different places.
I would be willing to run some kind of diagnostic on
my equipment if you can recommend something. FBSD 4.10 [i386
gives no error messages. It just powers down after a
few seconds."

Compaq Presario R3000Z Series
http://www.freebsd.org/cgi/query-pr.cgi?pr=amd64/67745 - original bug report

Compaq Presario R3140US - personally confirmed

NetBSD and Linux can boot the same computers with no problem:
http://www1.uop.edu/~khughes/presario-r3120us/ - Slackware
http://cmb.phys.cwru.edu/kisner/linux/compaq-r3000/ - (R3190US) Debian
http://xyzzy.freeshell.org/dmesg-gentoo-amd64-compaq_presario_r3140us
http://xyzzy.freeshell.org/dmesg-netbsd-i386-compaq_presario_r3140us
http://xyzzy.freeshell.org/dmesg-netbsd-amd64-compaq_presario_r3140us

I'm cc'ing this to freebsd-ia32 and freebsd-mobile as this isn't
exclusively an AMD64 issue, it occurs on Pentium 4 notebooks as well
as Athlon 64's under i386 mode. Its seems to be specific to newer
HP/Compaq laptops.

Any suggestions or fixes would be greatly appreciated. :) I really
want to get FreeBSD on this machine so I'll try just about anything.

Thanks,
-Jeff Connelly
Comment 3 shellreef 2004-06-28 08:31:35 UTC
FYI Jung-uk Kim responded to this issue but it didn't make it to gnats:

http://lists.freebsd.org/pipermail/freebsd-amd64/2004-June/001636.html

Anyone want to take a stab at it?
Comment 4 Jung-uk Kim 2004-07-06 16:50:37 UTC
A workaround is attached.  For more verbose info, see:

http://docs.freebsd.org/cgi/mid.cgi?200407021130.58247.jkim

Cheers,

Jung-uk Kim
Comment 5 Scott Long 2004-08-07 16:27:18 UTC
I'd like to get this fixed for 5.3 but I also don't feel comfortable 
with completely turning off the keyboard and aux port tests.  Can 
someone experiment to see if both test_kbd_port() and test_aux_port()
need to be disabled?  Also, both functions are called from several 
places; it would be useful to find out if they can actually be called
from certain places but not others.

Scott
Comment 6 Jung-uk Kim 2004-08-09 17:31:04 UTC
On Saturday 07 August 2004 11:30 am, Scott Long wrote:
> The following reply was made to PR amd64/67745; it has been noted
> by GNATS.
>
> From: Scott Long <scottl@samsco.org>
> To: freebsd-gnats-submit@FreeBSD.org, newntrbr@ucla.edu
> Cc:
> Subject: Re: amd64/67745: boot fails on compaq presario r3000z
> Date: Sat, 07 Aug 2004 09:27:18 -0600
>
>  I'd like to get this fixed for 5.3 but I also don't feel
> comfortable with completely turning off the keyboard and aux port
> tests.  Can someone experiment to see if both test_kbd_port() and
> test_aux_port() need to be disabled?

I think test_kbd_port() patch is necessary.  However, like I said 
before, you can add a keyboard controller driver option to minimize 
any impact on other platforms, e. g., hint.atkbdc.0.flags, in 
dev/kbd/atkbdc.c.  Or simply, you can extend the meaning of the 
existing keyboard driver option, e. g., KB_CONF_NO_RESET 
(hint.atkbd.0.flags="0x2"), or add another option (KB_CONF_NO_TEST?) 
not to call test_kbd_port() from dev/atkbd.c.  After that, all we 
have to do is documentation. ;-)

test_aux_port() patch is not absoulutely necessary AFAIK.  If you 
don't turn it off, aux port doesn't work.  I have gut feeling that 
the following commit fixed the problem, though.

http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/isa/psm.c.diff?r1=1.23.2.8&r2=1.23.2.9

I cannot verify it any more because I don't have the laptop any 
more. :-(

> Also, both functions are called from several places; it would be
> useful to find out if they can actually be called from certain
> places but not others. 

Unfortunately the keyboard controller driver is a big mess. :-(  Any 
way, this function is only used in two files, i. e., dev/kbd/atkbd.c 
and isa/psm.c.  isa/psm.c uses it to recover from error, i. e., 
recover_from_error().  However, this is only for aux port.  In fact, 
this is really ugly hack.  Comment from the recover_from_error() 
speaks for itself:

/*
 * NOTE: somehow diagnostic and keyboard port test commands bring the
 * keyboard back.
 */

This is very wrong and aux port driver must not touch keyboard port at 
all, IMHO.  However, this problem may not exist any more because of 
the above commit, i. e., no error -> no recovery. ;-)

Thanks,

Jung-uk Kim

>  Scott
Comment 7 andrew.lankford 2004-08-12 02:19:34 UTC
Instead of totally disabling test_kbd_port and test_aux_port
completely with Jung-uk Kim's patch, Scott Long suggested
that I try removing one or two calls to test_kbd_port at a
time from atkbd.c.  My first guess at the problem was the 
first time test_kbd_port was called in probe_keyboard():

--- atkbd.c.old Tue Aug 10 22:40:35 2004
+++ atkbd.c Tue Aug 10 22:41:07 2004
@@ -1117,7 +1117,7 @@
   * to set the command byte to particular values.
   */
  test_controller(kbdc);
- test_kbd_port(kbdc);
+ //test_kbd_port(kbdc);
 
  err = get_kbd_echo(kbdc);
 
This patch fixes my booting problems.  Any problems with
test_aux_port have most likely already been fixed by a
recent commit.
 
Andrew Lankford
Comment 8 Nicolas Blais 2004-09-22 04:10:57 UTC
Hi,

I have a Compaq Presario R3000 too (A64-3200) and I can't boot 5.3-BETA5 or 
any other iso.  Will any work around make it to 5.3-RELEASE?

Thanks,
Nicolas.
Comment 9 Jung-uk Kim 2004-10-07 22:05:48 UTC
I just tested Andrew Lankford's patch and verified it worked.

Thanks,

Jung-uk Kim
Comment 10 dmitri don 2004-10-18 18:54:34 UTC
Hi,

I just tried to boot with 5-1.3-RC1-i386-miniinst and all boot options 
fail. Laptop just turns off after the boot spinner (/-\|). I have a 
Presario R3000 Intel machine. You can contact me if something needs to 
be tested on this machine.

Thanks,
Dmitri
Comment 11 Nicolas Blais 2004-10-30 20:35:54 UTC
How come the patch exists.... works perfectly.... and isn't being commited?

Nicolas.
Comment 12 shellreef 2004-11-03 20:19:35 UTC
RC2 was released yesterday, and this patch still
hasn't
been applied.

Can someone please apply it, or at least increase the
priority so it gets noticed? Thanks...

-Jeff


		
__________________________________ 
Do you Yahoo!? 
Check out the new Yahoo! Front Page. 
www.yahoo.com
Comment 13 john 2004-11-03 22:39:28 UTC
Ok, can someone please try the attached patch and see if setting 
'hint.atkbd.0.flags=8' fixes the problem with the patch applied?  Thanks.

Index: atkbd.c
===================================================================
RCS file: /usr/cvs/src/sys/dev/kbd/atkbd.c,v
retrieving revision 1.43
diff -u -r1.43 atkbd.c
--- atkbd.c	10 Jun 2004 20:30:56 -0000	1.43
+++ atkbd.c	3 Nov 2004 22:37:55 -0000
@@ -1117,7 +1117,8 @@
 	 * to set the command byte to particular values.
 	 */
 	test_controller(kbdc);
-	test_kbd_port(kbdc);
+	if (!(flags & KB_CONF_NO_PROBE_TEST))
+		test_kbd_port(kbdc);
 
 	err = get_kbd_echo(kbdc);
 
Index: atkbdreg.h
===================================================================
RCS file: /usr/cvs/src/sys/dev/kbd/atkbdreg.h,v
retrieving revision 1.6
diff -u -r1.6 atkbdreg.h
--- atkbdreg.h	19 Mar 2000 03:25:12 -0000	1.6
+++ atkbdreg.h	3 Nov 2004 22:37:22 -0000
@@ -35,6 +35,7 @@
 #define KB_CONF_FAIL_IF_NO_KBD	(1 << 0) /* don't install if no kbd is found 
*/
 #define KB_CONF_NO_RESET	(1 << 1) /* don't reset the keyboard */
 #define KB_CONF_ALT_SCANCODESET	(1 << 2) /* assume the XT type keyboard */
+#define	KB_CONF_NO_PROBE_TEST	(1 << 3) /* don't test keyboard during probe */
 
 #ifdef _KERNEL
 

-- 
John Baldwin <john@baldwin.cx>  <><  http://www.baldwin.cx/~john/
"Power Users Use the Power to Serve"  =  http://www.FreeBSD.org
Comment 14 Nicolas Blais 2004-11-04 01:42:01 UTC
If I had a working ISO, I could test it right now.

Nicolas.
Comment 15 Ade Lovett freebsd_committer freebsd_triage 2004-11-19 05:30:53 UTC
Well FWIW, yes, this patch does seem to move things along a little for 
my R3000Z - it now boots, but gets stuck further down the line with:

[...]
ata0-master: setting PIO4 on nVidia nForce3 chip
ata0-master: setting UDMA100 on nVidia nForce3 chip
ad0: <TOSHIBA MK8026GAX/PA002G> ATA-6 disk at ata0-master
[more ad0 identifying info]
GEOM: new disk ad0

ata1-master: setting PIO4 on nVidia nForce3 chip
acd0: <SD-R2512/1A04> CDRW drive at ata1 as master
[mode acd0 identifying info]
[fdisk table]
GEOM: Configure ad0s1, start 32256 length 62915134454 end 62915166719
GEOM: Configure ad0s2, start 62915166720 length 17108582400 end 80023749119

At this point, the machine freezes solid.

Now, this could be down to the way I built the miniinst (essentially by 
hand-stepping through make release on an x86->amd64 cross-compile -- my 
other amd64-based box is completely shot thanks to the local power 
company) -- I'd need a native amd64-built miniinst to confirm.

-aDe
Comment 16 colin 2004-11-20 00:23:26 UTC
I did the exact same process as Ade (though rather less elegantly, as I'm
new to this sort of thing) and have been running into the exact same error.
I'll see if I can get access to a native amd64 machine over the next week or
so -- perhaps I or someone else could release a patched miniinst image?

Colin
Comment 17 Nicolas Blais 2004-11-20 20:52:40 UTC
A patched mini-inst or even a patched cdboot iso would be great.  I could test 
it at any moment as I have 2 NForce3 (a R3040 and R3140) laptops.

Nicolas.
Comment 18 avtargill 2004-12-04 19:37:02 UTC
I just tried booting a FreeBSD 5.3 RELEASE iso for the amd64 platform
on a Compaq R3320CA laptop and experienced the same boot problem. The
laptop shuts down after hanging for a couple minutes at the boot
spinner (/-\|).
Comment 19 John Baldwin freebsd_committer freebsd_triage 2004-12-15 23:06:53 UTC
State Changed
From-To: open->patched

Fix committed to HEAD, will be MFC'd in a week or so.
Comment 20 John Baldwin freebsd_committer freebsd_triage 2004-12-15 23:09:02 UTC
Responsible Changed
From-To: freebsd-amd64->jhb

Take this one since it's on my MFC list now.
Comment 21 John Baldwin freebsd_committer freebsd_triage 2005-01-07 20:38:12 UTC
State Changed
From-To: patched->closed

Fix has been merged to RELENG_5 and will be present in 5.4.
Comment 22 pierg75 2005-08-11 08:27:40 UTC
Hi.
I've tried to install FreeBSD on a HP ZV6069AE notebook.
It's a AMD64 3500+ with that new ATI chipset, the xpress200.
I've tried all the freebsd releases, from 5.3 till 6.0-beta2, but
allway it hangs on boot.
No matter if i disable acpi...it always hangs.


Pier