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: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?9512080914.AA13708>
