From owner-freebsd-stable Tue Jul 25 0:24:49 2000 Delivered-To: freebsd-stable@freebsd.org Received: from citadel.cequrux.com (citadel.cequrux.com [192.96.22.18]) by hub.freebsd.org (Postfix) with ESMTP id B1B2B37BE4A; Tue, 25 Jul 2000 00:24:37 -0700 (PDT) (envelope-from gram@cequrux.com) Received: (from nobody@localhost) by citadel.cequrux.com (8.8.8/8.6.9) id JAA21084; Tue, 25 Jul 2000 09:24:16 +0200 (SAST) Received: by citadel.cequrux.com via recvmail id 21080; Tue Jul 25 09:23:44 2000 Message-ID: <397D415E.64DD5CE0@cequrux.com> Date: Tue, 25 Jul 2000 09:27:26 +0200 From: Graham Wheeler Organization: Cequrux Technologies X-Mailer: Mozilla 4.7 [en] (X11; U; FreeBSD 2.2.8-RELEASE i386) X-Accept-Language: en MIME-Version: 1.0 To: "Jordan K. Hubbard" Cc: kazu@freebsd.org, stable@freebsd.org Subject: Re: psmintr: out of sync (0080 != 0000). ARGH! References: <25919.964459652@localhost> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-stable@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG "Jordan K. Hubbard" wrote: > > P.S. In case I failed to make such clear by inference, I'm more than > willing to do whatever I can in helping Kazu track this down. I'm > also interested in testing any solution he might be able to come up > with as an 11th-hour fix to -stable which enables 4.1-RELEASE to be an > enjoyable experience for us both. :) I'm also very willing to help. This *may* help: when I was trying to figure out what was going on, prior to making the hacks that I did, I noticed that the values read from the kbd driver (or maybe from the actual port; I can't remember now), made sense - except that when the driver lost sync, it was because suddenly the usual three-byte logical grouping broke, and each logical packet seemed to consist of four bytes, the extra byte being a zero byte. Then at some later stage, this problem would go away, and there would be three byte packets again - and so on. The hacks that I made, which have made my mouse completely usable (that's not to say perfect, but I seem to have reduced the problem to only the transitions between the 3-byte and 4-byte states), perform extra sanity checks on the data and try to detect when these transitions occur. After a transition to the 4-byte state, my code drops the zero bytes that are being inserted; after a transition back to the three byte state, they stop dropping these. I sent Jordan my kludged driver; I'm not sure if I sent it to you, Kazu. Let me know if you want to look at it. It's ugly, but I was desperate to be able to use X and so the elegance wasn't an issue. To solve the problem properly, one would have to figure out where these zero bytes come from and why they occur. -- Dr Graham Wheeler E-mail: gram@cequrux.com Director, Research and Development WWW: http://www.cequrux.com CEQURUX Technologies Phone: +27(21)423-6065 Firewalls/VPN Specialists Fax: +27(21)424-3656 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-stable" in the body of the message