Headless keyboard problem.

Hello,
I have problem on some computers with motherboard “Intel D865GLCLK” on
Win2000 server
( driver I8042prt.sys from 06/19/2003).
I add hotplugging capability:
The new value “Headless”=dword:1
“ReportResetErrors”=dword:1
under key:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters]

I understand that may be it is PC/2 controller problem.
Unfortunately the last DDK sample of I8042prt driver
does not contains hotplugging capability,
but I try to investigate this problem (using DDK sample).
I changed I8xInitializeKeyboard and replace I8042prt.sys driver
In this version I8xInitializeKeyboard routine always return
STATUS_SUCCESS and
“hotplugging keyboard” works.
It seems to me that it is not PC/2 controller problem.
but I do not have source of last version I8042prt.sys in order to
investigate this problem.
Any thoughts or suggestions would be greatly appreciated.
Best regards
Mark

I think you meant server 2003, not server 2000. Install the ddk from server 2003, it ships the i8042prt driver that is in the build so you do have the latest source for the driver. Look in pnpi8042\i8042dep.c at the function I8xServiceParameters. If there is a defaultHeadless local variable, then you have the most recent sources and you can go from there. I8042prt!Globals.Headless is the value that gets set.

d


From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of Mark Shnaider
Sent: Tuesday, May 11, 2004 6:36 AM
To: Windows System Software Devs Interest List
Subject: [ntdev] Headless keyboard problem.

Hello,
I have problem on some computers? with motherboard “Intel D865GLCLK” on Win2000 server
( driver? I8042prt.sys? from 06/19/2003).
I add hotplugging capability:
The new value? “Headless”=dword:1
??? “ReportResetErrors”=dword:1
under key:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters]?
I understand that may? be? it is PC/2 controller problem.
Unfortunately the last DDK sample of? I8042prt driver
?does not contains? hotplugging capability,
but I? try to? investigate this problem (using DDK sample).
I changed I8xInitializeKeyboard??? and replace I8042prt.sys driver
In this version?? I8xInitializeKeyboard? routine always? return STATUS_SUCCESS? and
“hotplugging? keyboard” works.
It seems to me that it is not PC/2 controller problem.
but I do not have source of?? last version? I8042prt.sys in order to investigate this problem.
Any thoughts or suggestions would be greatly appreciated.
Best regards
Mark
?

Questions? First check the Kernel Driver FAQ at http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: xxxxx@windows.microsoft.com
To unsubscribe send a blank email to xxxxx@lists.osr.com

Hello
Doron thank for you replay.
We use Win2000 server SP4. The our company did not get ddk from server 2003
yet,
I download it today and investigate this problem tomorrow.
regards
Mark

-----Original Message-----
From: Doron Holan [mailto:xxxxx@windows.microsoft.com]
Sent: Tuesday, May 11, 2004 6:39 PM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] Headless keyboard problem.

I think you meant server 2003, not server 2000. Install the ddk from server
2003, it ships the i8042prt driver that is in the build so you do have the
latest source for the driver. Look in pnpi8042\i8042dep.c at the function
I8xServiceParameters. If there is a defaultHeadless local variable, then
you have the most recent sources and you can go from there.
I8042prt!Globals.Headless is the value that gets set.

d


From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Mark Shnaider
Sent: Tuesday, May 11, 2004 6:36 AM
To: Windows System Software Devs Interest List
Subject: [ntdev] Headless keyboard problem.

Hello,
I have problem on some computers? with motherboard “Intel D865GLCLK” on
Win2000 server
( driver? I8042prt.sys? from 06/19/2003).
I add hotplugging capability:
The new value? “Headless”=dword:1
??? “ReportResetErrors”=dword:1
under key:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters]?
I understand that may? be? it is PC/2 controller problem.
Unfortunately the last DDK sample of? I8042prt driver
?does not contains? hotplugging capability,
but I? try to? investigate this problem (using DDK sample).
I changed I8xInitializeKeyboard??? and replace I8042prt.sys driver
In this version?? I8xInitializeKeyboard? routine always? return
STATUS_SUCCESS? and
“hotplugging? keyboard” works.
It seems to me that it is not PC/2 controller problem.
but I do not have source of?? last version? I8042prt.sys in order to
investigate this problem.
Any thoughts or suggestions would be greatly appreciated.
Best regards
Mark
?

Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: xxxxx@windows.microsoft.com
To unsubscribe send a blank email to xxxxx@lists.osr.com


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: xxxxx@arx.com
To unsubscribe send a blank email to xxxxx@lists.osr.com

The win2k gold version of i8042prt does not support headless. I am pretty sure headless support did get into a win2k service pack (I think one or two, I can’t remember), contact msft PSS for verification on that. The latest version of the sources from the server 2003 ddk should serve as a good sample of what is going on (the sources are quite similar, but not the same).

d


From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of Mark Shnaider
Sent: Wednesday, May 12, 2004 10:45 AM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] Headless keyboard problem.

Hello
Doron thank for you replay.
We use? Win2000 server SP4. The our company did not get ddk from server 2003 yet,
I download it today and investigate this problem tomorrow.
regards
Mark

-----Original Message-----
From: Doron Holan [mailto:xxxxx@windows.microsoft.com]
Sent: Tuesday, May 11, 2004 6:39 PM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] Headless keyboard problem.

I think you meant server 2003, not server 2000.? Install the ddk from server 2003, it ships the i8042prt driver that is in the build so you do have the latest source for the driver.? Look in pnpi8042\i8042dep.c at the function I8xServiceParameters.? If there is a defaultHeadless local variable, then you have the most recent sources and you can go from there.? I8042prt!Globals.Headless is the value that gets set.
d


From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of Mark Shnaider
Sent: Tuesday, May 11, 2004 6:36 AM
To: Windows System Software Devs Interest List
Subject: [ntdev] Headless keyboard problem.

Hello,
I have problem on some computers? with motherboard “Intel D865GLCLK” on Win2000 server
( driver? I8042prt.sys? from 06/19/2003).
I add hotplugging capability:
The new value? “Headless”=dword:1
??? “ReportResetErrors”=dword:1
under key:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters]?
I understand that may? be? it is PC/2 controller problem.
Unfortunately the last DDK sample of? I8042prt driver
?does not contains? hotplugging capability,
but I? try to? investigate this problem (using DDK sample).
I changed I8xInitializeKeyboard??? and replace I8042prt.sys driver
In this version?? I8xInitializeKeyboard? routine always? return STATUS_SUCCESS? and
“hotplugging? keyboard” works.
It seems to me that it is not PC/2 controller problem.
but I do not have source of?? last version? I8042prt.sys in order to investigate this problem.
Any thoughts or suggestions would be greatly appreciated.
Best regards
Mark
?

Questions? First check the Kernel Driver FAQ at http://www.osronline.com/article.cfm?id=256
You are currently subscribed to ntdev as: xxxxx@windows.microsoft.com
To unsubscribe send a blank email to xxxxx@lists.osr.com

Questions? First check the Kernel Driver FAQ at http://www.osronline.com/article.cfm?id=256
You are currently subscribed to ntdev as: xxxxx@arx.com
To unsubscribe send a blank email to xxxxx@lists.osr.com

Questions? First check the Kernel Driver FAQ at http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: xxxxx@windows.microsoft.com
To unsubscribe send a blank email to xxxxx@lists.osr.com

Hello,

I investigated today my headless key problem under Win2000 server ,
use I8042prt from last version DDK server 2003. ( and serial WinDBG on
second computer).
I get very strange results and can not understand it:

  1. If I remove keyboard during menu of start Operation System ( 30sec )
    :
    “Microsoft Windows 2000 server [debugging enabling]”

and connect after (in Win logon) - “hot plugging” works OK!!.
In this case I8xInitializeKeyboard routine set registry value
KeyboardFailedResett =0 and return STASTUS_DEVICE_NOT_CONNECTED.

and then keyboard works after plugged into computer.

  1. But If I do following:
  • Shut down computer,
  • remove keyboard .
  • power computer
    The driver I8042prt does not work.

DriverEnrty I8042prt is called and exit with status STATUS_SUCCESS.
but then (instead AddDevice) I8xUnLoad is called.(!!!) and Windows
unload I8042prt
driver.

I have problem in understanding . In both cases keyboard was disconnected
before
starting OS.(!!!) and DriverEnrty does not call any hardware depended
functions.

Thanks for any help.
Mark

