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>