From owner-FreeBSD-users-jp@jp.freebsd.org  Tue Oct 27 21:43:23 1998
Received: by jaz.jp.freebsd.org (8.9.1+3.1W/8.7.3) id VAA23614;
	Tue, 27 Oct 1998 21:43:23 +0900 (JST)
	(envelope-from owner-FreeBSD-users-jp@jp.FreeBSD.org)
Received: from outmail.utsunomiya-u.ac.jp (outmail.utsunomiya-u.ac.jp [160.12.196.3])
	by jaz.jp.freebsd.org (8.9.1+3.1W/8.7.3) with ESMTP id VAA23607
	for <freebsd-users-jp@jp.freebsd.org>; Tue, 27 Oct 1998 21:43:20 +0900 (JST)
	(envelope-from yokota@zodiac.mech.utsunomiya-u.ac.jp)
Received: from zodiac.mech.utsunomiya-u.ac.jp (IDENT:hoO9h+AfGK+sth2x3IVUGxgdT8TyoNKC@zodiac.mech.utsunomiya-u.ac.jp [160.12.42.1])
	by outmail.utsunomiya-u.ac.jp (8.9.1/8.9.1) with ESMTP id VAA16053
	for <freebsd-users-jp@jp.freebsd.org>; Tue, 27 Oct 1998 21:43:19 +0900 (JST)
Received: from zodiac.mech.utsunomiya-u.ac.jp (zodiac.mech.utsunomiya-u.ac.jp [160.12.42.1]) by zodiac.mech.utsunomiya-u.ac.jp (8.7.6+2.6Wbeta7/3.4W/zodiac-May96) with ESMTP
	id VAA27577; Tue, 27 Oct 1998 21:44:40 +0900 (JST)
Message-Id: <199810271244.VAA27577@zodiac.mech.utsunomiya-u.ac.jp>
To: FreeBSD-users-jp@jp.freebsd.org
cc: shiba@ics.es.osaka-u.ac.jp, yokota@zodiac.mech.utsunomiya-u.ac.jp
In-reply-to: Your message of "Tue, 27 Oct 1998 21:27:39 JST."
             <19981027212739M.shiba@ics.es.osaka-u.ac.jp> 
References: <19981027212739M.shiba@ics.es.osaka-u.ac.jp> 
Date: Tue, 27 Oct 1998 21:44:34 +0900
From: Kazutaka YOKOTA <yokota@zodiac.mech.utsunomiya-u.ac.jp>
Reply-To: FreeBSD-users-jp@jp.freebsd.org
Precedence: list
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+980914
X-Sequence: FreeBSD-users-jp 34540
Subject: [FreeBSD-users-jp 34540] Re: ps/2 mouse not recognized 
Errors-To: owner-FreeBSD-users-jp@jp.freebsd.org
Sender: owner-FreeBSD-users-jp@jp.freebsd.org

$@2#ED!w1'ET5\$G$9!#(J

>kernel $@$,(J ps/2 mouse $@$rG'<1$7$J$/$F:$$C$F$$$^$9!#(J
>$@$3$N>u67$O!"%$%s%H!<%k$7$?$H$-$+$iA4A3JQ$o$j$^$;$s!#(J
>(Windows98 $@$G$OG'<1$7$?$N$G$9$,!D!#(J)
>
>$@%7%9%F%`9=@.$O0J2<$NDL$j$G$9!#(J
> $@!&(JFreeBSD 2.2.7-Release
> $@!&(JDell Dimension XPS R450
> $@!&(JGraphic Card: STB Velocity 128
> $@!&(JNetwork Card: 3Com 3C905B-TX
>
>$@;d$O$3$NLdBj$KBP$7$F0J2<$N$h$&$J$3$H$r$d$C$F$-$^$7$?$,!"A4A38z2L$,(J
>$@$"$j$^$;$s$G$7$?!#(J($@5/F0%a%C%;!<%8$bJQ2=$"$j$^$;$s$G$7$?!#(J)
[...]
>$@$=$7$F!"$3$N$h$&$J>u67$G(J boot: -v $@$H$7$FN)$A>e$2$?$H$-$N(J dmesg $@$N4X78$9$k(J
>$@$H;W$o$l$kItJ,$O0J2<$NDL$j$G$9!#(J
>
>psm0: current command byte:0047
>kbdio: TEST_AUX_PORT status:00fa
                             ~~~~
>kbdio: DIAGNOSE status:0055
>kbdio: TEST_KBD_PORT status:00fa
>psm: keyboard port failed.
>psm0: the aux port is not functioning (250).
>psm0 not found at 0x60

Dell Dimension $@$N%^%6!<%\!<%I$K$D$$$F$O!$:G6aJ#?t$N%f!<%6$+$i(J PS/2 $@%^(J
$@%&%9$rG'<1$G$-$J$$!$$H$$$&O"Mm$,$"$j!$$I$&$b%^%6!<%\!<%I>e$N%-!<%\!<%I(J
$@%3%s%H%m!<%i$N8_49@-$KLdBj$,$"$k$i$7$$$3$H$,$o$+$C$F$$$^$9!#(J

$@$3$N>l9g0J2<$N$h$&$J%Q%C%A$r$"$F$k$H$3$NLdBj$r2sHr$G$-$^$9!#%Q%C%A$r(J 
/sys/i386/isa/psm.c $@$K$"$F$F%+!<%M%k$r:F9=C[$7%j%V!<%H$7$F$_$F2<$5$$!#(J

	% su
	% cd /sys/i386/isa
	% cp -p psm.c psm.c-bakcup
	% patch < $@$3$N%a%$%k(J
	% cd /sys/conf/i386
	% config GENERIC
	% cd /sys/compile/GENERIC
	% make depend
	% make
	% make install
	% shutdown -r now

Index: psm.c
===================================================================
RCS file: /src/CVS/src/sys/i386/isa/psm.c,v
retrieving revision 1.54
diff -u -r1.54 psm.c
--- psm.c	1998/07/06 16:10:06	1.54
+++ psm.c	1998/10/12 01:40:02
@@ -576,6 +576,7 @@
 
     switch((i = test_aux_port(kbdc))) {
     case 1:	/* ignore this error */
+    case PSM_ACK:
 	if (verbose)
 	    log(LOG_DEBUG, "psm%d: strange result for test aux port (%d).\n",
 	        unit, i);
@@ -807,9 +808,11 @@
      * it has the perfectly functional aux port. We have to ignore this
      * error code. Even if the controller HAS error with the aux port,
      * it will be detected later...
+     * XXX: another incompatible controller returns PSM_ACK (0xfa)...
      */
     switch ((i = test_aux_port(sc->kbdc))) {
     case 1:	   /* ignore this error */
+    case PSM_ACK:
         if (verbose)
 	    printf("psm%d: strange result for test aux port (%d).\n",
 	        unit, i);