-----Original Message-----
From: Doron Holan [mailto:xxxxx@windows.microsoft.com]
Sent: Tuesday, May 11, 2004 6:39 PM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] Headless keyboard problem.

I think you meant server 2003, not server 2000. Install the ddk from server
2003, it ships the i8042prt driver that is in the build so you do have the
latest source for the driver. Look in pnpi8042\i8042dep.c at the function
I8xServiceParameters. If there is a defaultHeadless local variable, then
you have the most recent sources and you can go from there.
I8042prt!Globals.Headless is the value that gets set.

d


From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Mark Shnaider
Sent: Tuesday, May 11, 2004 6:36 AM
To: Windows System Software Devs Interest List
Subject: [ntdev] Headless keyboard problem.

Hello,
I have problem on some computers? with motherboard “Intel D865GLCLK” on
Win2000 server
( driver? I8042prt.sys? from 06/19/2003).
I add hotplugging capability:
The new value? “Headless”=dword:1
??? “ReportResetErrors”=dword:1
under key:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters]?
I understand that may? be? it is PC/2 controller problem.
Unfortunately the last DDK sample of? I8042prt driver
?does not contains? hotplugging capability,
but I? try to? investigate this problem (using DDK sample).
I changed I8xInitializeKeyboard??? and replace I8042prt.sys driver
In this version?? I8xInitializeKeyboard? routine always? return
STATUS_SUCCESS? and
“hotplugging? keyboard” works.
It seems to me that it is not PC/2 controller problem.
but I do not have source of?? last version? I8042prt.sys in order to
investigate this problem.
Any thoughts or suggestions would be greatly appreciated.
Best regards
Mark
?

Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: xxxxx@windows.microsoft.com
To unsubscribe send a blank email to xxxxx@lists.osr.com


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: xxxxx@arx.com
To unsubscribe send a blank email to xxxxx@lists.osr.com

This particular situation sounds odd (I don’t know why i8042prt is being
loaded at all in case 2), but in general this is as expected.

Typically, the BIOS detects PS/2 keyboards during POST, and then either
does or doesn’t report to the OS that a device with the keyboard’s PNP
ID is present in the system. If it isn’t present, the configuration
manager normally won’t even load i8042prt. If the PNP ID *is* present in
the system, i8042prt is smart enough (these days :slight_smile: to stay resident
and wait for a reset response from the device, and therefore will handle
hot-plugging (or more commonly, suspend/hibernate/resume operations).

Mark Shnaider wrote:

Hello,

I investigated today my headless key problem under Win2000 server ,
use I8042prt from last version DDK server 2003. ( and serial
WinDBG on second computer).
I get very strange results and can not understand it:

  1. If I remove keyboard during menu of start Operation System (
    30sec ) :
    “Microsoft Windows 2000 server [debugging enabling]”

and connect after (in Win logon) - “hot plugging” works OK!!.
In this case I8xInitializeKeyboard routine set registry value
KeyboardFailedResett =0 and return
STASTUS_DEVICE_NOT_CONNECTED.
and then keyboard works after plugged into computer.

  1. But If I do following:
  • Shut down computer,
  • remove keyboard .
  • power computer
    The driver I8042prt does not work.

DriverEnrty I8042prt is called and exit with status STATUS_SUCCESS.
but then (instead AddDevice) I8xUnLoad is called.(!!!) and
Windows unload I8042prt
driver.

I have problem in understanding . In both cases keyboard was
disconnected before
starting OS.(!!!) and DriverEnrty does not call any hardware depended
functions.

Thanks for any help.
Mark

-----Original Message-----
From: Doron Holan [mailto:xxxxx@windows.microsoft.com]
Sent: Tuesday, May 11, 2004 6:39 PM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] Headless keyboard problem.

I think you meant server 2003, not server 2000. Install the ddk from
server 2003, it ships the i8042prt driver that is in the build so you do
have the latest source for the driver. Look in pnpi8042\i8042dep.c at
the function I8xServiceParameters. If there is a defaultHeadless local
variable, then you have the most recent sources and you can go from
there. I8042prt!Globals.Headless is the value that gets set.

d


From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Mark Shnaider
Sent: Tuesday, May 11, 2004 6:36 AM
To: Windows System Software Devs Interest List
Subject: [ntdev] Headless keyboard problem.

Hello,
I have problem on some computers with motherboard “Intel D865GLCLK” on
Win2000 server
( driver I8042prt.sys from 06/19/2003).
I add hotplugging capability:
The new value “Headless”=dword:1
“ReportResetErrors”=dword:1
under key:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters]
I understand that may be it is PC/2 controller problem.
Unfortunately the last DDK sample of I8042prt driver
does not contains hotplugging capability,
but I try to investigate this problem (using DDK sample).
I changed I8xInitializeKeyboard and replace I8042prt.sys driver
In this version I8xInitializeKeyboard routine always return
STATUS_SUCCESS and
“hotplugging keyboard” works.
It seems to me that it is not PC/2 controller problem.
but I do not have source of last version I8042prt.sys in order to
investigate this problem.
Any thoughts or suggestions would be greatly appreciated.
Best regards
Mark


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: xxxxx@windows.microsoft.com
To unsubscribe send a blank email to xxxxx@lists.osr.com


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: xxxxx@arx.com
To unsubscribe send a blank email to xxxxx@lists.osr.com


…/ray..

Please remove “.spamblock” from my email address if you need to contact
me outside the newsgroup.

Thanks Ray,

Please clarify for me :
1 How I8042prt can be stay resident,
this driver is unloaded to my opinion (I see it in WinDBG after
Reset or shut down)
(may be I8042prt stay resident only in hibernate mode ?)

  1. If during POST keyboard must be connected ,when keyboard can be removed
    and plugged into computer ?

Mark

-----Original Message-----
From: Ray Trent [mailto:xxxxx@synaptics.spamblock.com]
Sent: Thursday, May 13, 2004 5:55 PM
To: Windows System Software Devs Interest List
Subject: Re:[ntdev] Headless keyboard problem.

This particular situation sounds odd (I don’t know why i8042prt is being
loaded at all in case 2), but in general this is as expected.

Typically, the BIOS detects PS/2 keyboards during POST, and then either
does or doesn’t report to the OS that a device with the keyboard’s PNP
ID is present in the system. If it isn’t present, the configuration
manager normally won’t even load i8042prt. If the PNP ID *is* present in
the system, i8042prt is smart enough (these days :slight_smile: to stay resident
and wait for a reset response from the device, and therefore will handle
hot-plugging (or more commonly, suspend/hibernate/resume operations).

Mark Shnaider wrote:

Hello,

I investigated today my headless key problem under Win2000 server ,
use I8042prt from last version DDK server 2003. ( and serial
WinDBG on second computer).
I get very strange results and can not understand it:

  1. If I remove keyboard during menu of start Operation System (
    30sec ) :
    “Microsoft Windows 2000 server [debugging enabling]”

and connect after (in Win logon) - “hot plugging” works OK!!.
In this case I8xInitializeKeyboard routine set registry value
KeyboardFailedResett =0 and return
STASTUS_DEVICE_NOT_CONNECTED.
and then keyboard works after plugged into computer.

  1. But If I do following:
  • Shut down computer,
  • remove keyboard .
  • power computer
    The driver I8042prt does not work.

DriverEnrty I8042prt is called and exit with status STATUS_SUCCESS.
but then (instead AddDevice) I8xUnLoad is called.(!!!) and
Windows unload I8042prt
driver.

I have problem in understanding . In both cases keyboard was
disconnected before
starting OS.(!!!) and DriverEnrty does not call any hardware depended
functions.

Thanks for any help.
Mark

-----Original Message-----
From: Doron Holan [mailto:xxxxx@windows.microsoft.com]
Sent: Tuesday, May 11, 2004 6:39 PM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] Headless keyboard problem.

I think you meant server 2003, not server 2000. Install the ddk from
server 2003, it ships the i8042prt driver that is in the build so you do
have the latest source for the driver. Look in pnpi8042\i8042dep.c at
the function I8xServiceParameters. If there is a defaultHeadless local
variable, then you have the most recent sources and you can go from
there. I8042prt!Globals.Headless is the value that gets set.

d


From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Mark Shnaider
Sent: Tuesday, May 11, 2004 6:36 AM
To: Windows System Software Devs Interest List
Subject: [ntdev] Headless keyboard problem.

Hello,
I have problem on some computers with motherboard “Intel D865GLCLK” on
Win2000 server
( driver I8042prt.sys from 06/19/2003).
I add hotplugging capability:
The new value “Headless”=dword:1
“ReportResetErrors”=dword:1
under key:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters]

