Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 08 Dec 1995 10:14:12 +0100
From:      Gert-Jan.Vons@ocegr.fr
To:        questions@freebsd.org
Subject:   Re: 2.1R+PCVT+Xfree on Thinkpad (psm fix)
Message-ID:  <9512080914.AA13708@ocegr.fr>

Next in thread | Raw E-Mail | Index | Archive | Help

When booting my Thinkpad with a stock 2.1R kernel, either compiled with
or without PSM_NO_RESET, I get the following;

       Dec  7 22:56:03 paddy /kernel: psm0 not found at 0x60

The patch below allows it to attach and data to be read from the device:

       Dec  7 23:19:15 paddy /kernel: psm0 at 0x60-0x63 irq 12 on motherboard

Note that this driver is having other problems as well, like returning
EAGAIN on a read(), even when O_NDELAY isn't set.


I tried running XFree-3.1.1 (from the 2.0.5R distr) on my 2.1R setup,
and the keyboard is indeed completely dead. Don't think it is related
to the psm driver however, since I had the same problems when using
a Logitech mouse on the serial port.

This weekend, I will try XFree-3.1.2 from the 2.1R distr to see
whether it makes a difference. But for now, it seems that there is
something in the combination PCVT + scanset 2 + Xfree that is broken,
since PCVT + Xfree(-3.1.1) works fine on my 2.1R desktop system.

Anybody out there with a _working_ FBSD2.1R + PCVT + scanset 2 + Xfree
setup ?

	Gert-Jan

---------------------------------------------------------------------------
J.G. Vons, Oce engineering Creteil, France | E-mail: Gert-Jan.Vons@ocegr.fr

*** psm.c.org	Thu Sep 14 09:09:23 1995
--- psm.c	Thu Dec  7 23:11:42 1995
***************
*** 153,163 ****
--- 153,176 ----
  	psm_write_dev(ioport,0xff); /* Reset aux device */
  	psm_poll_status();
  #endif
+ 
+ #ifdef ORIG_CODE
  	outb(ioport+CNTRL,0xa9);
  	psm_poll_status();
  	outb(ioport+CNTRL,0xaa);
  	c = inb(ioport+DATA);
  	if(c&0x04) {
+ #else
+ 	/*
+ 	 * My Thinkpad apparently doesn't like the 0xaa (internal motherboard
+ 	 * controller selftest) command, the driver fails to attach during
+ 	 * the boot. The 0xa9 (test mouse port) works fine, it should return
+ 	 * 0x00 if everything is ok.		- vons@ocegr.fr, 5 dec 95
+ 	 */
+ 	outb(ioport+CNTRL,0xa9);
+ 	c = inb(ioport+DATA);
+ 	if(c != 0x00) {
+ #endif
  /*		printf("PS/2 AUX mouse is not found\n");*/
  		psm_command(ioport,0x65);
  		psmaddr[unit] = 0;	/* Device not found */



Want to link to this message? Use this URL: <http://docs.FreeBSD.org/cgi/mid.cgi?9512080914.AA13708>