Date: Thu, 27 Mar 1997 21:14:55 -0800 (PST) From: Ian Kallen <spidaman@well.com> To: Kazutaka YOKOTA <yokota@zodiac.mech.utsunomiya-u.ac.jp> Cc: freebsd-mobile@freebsd.org, freebsd-hackers@freebsd.org Subject: Re: (Dell Latitude) psm0/sc0 conflicts killing X? Message-ID: <Pine.GSO.3.93.970327210748.20706A-100000@well.com> In-Reply-To: <199703280333.MAA26251@zodiac.mech.utsunomiya-u.ac.jp>
index | next in thread | previous in thread | raw e-mail
Yes, I got almost the exact same messages, including
sc0: kbdc is LOCKED!! (scintr)
well, if you have a fix, I'd be happy to test it for you :) Shall I
revert to the original syscons.c or will patching it with the debugging
stuff be OK?
Thank You Very Much!
On Fri, 28 Mar 1997, Kazutaka YOKOTA wrote:
>
> >I don't know what else changed when I went from 2.2-GAMMA w/o PAO (Used
> >the zp drivers from the 3c589) to 2.2.1-RELEASE... I'm on a Dell XPi p100
> >and Xinside's X server was doing fine w/ 800X600 @256 but since I ran the
> >upgrade and applied the PAO patches, I've had to explicitly re-enable psm0
> >by booting w/ -c (other X won't start at all)
>
> I think this is normal. The psm driver is disabled in GENERIC kernel,
> with or without PAO, by default, isn't it?
>
> >but the keyboard is dead
> >once I'm in X. I tried reinstalling Xinside but that made no
> >differnce. Any comments or suggestions (if a look @ my kernel config
> >is needed to comment on it, I'll send that along as well) appreciated!
>
> I had a report from another Dell Latitude XPi owner stating that if he
> tries to change the keyboard repeat rate by kbdcontrol, his keyboard
> freezes. He and I are now chasing the problem. It appears that the
> keyboard controller of his Latitude behaves in an unusual way. I wonder
> the cause of your problem is similar to his.
>
> I would be very grateful if you could try the following patch to
> /sys/i386/isa/syscons.c, rebuild the kernel, and try `kbdcontrol -r
> fast' or try starting X. Please send me debug messages you see.
> You may see something like:
>
> sc0: enabling tty intr. (set_keyboard)
> sc0: about to send command and data (set_keyboard)
> sc0: command:xx data:yy ret:zz (set_keybard)
>
> in the console (vty0). If you see:
>
> sc0: kbdc is LOCKED!! (scintr)
>
> your problem is the same as his.
>
> Kazu
>
> --- syscons.c-1.205 Mon Mar 3 10:09:00 1997
> +++ syscons.c Mon Mar 24 12:04:57 1997
> @@ -647,6 +651,12 @@
> mark_all(cur_console);
> }
>
> + if (!kbdc_lock(sc_kbdc, TRUE)) {
> + log(LOG_DEBUG, "sc0: kbdc is LOCKED!! (scintr)\n");
> + return;
> + } else {
> + kbdc_lock(sc_kbdc, FALSE);
> + }
> /*
> * Loop while there is still input to get from the keyboard.
> * I don't think this is nessesary, and it doesn't fix
> @@ -3114,7 +3131,7 @@
> if ((c == -1)
> || !set_controller_command_byte(sc_kbdc,
> kbdc_get_device_mask(sc_kbdc),
> - KBD_ENABLE_KBD_PORT | KBD_DISABLE_KBD_INT
> + KBD_DISABLE_KBD_PORT | KBD_DISABLE_KBD_INT
> | KBD_DISABLE_AUX_PORT | KBD_DISABLE_AUX_INT)) {
> /* CONTROLLER ERROR */
> kbdc_lock(sc_kbdc, FALSE);
> @@ -3128,9 +3145,14 @@
> * but the timeout routine (`scrn_timer()') will be blocked
> * by the lock flag set via `kbdc_lock()'
> */
> + log(LOG_DEBUG, "sc0: enabling tty intr. (set_keyboard)\n");
> splx(s);
> + log(LOG_DEBUG, "sc0: about to send command and data (set_keyboard)\n");
>
> - send_kbd_command_and_data(sc_kbdc, command, data);
> + log(LOG_DEBUG, "sc0: command:%x data:%x ret:%x (set_keybard)\n",
> + command, data,
> + send_kbd_command_and_data(sc_kbdc, command, data));
> + send_kbd_command(sc_kbdc, KBDC_ENABLE_KBD);
>
> /* restore the interrupts */
> if (!set_controller_command_byte(sc_kbdc,
>
>
>
The next interface will not be another desktop metaphor.... Ian Kallen ....
http://www.well.com/user/spidaman/ ....the revolution will not be televised.
===== TO RECEIVE MY PGP KEY, SEND MAIL TO spidey-pgp-info@well.com =======
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.GSO.3.93.970327210748.20706A-100000>