I understand that may be it is PC/2 controller problem.
Unfortunately the last DDK sample of I8042prt driver
does not contains hotplugging capability,
but I try to investigate this problem (using DDK sample).
I changed I8xInitializeKeyboard and replace I8042prt.sys driver
In this version I8xInitializeKeyboard routine always return
STATUS_SUCCESS and
“hotplugging keyboard” works.
It seems to me that it is not PC/2 controller problem.
but I do not have source of last version I8042prt.sys in order to
investigate this problem.
Any thoughts or suggestions would be greatly appreciated.
Best regards
Mark


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: xxxxx@windows.microsoft.com
To unsubscribe send a blank email to xxxxx@lists.osr.com


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: xxxxx@arx.com
To unsubscribe send a blank email to xxxxx@lists.osr.com


…/ray..

Please remove “.spamblock” from my email address if you need to contact
me outside the newsgroup.


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: xxxxx@arx.com
To unsubscribe send a blank email to xxxxx@lists.osr.com

I’m not sure I understand the questions, but I’ll try to answer them.

  1. I8042prt doesn’t even have a functional Unload routine, so it’s
    resident until the machine shuts down. That’s assuming, of course, that
    it was ever started in the first place. This will only happen if the OS
    thinks that a PS/2 keyboard or mouse is present, and this is determined
    by the BIOS during POST.

  2. Once i8042prt has been told to initialize itself for a keyboard (i.e.
    it gets an AddDevice), it sits around and watches for hot-plug events
    (it can’t notice unplugging, though, because PS/2 doesn’t provide any
    unplug signal). If it sees one, it reinitializes the KB and everything
    works fine. However, if it never got an AddDevice (ultimately because
    the BIOS didn’t tell the OS that a keyboard was present), it will never
    hook itself up to watch for hot-plugs.

Mark Shnaider wrote:

Thanks Ray,

Please clarify for me :
1 How I8042prt can be stay resident,
this driver is unloaded to my opinion (I see it in WinDBG after
Reset or shut down)
(may be I8042prt stay resident only in hibernate mode ?)

  1. If during POST keyboard must be connected ,when keyboard can be removed
    and plugged into computer ?

Mark

-----Original Message-----
From: Ray Trent [mailto:xxxxx@synaptics.spamblock.com]
Sent: Thursday, May 13, 2004 5:55 PM
To: Windows System Software Devs Interest List
Subject: Re:[ntdev] Headless keyboard problem.

This particular situation sounds odd (I don’t know why i8042prt is being
loaded at all in case 2), but in general this is as expected.

Typically, the BIOS detects PS/2 keyboards during POST, and then either
does or doesn’t report to the OS that a device with the keyboard’s PNP
ID is present in the system. If it isn’t present, the configuration
manager normally won’t even load i8042prt. If the PNP ID *is* present in
the system, i8042prt is smart enough (these days :slight_smile: to stay resident
and wait for a reset response from the device, and therefore will handle
hot-plugging (or more commonly, suspend/hibernate/resume operations).

Mark Shnaider wrote:

> Hello,
>
> I investigated today my headless key problem under Win2000 server ,
> use I8042prt from last version DDK server 2003. ( and serial
> WinDBG on second computer).
> I get very strange results and can not understand it:
>
> 1. If I remove keyboard during menu of start Operation System (
> 30sec ) :
> “Microsoft Windows 2000 server [debugging enabling]”
>
> and connect after (in Win logon) - “hot plugging” works OK!!.
> In this case I8xInitializeKeyboard routine set registry value
> KeyboardFailedResett =0 and return
> STASTUS_DEVICE_NOT_CONNECTED.
> and then keyboard works after plugged into computer.
>
> 2. But If I do following:
> - Shut down computer,
> - remove keyboard .
> - power computer
> The driver I8042prt does not work.
>
> DriverEnrty I8042prt is called and exit with status
STATUS_SUCCESS.
> but then (instead AddDevice) I8xUnLoad is called.(!!!) and
> Windows unload I8042prt
> driver.
>
> I have problem in understanding . In both cases keyboard was
> disconnected before
> starting OS.(!!!) and DriverEnrty does not call any hardware depended
> functions.
>
> Thanks for any help.
> Mark
>
>
>
>
>
>
>
> -----Original Message-----
> From: Doron Holan [mailto:xxxxx@windows.microsoft.com]
> Sent: Tuesday, May 11, 2004 6:39 PM
> To: Windows System Software Devs Interest List
> Subject: RE: [ntdev] Headless keyboard problem.
>
>
> I think you meant server 2003, not server 2000. Install the ddk from
> server 2003, it ships the i8042prt driver that is in the build so you do
> have the latest source for the driver. Look in pnpi8042\i8042dep.c at
> the function I8xServiceParameters. If there is a defaultHeadless local
> variable, then you have the most recent sources and you can go from
> there. I8042prt!Globals.Headless is the value that gets set.
>
> d
>
> ________________________________________
> From: xxxxx@lists.osr.com
> [mailto:xxxxx@lists.osr.com] On Behalf Of Mark Shnaider
> Sent: Tuesday, May 11, 2004 6:36 AM
> To: Windows System Software Devs Interest List
> Subject: [ntdev] Headless keyboard problem.
>
>
> Hello,
> I have problem on some computers with motherboard “Intel D865GLCLK” on
> Win2000 server
> ( driver I8042prt.sys from 06/19/2003).
> I add hotplugging capability:
> The new value “Headless”=dword:1
> “ReportResetErrors”=dword:1
> under key:
>
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters]
> I understand that may be it is PC/2 controller problem.
> Unfortunately the last DDK sample of I8042prt driver
> does not contains hotplugging capability,
> but I try to investigate this problem (using DDK sample).
> I changed I8xInitializeKeyboard and replace I8042prt.sys driver
> In this version I8xInitializeKeyboard routine always return
> STATUS_SUCCESS and
> “hotplugging keyboard” works.
> It seems to me that it is not PC/2 controller problem.
> but I do not have source of last version I8042prt.sys in order to
> investigate this problem.
> Any thoughts or suggestions would be greatly appreciated.
> Best regards
> Mark
>
> —
> Questions? First check the Kernel Driver FAQ at
> http://www.osronline.com/article.cfm?id=256
>
> You are currently subscribed to ntdev as: xxxxx@windows.microsoft.com
> To unsubscribe send a blank email to xxxxx@lists.osr.com
>
> —
> Questions? First check the Kernel Driver FAQ at
> http://www.osronline.com/article.cfm?id=256
>
> You are currently subscribed to ntdev as: xxxxx@arx.com
> To unsubscribe send a blank email to xxxxx@lists.osr.com
>


…/ray..

Please remove “.spamblock” from my email address if you need to contact
me outside the newsgroup.


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: xxxxx@arx.com
To unsubscribe send a blank email to xxxxx@lists.osr.com


…/ray..

Please remove “.spamblock” from my email address if you need to contact
me outside the newsgroup.

I should add: this was as of Win2k… Doron has already indicated that
headless support was added at some point. I’m not sure how that works…

Ray Trent wrote:

I’m not sure I understand the questions, but I’ll try to answer them.

  1. I8042prt doesn’t even have a functional Unload routine, so it’s
    resident until the machine shuts down. That’s assuming, of course, that
    it was ever started in the first place. This will only happen if the OS
    thinks that a PS/2 keyboard or mouse is present, and this is determined
    by the BIOS during POST.

  2. Once i8042prt has been told to initialize itself for a keyboard (i.e.
    it gets an AddDevice), it sits around and watches for hot-plug events
    (it can’t notice unplugging, though, because PS/2 doesn’t provide any
    unplug signal). If it sees one, it reinitializes the KB and everything
    works fine. However, if it never got an AddDevice (ultimately because
    the BIOS didn’t tell the OS that a keyboard was present), it will never
    hook itself up to watch for hot-plugs.

Mark Shnaider wrote:

