From owner-freebsd-stable Tue Jul 25 1:58:16 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 8C03A37B988 for ; Tue, 25 Jul 2000 01:58:09 -0700 (PDT) (envelope-from gram@cequrux.com) Received: (from nobody@localhost) by citadel.cequrux.com (8.8.8/8.6.9) id KAA28709; Tue, 25 Jul 2000 10:56:51 +0200 (SAST) Received: by citadel.cequrux.com via recvmail id 28705; Tue Jul 25 10:56:39 2000 Message-ID: <397D5726.559EE428@cequrux.com> Date: Tue, 25 Jul 2000 11:00:22 +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: Kazutaka YOKOTA Cc: "Jordan K. Hubbard" , stable@freebsd.org Subject: Re: psmintr: out of sync (0080 != 0000). ARGH! References: <25919.964459652@localhost> <397D415E.64DD5CE0@cequrux.com> <200007250846.RAA25921@zodiac.mech.utsunomiya-u.ac.jp> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-stable@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG Kazutaka YOKOTA wrote: > > >I'm also very willing to help. > [...] > >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. There is another behaviour which I forgot to mention - the zero byte can occur either before or after the sync byte. So I get three types of packets: zero sync X Y sync zero X Y sync X Y The last of these is the correct format; the other two are not. My hacked driver is capable of handling all three, and detecting transitions between them. Any particular behaviour can last anything from a few seconds to a few minutes before it changes to one of the other states. I had almost concluded that I just had buggy hardware, but after Jordan's message it seems that perhaps there is a bug somewhere in the code after all (although I think its as likely to be in kbd.c or elsewhere as it is in to be in psm.c - making it, as Jordan said, a real nasty to find). -- 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