Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 22 Sep 1998 20:40:01 -0700 (PDT)
From:      Kazutaka YOKOTA <yokota@zodiac.mech.utsunomiya-u.ac.jp>
To:        freebsd-bugs@FreeBSD.ORG
Subject:   Re: misc/8027: PS/2 intellimouse and "psmintr: out of sync" messages 
Message-ID:  <199809230340.UAA01703@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
The following reply was made to PR misc/8027; it has been noted by GNATS.

From: Kazutaka YOKOTA <yokota@zodiac.mech.utsunomiya-u.ac.jp>
To: tbuswell@mediaone.net
Cc: FreeBSD-gnats-submit@freebsd.org, yokota@zodiac.mech.utsunomiya-u.ac.jp
Subject: Re: misc/8027: PS/2 intellimouse and "psmintr: out of sync" messages 
Date: Wed, 23 Sep 1998 12:37:33 +0900

 >>Number:         8027
 >>Category:       misc
 >>Synopsis:       PS/2 intellimouse and "psmintr: out of sync" messages
 [...]
 >>Release:        FreeBSD 3.0-BETA i386
 >>Environment:
 >
 >	PS/2 "MS Intellimouse" and i386/isa/psm.c 1.54
 >
 >>Description:
 >
 >	No recovery is attempted when the psm driver detects
 >	that it is "out of sync" with the device.  Once this condition is
 >	reached, all subsequent activity with the mouse will generate a
 >	message such as:
 >		/kernel: psmintr: out of sync (00c8 != 0008).
 >	A reboot is required to regain error-free use of the mouse.
 
 The psm driver DOES try to resync with the data stream by skipping
 incoming bytes up to the next valid header byte.
 
 The reason why this fails and reinitialization of the the mouse is
 required in your case is described below.
 
 >>How-To-Repeat:
 >
 >	1) disconnect the mouse from the host
 >	2) reconnect the mouse
 >	3) move the mouse to generate "out of sync" messages.
 
 MS IntelliMouse uses the four-byte data packet to report wheel
 movement rather than the three-byte packet as used by the standard PS/2
 mouse.  However, in order to maintain compatibility with the standard
 PS/2 mouse, it initially uses the three-byte packet and switches to the
 four-byte packet after a specific device initialization procedure is
 carried out by the host computer. The psm driver does this
 initialization when the driver is attached in the boot sequence.
 
 This means, if you disconnect the IntelliMouse from your PC and
 reconnect it while FreeBSD is running, the mouse is put into the
 three-byte mode, but the psm driver has no way of knowing that the
 mouse is disconnected and reconnected and continue to think the mouse
 is sending four-byte packets.  Therefore, it won't be able to resync
 with the mouse; the data format expected by the driver and the packet
 sent by the mouse do not agree.
 
 I do not recommend that you unplug and re-plug PS/2 mice.  The PS/2
 mouse interface circuit is connected to the keyboard controller and is
 very susceptible to electric noise. I know a couple of friends who
 "FRIED" the keyboard controller by accidentally disconnected and
 reconnected the PS/2 mouse.  Unless the manual of your motherboard (or
 laptop computer) clearly states that you can do "hot
 plugging/unplugging" of the PS/2 mouse, you shouldn't do that while
 the power is on.
 
 Laptop computer MAY allow the user to plug/unplug the PS/2 mouse while
 the system is in the sleep/suspend/hibernation state.  In that case,
 you may want to try the kernel options: PSM_HOOKAPM and
 PSM_RESETAFTERSUSPEND.  See the man page for psm(4).
 
 Kazu
 

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message



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