> Thanks Ray,
>
> Please clarify for me :
> 1 How I8042prt can be stay resident,
> this driver is unloaded to my opinion (I see it in WinDBG
> after Reset or shut down)
> (may be I8042prt stay resident only in hibernate mode ?)
>
> 2. If during POST keyboard must be connected ,when keyboard can be
> removed
> and plugged into computer ?
>
> Mark
>
> -----Original Message-----
> From: Ray Trent [mailto:xxxxx@synaptics.spamblock.com]
> Sent: Thursday, May 13, 2004 5:55 PM
> To: Windows System Software Devs Interest List
> Subject: Re:[ntdev] Headless keyboard problem.
>
>
> This particular situation sounds odd (I don’t know why i8042prt is being
> loaded at all in case 2), but in general this is as expected.
>
> Typically, the BIOS detects PS/2 keyboards during POST, and then either
> does or doesn’t report to the OS that a device with the keyboard’s PNP
> ID is present in the system. If it isn’t present, the configuration
> manager normally won’t even load i8042prt. If the PNP ID *is* present in
> the system, i8042prt is smart enough (these days :slight_smile: to stay resident
> and wait for a reset response from the device, and therefore will handle
> hot-plugging (or more commonly, suspend/hibernate/resume operations).
>
> Mark Shnaider wrote:
>
> > Hello,
> >
> > I investigated today my headless key problem under Win2000
> server ,
> > use I8042prt from last version DDK server 2003. ( and serial
> > WinDBG on second computer).
> > I get very strange results and can not understand it:
> >
> > 1. If I remove keyboard during menu of start Operation System (
> > 30sec ) :
> > “Microsoft Windows 2000 server [debugging enabling]”
> >
> > and connect after (in Win logon) - “hot plugging” works OK!!.
> > In this case I8xInitializeKeyboard routine set registry value
> > KeyboardFailedResett =0 and return
> > STASTUS_DEVICE_NOT_CONNECTED.
> > and then keyboard works after plugged into computer.
> > > 2. But If I do following:
> > - Shut down computer,
> > - remove keyboard .
> > - power computer
> > The driver I8042prt does not work.
> >
> > DriverEnrty I8042prt is called and exit with status
> STATUS_SUCCESS.
> > but then (instead AddDevice) I8xUnLoad is called.(!!!) and
> > Windows unload I8042prt
> > driver.
> >
> > I have problem in understanding . In both cases keyboard was
> > disconnected before
> > starting OS.(!!!) and DriverEnrty does not call any hardware
> depended
> > functions.
> >
> > Thanks for any help.
> > Mark
> >
> >
> > > >
> >
> >
> > -----Original Message-----
> > From: Doron Holan [mailto:xxxxx@windows.microsoft.com]
> > Sent: Tuesday, May 11, 2004 6:39 PM
> > To: Windows System Software Devs Interest List
> > Subject: RE: [ntdev] Headless keyboard problem.
> >
> >
> > I think you meant server 2003, not server 2000. Install the ddk from
> > server 2003, it ships the i8042prt driver that is in the build so
> you do
> > have the latest source for the driver. Look in pnpi8042\i8042dep.c at
> > the function I8xServiceParameters. If there is a defaultHeadless
> local
> > variable, then you have the most recent sources and you can go from
> > there. I8042prt!Globals.Headless is the value that gets set.
> >
> > d
> >
> > ________________________________________
> > From: xxxxx@lists.osr.com
> > [mailto:xxxxx@lists.osr.com] On Behalf Of Mark Shnaider
> > Sent: Tuesday, May 11, 2004 6:36 AM
> > To: Windows System Software Devs Interest List
> > Subject: [ntdev] Headless keyboard problem.
> >
> >
> > Hello,
> > I have problem on some computers with motherboard “Intel
> D865GLCLK” on
> > Win2000 server
> > ( driver I8042prt.sys from 06/19/2003).
> > I add hotplugging capability:
> > The new value “Headless”=dword:1
> > “ReportResetErrors”=dword:1
> > under key:
> >
> [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters]
>
> > I understand that may be it is PC/2 controller problem.
> > Unfortunately the last DDK sample of I8042prt driver
> > does not contains hotplugging capability,
> > but I try to investigate this problem (using DDK sample).
> > I changed I8xInitializeKeyboard and replace I8042prt.sys driver
> > In this version I8xInitializeKeyboard routine always return
> > STATUS_SUCCESS and
> > “hotplugging keyboard” works.
> > It seems to me that it is not PC/2 controller problem.
> > but I do not have source of last version I8042prt.sys in order to
> > investigate this problem.
> > Any thoughts or suggestions would be greatly appreciated.
> > Best regards
> > Mark
> > > —
> > Questions? First check the Kernel Driver FAQ at
> > http://www.osronline.com/article.cfm?id=256
> >
> > You are currently subscribed to ntdev as: xxxxx@windows.microsoft.com
> > To unsubscribe send a blank email to xxxxx@lists.osr.com
> >
> > —
> > Questions? First check the Kernel Driver FAQ at
> > http://www.osronline.com/article.cfm?id=256
> >
> > You are currently subscribed to ntdev as: xxxxx@arx.com
> > To unsubscribe send a blank email to xxxxx@lists.osr.com
> >
>
> –
> …/ray..
>
> Please remove “.spamblock” from my email address if you need to contact
> me outside the newsgroup.
>
> —
> Questions? First check the Kernel Driver FAQ at
> http://www.osronline.com/article.cfm?id=256
>
> You are currently subscribed to ntdev as: xxxxx@arx.com
> To unsubscribe send a blank email to xxxxx@lists.osr.com
>


…/ray..

Please remove “.spamblock” from my email address if you need to contact
me outside the newsgroup.

Hello,
Thank you very much Ray for your explanation.
Now its clear for me.
If I understand correctly it means that really Win2000 does not support
hot plug for keyboard, (as described in the article Q262798) because
keyboard
must be connected during POST and can be disconnected only after POST.
I did not found also in the “BIOS SETUP” any options for POST to solve this
problem.
We supposed implement hot-plug keyboard for our system (under Win 2000
server)
that started without keyboard and mouse.
Mark

-----Original Message-----
From: Ray Trent [mailto:xxxxx@synaptics.spamblock.com]
Sent: Friday, May 14, 2004 1:40 AM
To: Windows System Software Devs Interest List
Subject: Re:[ntdev] Headless keyboard problem.

I should add: this was as of Win2k… Doron has already indicated that
headless support was added at some point. I’m not sure how that works…

Ray Trent wrote:

I’m not sure I understand the questions, but I’ll try to answer them.

  1. I8042prt doesn’t even have a functional Unload routine, so it’s
    resident until the machine shuts down. That’s assuming, of course, that
    it was ever started in the first place. This will only happen if the OS
    thinks that a PS/2 keyboard or mouse is present, and this is determined
    by the BIOS during POST.

  2. Once i8042prt has been told to initialize itself for a keyboard (i.e.
    it gets an AddDevice), it sits around and watches for hot-plug events
    (it can’t notice unplugging, though, because PS/2 doesn’t provide any
    unplug signal). If it sees one, it reinitializes the KB and everything
    works fine. However, if it never got an AddDevice (ultimately because
    the BIOS didn’t tell the OS that a keyboard was present), it will never
    hook itself up to watch for hot-plugs.

Mark Shnaider wrote:

> Thanks Ray,
>
> Please clarify for me :
> 1 How I8042prt can be stay resident,
> this driver is unloaded to my opinion (I see it in WinDBG
> after Reset or shut down)
> (may be I8042prt stay resident only in hibernate mode ?)
>
> 2. If during POST keyboard must be connected ,when keyboard can be
> removed
> and plugged into computer ?
>
> Mark
>
> -----Original Message-----
> From: Ray Trent [mailto:xxxxx@synaptics.spamblock.com]
> Sent: Thursday, May 13, 2004 5:55 PM
> To: Windows System Software Devs Interest List
> Subject: Re:[ntdev] Headless keyboard problem.
>
>
> This particular situation sounds odd (I don’t know why i8042prt is being
> loaded at all in case 2), but in general this is as expected.
>
> Typically, the BIOS detects PS/2 keyboards during POST, and then either
> does or doesn’t report to the OS that a device with the keyboard’s PNP
> ID is present in the system. If it isn’t present, the configuration
> manager normally won’t even load i8042prt. If the PNP ID *is* present in
> the system, i8042prt is smart enough (these days :slight_smile: to stay resident
> and wait for a reset response from the device, and therefore will handle
> hot-plugging (or more commonly, suspend/hibernate/resume operations).
>
> Mark Shnaider wrote:
>
> > Hello,
> >
> > I investigated today my headless key problem under Win2000
> server ,
> > use I8042prt from last version DDK server 2003. ( and serial
> > WinDBG on second computer).
> > I get very strange results and can not understand it:
> >
> > 1. If I remove keyboard during menu of start Operation System (
> > 30sec ) :
> > “Microsoft Windows 2000 server [debugging enabling]”
> >
> > and connect after (in Win logon) - “hot plugging” works OK!!.
> > In this case I8xInitializeKeyboard routine set registry value
> > KeyboardFailedResett =0 and return
> > STASTUS_DEVICE_NOT_CONNECTED.
> > and then keyboard works after plugged into computer.
> > > 2. But If I do following:
> > - Shut down computer,
> > - remove keyboard .
> > - power computer
> > The driver I8042prt does not work.
> >
> > DriverEnrty I8042prt is called and exit with status
> STATUS_SUCCESS.
> > but then (instead AddDevice) I8xUnLoad is called.(!!!) and
> > Windows unload I8042prt
> > driver.
> >
> > I have problem in understanding . In both cases keyboard was
> > disconnected before
> > starting OS.(!!!) and DriverEnrty does not call any hardware
> depended
> > functions.
> >
> > Thanks for any help.
> > Mark
> >
> >
> > > >
> >
> >
> > -----Original Message-----
> > From: Doron Holan [mailto:xxxxx@windows.microsoft.com]
> > Sent: Tuesday, May 11, 2004 6:39 PM
> > To: Windows System Software Devs Interest List
> > Subject: RE: [ntdev] Headless keyboard problem.
> >
> >
> > I think you meant server 2003, not server 2000. Install the ddk from
> > server 2003, it ships the i8042prt driver that is in the build so
> you do
> > have the latest source for the driver. Look in pnpi8042\i8042dep.c at
> > the function I8xServiceParameters. If there is a defaultHeadless
> local
> > variable, then you have the most recent sources and you can go from
> > there. I8042prt!Globals.Headless is the value that gets set.
> >
> > d
> >
> > ________________________________________
> > From: xxxxx@lists.osr.com
> > [mailto:xxxxx@lists.osr.com] On Behalf Of Mark Shnaider
> > Sent: Tuesday, May 11, 2004 6:36 AM
> > To: Windows System Software Devs Interest List
> > Subject: [ntdev] Headless keyboard problem.
> >
> >
> > Hello,
> > I have problem on some computers with motherboard “Intel
> D865GLCLK” on
> > Win2000 server
> > ( driver I8042prt.sys from 06/19/2003).
> > I add hotplugging capability:
> > The new value “Headless”=dword:1
> > “ReportResetErrors”=dword:1
> > under key:
> >
>
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters]
>
> > I understand that may be it is PC/2 controller problem.
> > Unfortunately the last DDK sample of I8042prt driver
> > does not contains hotplugging capability,
> > but I try to investigate this problem (using DDK sample).
> > I changed I8xInitializeKeyboard and replace I8042prt.sys driver
> > In this version I8xInitializeKeyboard routine always return
> > STATUS_SUCCESS and
> > “hotplugging keyboard” works.
> > It seems to me that it is not PC/2 controller problem.
> > but I do not have source of last version I8042prt.sys in order to
> > investigate this problem.
> > Any thoughts or suggestions would be greatly appreciated.
> > Best regards
> > Mark
> > > —
> > Questions? First check the Kernel Driver FAQ at
> > http://www.osronline.com/article.cfm?id=256
> >
> > You are currently subscribed to ntdev as: xxxxx@windows.microsoft.com
> > To unsubscribe send a blank email to xxxxx@lists.osr.com
> >
> > —
> > Questions? First check the Kernel Driver FAQ at
> > http://www.osronline.com/article.cfm?id=256
> >
> > You are currently subscribed to ntdev as: xxxxx@arx.com
> > To unsubscribe send a blank email to xxxxx@lists.osr.com
> >
>
> –
> …/ray..
>
> Please remove “.spamblock” from my email address if you need to contact
> me outside the newsgroup.
>
> —
> Questions? First check the Kernel Driver FAQ at
> http://www.osronline.com/article.cfm?id=256
>
> You are currently subscribed to ntdev as: xxxxx@arx.com
> To unsubscribe send a blank email to xxxxx@lists.osr.com
>


…/ray..

Please remove “.spamblock” from my email address if you need to contact
me outside the newsgroup.


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: xxxxx@arx.com
To unsubscribe send a blank email to xxxxx@lists.osr.com

My suggestion for such a situation is to support hot-plugging of USB
keyboards and mice only :-).

It might be possible to force the Win2k3 DDK version of i8042prt to load
and run on 2k (not that I would ever suggest such a heretical thing, of
course :-). If your machines’ BIOS/KBC can handle post-POST
hot-plugging, that is… otherwise you’re stuck almost no matter what
you do.

Some BIOS’s will enumerate a PS/2 keyboard if you set them up to provide
legacy USB keyboard support… you could try that.

There are other possible ugly solutions, of course. You could write your
own bus driver that enumerates a PS/2 mouse and KB during boot if the
BIOS didn’t. Personally, I’d rather drive 17" red-hot vanadium spikes
into my eyeballs than do that…

Mark Shnaider wrote:

Hello,
Thank you very much Ray for your explanation.
Now its clear for me.
If I understand correctly it means that really Win2000 does not support
hot plug for keyboard, (as described in the article Q262798) because
keyboard
must be connected during POST and can be disconnected only after POST.
I did not found also in the “BIOS SETUP” any options for POST to solve
this
problem.
We supposed implement hot-plug keyboard for our system (under Win 2000
server)
that started without keyboard and mouse.
Mark

-----Original Message-----
From: Ray Trent [mailto:xxxxx@synaptics.spamblock.com]
Sent: Friday, May 14, 2004 1:40 AM
To: Windows System Software Devs Interest List
Subject: Re:[ntdev] Headless keyboard problem.

I should add: this was as of Win2k… Doron has already indicated that
headless support was added at some point. I’m not sure how that works…

Ray Trent wrote:

> I’m not sure I understand the questions, but I’ll try to answer them.
>
> 1) I8042prt doesn’t even have a functional Unload routine, so it’s
> resident until the machine shuts down. That’s assuming, of course, that
> it was ever started in the first place. This will only happen if the OS
> thinks that a PS/2 keyboard or mouse is present, and this is determined
> by the BIOS during POST.
>
> 2) Once i8042prt has been told to initialize itself for a keyboard (i.e.
> it gets an AddDevice), it sits around and watches for hot-plug events
> (it can’t notice unplugging, though, because PS/2 doesn’t provide any
> unplug signal). If it sees one, it reinitializes the KB and everything
> works fine. However, if it never got an AddDevice (ultimately because
> the BIOS didn’t tell the OS that a keyboard was present), it will never
> hook itself up to watch for hot-plugs.
>
> Mark Shnaider wrote:
>
>> Thanks Ray,
>>
>> Please clarify for me :
>> 1 How I8042prt can be stay resident,
>> this driver is unloaded to my opinion (I see it in WinDBG
>> after Reset or shut down)
>> (may be I8042prt stay resident only in hibernate mode ?)
>>
>> 2. If during POST keyboard must be connected ,when keyboard can be
>> removed
>> and plugged into computer ?
>>
>> Mark
>>
>> -----Original Message-----
>> From: Ray Trent [mailto:xxxxx@synaptics.spamblock.com]
>> Sent: Thursday, May 13, 2004 5:55 PM
>> To: Windows System Software Devs Interest List
>> Subject: Re:[ntdev] Headless keyboard problem.
>>
>>
>> This particular situation sounds odd (I don’t know why i8042prt is
being
>> loaded at all in case 2), but in general this is as expected.
>>
>> Typically, the BIOS detects PS/2 keyboards during POST, and then either
>> does or doesn’t report to the OS that a device with the keyboard’s PNP
>> ID is present in the system. If it isn’t present, the configuration
>> manager normally won’t even load i8042prt. If the PNP ID *is*
present in
>> the system, i8042prt is smart enough (these days :slight_smile: to stay resident
>> and wait for a reset response from the device, and therefore will
handle
>> hot-plugging (or more commonly, suspend/hibernate/resume operations).
>>
>> Mark Shnaider wrote:
>>
>> > Hello,
>> >
>> > I investigated today my headless key problem under Win2000
>> server ,
>> > use I8042prt from last version DDK server 2003. ( and serial
>> > WinDBG on second computer).
>> > I get very strange results and can not understand it:
>> >
>> > 1. If I remove keyboard during menu of start Operation System (
>> > 30sec ) :
>> > “Microsoft Windows 2000 server [debugging enabling]”
>> >
>> > and connect after (in Win logon) - “hot plugging” works OK!!.
>> > In this case I8xInitializeKeyboard routine set registry value
>> > KeyboardFailedResett =0 and return
>> > STASTUS_DEVICE_NOT_CONNECTED.
>> > and then keyboard works after plugged into computer.
>> > > 2. But If I do following:
>> > - Shut down computer,
>> > - remove keyboard .
>> > - power computer
>> > The driver I8042prt does not work.
>> >
>> > DriverEnrty I8042prt is called and exit with status
>> STATUS_SUCCESS.
>> > but then (instead AddDevice) I8xUnLoad is called.(!!!) and
>> > Windows unload I8042prt
>> > driver.
>> >
>> > I have problem in understanding . In both cases keyboard was
>> > disconnected before
>> > starting OS.(!!!) and DriverEnrty does not call any hardware
>> depended
>> > functions.
>> >
>> > Thanks for any help.
>> > Mark
>> >
>> >
>> > > >
>> >
>> >
>> > -----Original Message-----
>> > From: Doron Holan [mailto:xxxxx@windows.microsoft.com]
>> > Sent: Tuesday, May 11, 2004 6:39 PM
>> > To: Windows System Software Devs Interest List
>> > Subject: RE: [ntdev] Headless keyboard problem.
>> >
>> >
>> > I think you meant server 2003, not server 2000. Install the ddk
from
>> > server 2003, it ships the i8042prt driver that is in the build so
>> you do
>> > have the latest source for the driver. Look in
pnpi8042\i8042dep.c at
>> > the function I8xServiceParameters. If there is a defaultHeadless
>> local
>> > variable, then you have the most recent sources and you can go from
>> > there. I8042prt!Globals.Headless is the value that gets set.
>> >
>> > d
>> >
>> > ________________________________________
>> > From: xxxxx@lists.osr.com
>> > [mailto:xxxxx@lists.osr.com] On Behalf Of Mark Shnaider
>> > Sent: Tuesday, May 11, 2004 6:36 AM
>> > To: Windows System Software Devs Interest List
>> > Subject: [ntdev] Headless keyboard problem.
>> >
>> >
>> > Hello,
>> > I have problem on some computers with motherboard “Intel
>> D865GLCLK” on
>> > Win2000 server
>> > ( driver I8042prt.sys from 06/19/2003).
>> > I add hotplugging capability:
>> > The new value “Headless”=dword:1
>> > “ReportResetErrors”=dword:1
>> > under key:
>> >
>>
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters]
>>
>> > I understand that may be it is PC/2 controller problem.
>> > Unfortunately the last DDK sample of I8042prt driver
>> > does not contains hotplugging capability,
>> > but I try to investigate this problem (using DDK sample).
>> > I changed I8xInitializeKeyboard and replace I8042prt.sys driver
>> > In this version I8xInitializeKeyboard routine always return
>> > STATUS_SUCCESS and
>> > “hotplugging keyboard” works.
>> > It seems to me that it is not PC/2 controller problem.
>> > but I do not have source of last version I8042prt.sys in order to
>> > investigate this problem.
>> > Any thoughts or suggestions would be greatly appreciated.
>> > Best regards
>> > Mark
>> > > —
>> > Questions? First check the Kernel Driver FAQ at
>> > http://www.osronline.com/article.cfm?id=256
>> >
>> > You are currently subscribed to ntdev as:
xxxxx@windows.microsoft.com
>> > To unsubscribe send a blank email to xxxxx@lists.osr.com
>> >
>> > —
>> > Questions? First check the Kernel Driver FAQ at
>> > http://www.osronline.com/article.cfm?id=256
>> >
>> > You are currently subscribed to ntdev as: xxxxx@arx.com
>> > To unsubscribe send a blank email to xxxxx@lists.osr.com
>> >
>>
>> –
>> …/ray..
>>
>> Please remove “.spamblock” from my email address if you need to contact
>> me outside the newsgroup.
>>
>> —
>> Questions? First check the Kernel Driver FAQ at
>> http://www.osronline.com/article.cfm?id=256
>>
>> You are currently subscribed to ntdev as: xxxxx@arx.com
>> To unsubscribe send a blank email to xxxxx@lists.osr.com
>>
>


…/ray..

Please remove “.spamblock” from my email address if you need to contact
me outside the newsgroup.


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: xxxxx@arx.com
To unsubscribe send a blank email to xxxxx@lists.osr.com


…/ray..

Please remove “.spamblock” from my email address if you need to contact
me outside the newsgroup.

Let me finally chime in with my experience here

On ACPI enabled machines, I have seen that the acpi tables have the ps2
keyboard and mouse hardcoded in them. This is because it is enumerating
the ps2 ports, not the devices attached to them. This means that the
keyboard and mouse will always be enumerated, even if there are no
devices attached to the ports.

On non acpi machines, some have the ps2 devices hardcoded in the bios
area and always report them and some do the detection and selectively
report them to the OS only if there is a device attached to the port.

Then there is usb legacy support which ray refers to. This is where the
bios fakes out the usb HID devices as ps2 devices until the usb
controller is reset. This is the indication to the bios to stop
generating data on the ps2 ports and interrupts.

All of this is independent of OS (win2k, xp, server, etc). What is
dependent on the OS is how the i8042prt driver handles the enumeration
of a ps2 port with no device attached to it. On win2k gold, i8042prt
always failed the pnp start irp for the ps2 devices if there was no
device attached to the port. Starting in win2k sp1, i8042prt had a
setting where it would treat the absence of the device as a successful
start and rely on the hardware to handle a hotplug later. This is, as I
said before, predicated on the bios always reporting the ps2 port on the
machine regardless of what is attached to the port. Further SPs and OSs
added more functionality (like not reporting to the system event log
that the keyboard was missing).

d

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Ray Trent
Sent: Monday, May 17, 2004 9:54 AM
To: Windows System Software Devs Interest List
Subject: Re:[ntdev] Headless keyboard problem.

My suggestion for such a situation is to support hot-plugging of USB
keyboards and mice only :-).

It might be possible to force the Win2k3 DDK version of i8042prt to load

and run on 2k (not that I would ever suggest such a heretical thing, of
course :-). If your machines’ BIOS/KBC can handle post-POST
hot-plugging, that is… otherwise you’re stuck almost no matter what
you do.

Some BIOS’s will enumerate a PS/2 keyboard if you set them up to provide

legacy USB keyboard support… you could try that.

There are other possible ugly solutions, of course. You could write your

own bus driver that enumerates a PS/2 mouse and KB during boot if the
BIOS didn’t. Personally, I’d rather drive 17" red-hot vanadium spikes
into my eyeballs than do that…

Mark Shnaider wrote:

Hello,
Thank you very much Ray for your explanation.
Now its clear for me.
If I understand correctly it means that really Win2000 does not
support
hot plug for keyboard, (as described in the article Q262798) because
keyboard
must be connected during POST and can be disconnected only after POST.
I did not found also in the “BIOS SETUP” any options for POST to
solve
this
problem.
We supposed implement hot-plug keyboard for our system (under Win
2000
server)
that started without keyboard and mouse.
Mark

-----Original Message-----
From: Ray Trent [mailto:xxxxx@synaptics.spamblock.com]
Sent: Friday, May 14, 2004 1:40 AM
To: Windows System Software Devs Interest List
Subject: Re:[ntdev] Headless keyboard problem.

I should add: this was as of Win2k… Doron has already indicated that
headless support was added at some point. I’m not sure how that
works…

Ray Trent wrote:

> I’m not sure I understand the questions, but I’ll try to answer
them.
>
> 1) I8042prt doesn’t even have a functional Unload routine, so it’s
> resident until the machine shuts down. That’s assuming, of course,
that
> it was ever started in the first place. This will only happen if
the OS
> thinks that a PS/2 keyboard or mouse is present, and this is
determined
> by the BIOS during POST.
>
> 2) Once i8042prt has been told to initialize itself for a keyboard
(i.e.
> it gets an AddDevice), it sits around and watches for hot-plug
events
> (it can’t notice unplugging, though, because PS/2 doesn’t provide
any
> unplug signal). If it sees one, it reinitializes the KB and
everything
> works fine. However, if it never got an AddDevice (ultimately
because
> the BIOS didn’t tell the OS that a keyboard was present), it will
never
> hook itself up to watch for hot-plugs.
>
> Mark Shnaider wrote:
>
>> Thanks Ray,
>>
>> Please clarify for me :
>> 1 How I8042prt can be stay resident,
>> this driver is unloaded to my opinion (I see it in WinDBG
>> after Reset or shut down)
>> (may be I8042prt stay resident only in hibernate mode
?)
>>
>> 2. If during POST keyboard must be connected ,when keyboard can
be
>> removed
>> and plugged into computer ?
>>
>> Mark
>>
>> -----Original Message-----
>> From: Ray Trent [mailto:xxxxx@synaptics.spamblock.com]
>> Sent: Thursday, May 13, 2004 5:55 PM
>> To: Windows System Software Devs Interest List
>> Subject: Re:[ntdev] Headless keyboard problem.
>>
>>
>> This particular situation sounds odd (I don’t know why i8042prt is

being
>> loaded at all in case 2), but in general this is as expected.
>>
>> Typically, the BIOS detects PS/2 keyboards during POST, and then
either
>> does or doesn’t report to the OS that a device with the keyboard’s
PNP
>> ID is present in the system. If it isn’t present, the
configuration
>> manager normally won’t even load i8042prt. If the PNP ID *is*
present in
>> the system, i8042prt is smart enough (these days :slight_smile: to stay
resident
>> and wait for a reset response from the device, and therefore will
handle
>> hot-plugging (or more commonly, suspend/hibernate/resume
operations).
>>
>> Mark Shnaider wrote:
>>
>> > Hello,
>> >
>> > I investigated today my headless key problem under Win2000
>> server ,
>> > use I8042prt from last version DDK server 2003. ( and
serial
>> > WinDBG on second computer).
>> > I get very strange results and can not understand it:
>> >
>> > 1. If I remove keyboard during menu of start Operation
System (
>> > 30sec ) :
>> > “Microsoft Windows 2000 server [debugging enabling]”
>> >
>> > and connect after (in Win logon) - “hot plugging” works
OK!!.
>> > In this case I8xInitializeKeyboard routine set registry
value
>> > KeyboardFailedResett =0 and return
>> > STASTUS_DEVICE_NOT_CONNECTED.
>> > and then keyboard works after plugged into computer.
>> > > 2. But If I do following:
>> > - Shut down computer,
>> > - remove keyboard .
>> > - power computer
>> > The driver I8042prt does not work.
>> >
>> > DriverEnrty I8042prt is called and exit with status
>> STATUS_SUCCESS.
>> > but then (instead AddDevice) I8xUnLoad is called.(!!!)
and
>> > Windows unload I8042prt
>> > driver.
>> >
>> > I have problem in understanding . In both cases keyboard was
>> > disconnected before
>> > starting OS.(!!!) and DriverEnrty does not call any hardware
>> depended
>> > functions.
>> >
>> > Thanks for any help.
>> > Mark
>> >
>> >
>> > > >
>> >
>> >
>> > -----Original Message-----
>> > From: Doron Holan [mailto:xxxxx@windows.microsoft.com]
>> > Sent: Tuesday, May 11, 2004 6:39 PM
>> > To: Windows System Software Devs Interest List
>> > Subject: RE: [ntdev] Headless keyboard problem.
>> >
>> >
>> > I think you meant server 2003, not server 2000. Install the
ddk
from
>> > server 2003, it ships the i8042prt driver that is in the build
so
>> you do
>> > have the latest source for the driver. Look in
pnpi8042\i8042dep.c at
>> > the function I8xServiceParameters. If there is a
defaultHeadless
>> local
>> > variable, then you have the most recent sources and you can go
from
>> > there. I8042prt!Globals.Headless is the value that gets set.
>> >
>> > d
>> >
>> > ________________________________________
>> > From: xxxxx@lists.osr.com
>> > [mailto:xxxxx@lists.osr.com] On Behalf Of Mark
Shnaider
>> > Sent: Tuesday, May 11, 2004 6:36 AM
>> > To: Windows System Software Devs Interest List
>> > Subject: [ntdev] Headless keyboard problem.
>> >
>> >
>> > Hello,
>> > I have problem on some computers with motherboard “Intel
>> D865GLCLK” on
>> > Win2000 server
>> > ( driver I8042prt.sys from 06/19/2003).
>> > I add hotplugging capability:
>> > The new value “Headless”=dword:1
>> > “ReportResetErrors”=dword:1
>> > under key:
>> >
>>

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameter
s]

>>
>> > I understand that may be it is PC/2 controller problem.
>> > Unfortunately the last DDK sample of I8042prt driver
>> > does not contains hotplugging capability,
>> > but I try to investigate this problem (using DDK sample).
>> > I changed I8xInitializeKeyboard and replace I8042prt.sys
driver
>> > In this version I8xInitializeKeyboard routine always return
>> > STATUS_SUCCESS and
>> > “hotplugging keyboard” works.
>> > It seems to me that it is not PC/2 controller problem.
>> > but I do not have source of last version I8042prt.sys in
order to
>> > investigate this problem.
>> > Any thoughts or suggestions would be greatly appreciated.
>> > Best regards
>> > Mark
>> > > —
>> > Questions? First check the Kernel Driver FAQ at
>> > http://www.osronline.com/article.cfm?id=256
>> >
>> > You are currently subscribed to ntdev as:
xxxxx@windows.microsoft.com
>> > To unsubscribe send a blank email to
xxxxx@lists.osr.com
>> >
>> > —
>> > Questions? First check the Kernel Driver FAQ at
>> > http://www.osronline.com/article.cfm?id=256
>> >
>> > You are currently subscribed to ntdev as: xxxxx@arx.com
>> > To unsubscribe send a blank email to
xxxxx@lists.osr.com
>> >
>>
>> –
>> …/ray..
>>
>> Please remove “.spamblock” from my email address if you need to
contact
>> me outside the newsgroup.
>>
>> —
>> Questions? First check the Kernel Driver FAQ at
>> http://www.osronline.com/article.cfm?id=256
>>
>> You are currently subscribed to ntdev as: xxxxx@arx.com
>> To unsubscribe send a blank email to
xxxxx@lists.osr.com
>>
>


…/ray..

Please remove “.spamblock” from my email address if you need to
contact
me outside the newsgroup.


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: xxxxx@arx.com
To unsubscribe send a blank email to xxxxx@lists.osr.com


…/ray..

Please remove “.spamblock” from my email address if you need to contact
me outside the newsgroup.


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: xxxxx@windows.microsoft.com
To unsubscribe send a blank email to xxxxx@lists.osr.com

Hello,
Thank you very much Doron and Ray for you answers and detail explanation.
Regards
Mark

-----Original Message-----
From: Doron Holan [mailto:xxxxx@windows.microsoft.com]
Sent: Tuesday, May 18, 2004 8:17 PM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] Headless keyboard problem.

Let me finally chime in with my experience here

On ACPI enabled machines, I have seen that the acpi tables have the ps2
keyboard and mouse hardcoded in them. This is because it is enumerating
the ps2 ports, not the devices attached to them. This means that the
keyboard and mouse will always be enumerated, even if there are no
devices attached to the ports.

On non acpi machines, some have the ps2 devices hardcoded in the bios
area and always report them and some do the detection and selectively
report them to the OS only if there is a device attached to the port.

Then there is usb legacy support which ray refers to. This is where the
bios fakes out the usb HID devices as ps2 devices until the usb
controller is reset. This is the indication to the bios to stop
generating data on the ps2 ports and interrupts.

All of this is independent of OS (win2k, xp, server, etc). What is
dependent on the OS is how the i8042prt driver handles the enumeration
of a ps2 port with no device attached to it. On win2k gold, i8042prt
always failed the pnp start irp for the ps2 devices if there was no
device attached to the port. Starting in win2k sp1, i8042prt had a
setting where it would treat the absence of the device as a successful
start and rely on the hardware to handle a hotplug later. This is, as I
said before, predicated on the bios always reporting the ps2 port on the
machine regardless of what is attached to the port. Further SPs and OSs
added more functionality (like not reporting to the system event log
that the keyboard was missing).

d

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Ray Trent
Sent: Monday, May 17, 2004 9:54 AM
To: Windows System Software Devs Interest List
Subject: Re:[ntdev] Headless keyboard problem.

My suggestion for such a situation is to support hot-plugging of USB
keyboards and mice only :-).

It might be possible to force the Win2k3 DDK version of i8042prt to load

and run on 2k (not that I would ever suggest such a heretical thing, of
course :-). If your machines’ BIOS/KBC can handle post-POST
hot-plugging, that is… otherwise you’re stuck almost no matter what
you do.

Some BIOS’s will enumerate a PS/2 keyboard if you set them up to provide

legacy USB keyboard support… you could try that.

There are other possible ugly solutions, of course. You could write your

own bus driver that enumerates a PS/2 mouse and KB during boot if the
BIOS didn’t. Personally, I’d rather drive 17" red-hot vanadium spikes
into my eyeballs than do that…

Mark Shnaider wrote:

Hello,
Thank you very much Ray for your explanation.
Now its clear for me.
If I understand correctly it means that really Win2000 does not
support
hot plug for keyboard, (as described in the article Q262798) because
keyboard
must be connected during POST and can be disconnected only after POST.
I did not found also in the “BIOS SETUP” any options for POST to
solve
this
problem.
We supposed implement hot-plug keyboard for our system (under Win
2000
server)
that started without keyboard and mouse.
Mark

-----Original Message-----
From: Ray Trent [mailto:xxxxx@synaptics.spamblock.com]
Sent: Friday, May 14, 2004 1:40 AM
To: Windows System Software Devs Interest List
Subject: Re:[ntdev] Headless keyboard problem.

I should add: this was as of Win2k… Doron has already indicated that
headless support was added at some point. I’m not sure how that
works…

Ray Trent wrote:

> I’m not sure I understand the questions, but I’ll try to answer
them.
>
> 1) I8042prt doesn’t even have a functional Unload routine, so it’s
> resident until the machine shuts down. That’s assuming, of course,
that
> it was ever started in the first place. This will only happen if
the OS
> thinks that a PS/2 keyboard or mouse is present, and this is
determined
> by the BIOS during POST.
>
> 2) Once i8042prt has been told to initialize itself for a keyboard
(i.e.
> it gets an AddDevice), it sits around and watches for hot-plug
events
> (it can’t notice unplugging, though, because PS/2 doesn’t provide
any
> unplug signal). If it sees one, it reinitializes the KB and
everything
> works fine. However, if it never got an AddDevice (ultimately
because
> the BIOS didn’t tell the OS that a keyboard was present), it will
never
> hook itself up to watch for hot-plugs.
>
> Mark Shnaider wrote:
>
>> Thanks Ray,
>>
>> Please clarify for me :
>> 1 How I8042prt can be stay resident,
>> this driver is unloaded to my opinion (I see it in WinDBG
>> after Reset or shut down)
>> (may be I8042prt stay resident only in hibernate mode
?)
>>
>> 2. If during POST keyboard must be connected ,when keyboard can
be
>> removed
>> and plugged into computer ?
>>
>> Mark
>>
>> -----Original Message-----
>> From: Ray Trent [mailto:xxxxx@synaptics.spamblock.com]
>> Sent: Thursday, May 13, 2004 5:55 PM
>> To: Windows System Software Devs Interest List
>> Subject: Re:[ntdev] Headless keyboard problem.
>>
>>
>> This particular situation sounds odd (I don’t know why i8042prt is

being
>> loaded at all in case 2), but in general this is as expected.
>>
>> Typically, the BIOS detects PS/2 keyboards during POST, and then
either
>> does or doesn’t report to the OS that a device with the keyboard’s
PNP
>> ID is present in the system. If it isn’t present, the
configuration
>> manager normally won’t even load i8042prt. If the PNP ID *is*
present in
>> the system, i8042prt is smart enough (these days :slight_smile: to stay
resident
>> and wait for a reset response from the device, and therefore will
handle
>> hot-plugging (or more commonly, suspend/hibernate/resume
operations).
>>
>> Mark Shnaider wrote:
>>
>> > Hello,
>> >
>> > I investigated today my headless key problem under Win2000
>> server ,
>> > use I8042prt from last version DDK server 2003. ( and
serial
>> > WinDBG on second computer).
>> > I get very strange results and can not understand it:
>> >
>> > 1. If I remove keyboard during menu of start Operation
System (
>> > 30sec ) :
>> > “Microsoft Windows 2000 server [debugging enabling]”
>> >
>> > and connect after (in Win logon) - “hot plugging” works
OK!!.
>> > In this case I8xInitializeKeyboard routine set registry
value
>> > KeyboardFailedResett =0 and return
>> > STASTUS_DEVICE_NOT_CONNECTED.
>> > and then keyboard works after plugged into computer.
>> > > 2. But If I do following:
>> > - Shut down computer,
>> > - remove keyboard .
>> > - power computer
>> > The driver I8042prt does not work.
>> >
>> > DriverEnrty I8042prt is called and exit with status
>> STATUS_SUCCESS.
>> > but then (instead AddDevice) I8xUnLoad is called.(!!!)
and
>> > Windows unload I8042prt
>> > driver.
>> >
>> > I have problem in understanding . In both cases keyboard was
>> > disconnected before
>> > starting OS.(!!!) and DriverEnrty does not call any hardware
>> depended
>> > functions.
>> >
>> > Thanks for any help.
>> > Mark
>> >
>> >
>> > > >
>> >
>> >
>> > -----Original Message-----
>> > From: Doron Holan [mailto:xxxxx@windows.microsoft.com]
>> > Sent: Tuesday, May 11, 2004 6:39 PM
>> > To: Windows System Software Devs Interest List
>> > Subject: RE: [ntdev] Headless keyboard problem.
>> >
>> >
>> > I think you meant server 2003, not server 2000. Install the
ddk
from
>> > server 2003, it ships the i8042prt driver that is in the build
so
>> you do
>> > have the latest source for the driver. Look in
pnpi8042\i8042dep.c at
>> > the function I8xServiceParameters. If there is a
defaultHeadless
>> local
>> > variable, then you have the most recent sources and you can go
from
>> > there. I8042prt!Globals.Headless is the value that gets set.
>> >
>> > d
>> >
>> > ________________________________________
>> > From: xxxxx@lists.osr.com
>> > [mailto:xxxxx@lists.osr.com] On Behalf Of Mark
Shnaider
>> > Sent: Tuesday, May 11, 2004 6:36 AM
>> > To: Windows System Software Devs Interest List
>> > Subject: [ntdev] Headless keyboard problem.
>> >
>> >
>> > Hello,
>> > I have problem on some computers with motherboard “Intel
>> D865GLCLK” on
>> > Win2000 server
>> > ( driver I8042prt.sys from 06/19/2003).
>> > I add hotplugging capability:
>> > The new value “Headless”=dword:1
>> > “ReportResetErrors”=dword:1
>> > under key:
>> >
>>

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameter
s]

>>
>> > I understand that may be it is PC/2 controller problem.
>> > Unfortunately the last DDK sample of I8042prt driver
>> > does not contains hotplugging capability,
>> > but I try to investigate this problem (using DDK sample).
>> > I changed I8xInitializeKeyboard and replace I8042prt.sys
driver
>> > In this version I8xInitializeKeyboard routine always return
>> > STATUS_SUCCESS and
>> > “hotplugging keyboard” works.
>> > It seems to me that it is not PC/2 controller problem.
>> > but I do not have source of last version I8042prt.sys in
order to
>> > investigate this problem.
>> > Any thoughts or suggestions would be greatly appreciated.
>> > Best regards
>> > Mark
>> > > —
>> > Questions? First check the Kernel Driver FAQ at
>> > http://www.osronline.com/article.cfm?id=256
>> >
>> > You are currently subscribed to ntdev as:
xxxxx@windows.microsoft.com
>> > To unsubscribe send a blank email to
xxxxx@lists.osr.com
>> >
>> > —
>> > Questions? First check the Kernel Driver FAQ at
>> > http://www.osronline.com/article.cfm?id=256
>> >
>> > You are currently subscribed to ntdev as: xxxxx@arx.com
>> > To unsubscribe send a blank email to
xxxxx@lists.osr.com
>> >
>>
>> –
>> …/ray..
>>
>> Please remove “.spamblock” from my email address if you need to
contact
>> me outside the newsgroup.
>>
>> —
>> Questions? First check the Kernel Driver FAQ at
>> http://www.osronline.com/article.cfm?id=256
>>
>> You are currently subscribed to ntdev as: xxxxx@arx.com
>> To unsubscribe send a blank email to
xxxxx@lists.osr.com
>>
>


…/ray..

Please remove “.spamblock” from my email address if you need to
contact
me outside the newsgroup.


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: xxxxx@arx.com
To unsubscribe send a blank email to xxxxx@lists.osr.com


…/ray..

Please remove “.spamblock” from my email address if you need to contact
me outside the newsgroup.


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: xxxxx@windows.microsoft.com
To unsubscribe send a blank email to xxxxx@lists.osr.com


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: xxxxx@arx.com
To unsubscribe send a blank email to xxxxx@lists.osr.com