Problem: Since the release of Windows XP and NT, whenever Windows boots up, it searches for a serial mouse on any built in COM ports on your PC. The way that it does this is to look for any data at all coming in the serial port at boot time. If Windows sees data coming in a COM port at boot time, it loads a mouse driver for that COM port. The consequences of this are that the COM port becomes unavailable to any other program and also, any data received through the COM port could potentially be interpreted as mouse movements and clicks causing your PC’s mouse cursor to jump erratically and uncontrollably. It can even cause your PC to crash.
Many RS232 serial devices including scales, GPS receivers and some measuring instruments are designed to transmit continuous data out a serial port. Therefore, if you have one of these devices connected to your PC when you boot the PC, you could run into this problem.
There are three ways to deal with this problem. The first is to either make sure that the device connected to the COM port is turned off (or is disconnected from the PC) when you boot the PC. After Windows has booted, you can then turn the device on or reconnect it to the PC and everything should work fine.
The second way to deal with the problem is to see if there is a way that you can configure the device that you have connected to the COM port to not transmit data continuously and instead only transmit data when prompted with a command or perhaps when a button is pressed on the device.
The third way to resolve the problem is to modify some settings in Windows so that it does not search for serial mice on the COM ports at boot time. The way to accomplish this will be different depending on which version of Windows you are running.
Disabling Serial Mouse Detection at Boot Time in Windows 7
Important: The instructions below contain steps that tell you how to modify the registry. However, serious problems might occur if you modify the registry incorrectly. Therefore, make sure that you follow these steps carefully. For added protection, back up the registry before you modify it. Then, you can restore the registry if a problem occurs.
For more information view the Microsoft Windows help article titled Back up the registry: http://windows.microsoft.com/en-US/windows7/Back-up-the-registry
- Click on the Windows start button
- In the search box, type in: regedit and press the enter key on your keyboard
- The Registry editor windows will open
- Navigate to the registry key named: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\sermouse
- On the right hand side of the registry editor window you should find subkey named: start
Double click on the "start" subkey and modify the value of the key to: 4 and click the OK button to return to the registry editor window
Note: setting the "start" subkey value to 4 will disable windows from looking for serial mice at startup
- Exit the regitstry editor window
If you do not find the Start key then follow the below steps:
- Right click on any blank space in the right side pane of the registry editor window and select on the option New from the context menu that appears.
- Click on: dword (32-bit) value from the submenu that appears
- Rename the new subkey to: start
- Right click on the new "start" subkey and select "modify" from the context menu that appears.
- Set the value to: 4 and click the OK button
- Close tehe registry editor window
- Restart the computer
To disable the detection of serial mice on COM ports in Windows NT
- Make a backup copy of the Boot.ini file.
- Remove the hidden, system, and read-only attributes from the Boot.ini file.
- Using a text editor (such as Notepad) open the Boot.ini file.
- Add the /NoSerialMice option to the end of each entry in the [operating systems] section of Boot.ini. See the example below for more information.
- Save Boot.ini and quit Notepad.
- Restore the hidden, system, and read-only attributes to the Boot.ini file.
- Shutdown and restart Windows NT.
The following is a sample of the Boot.ini file
[boot loader] timeout=3 default=multi(0)disk(0)rdisk(0)partition(1)\WINNT35 [operating systems] multi(0)disk(0)rdisk(0)partition(1)\WINNT35="Windows NT Workstation Version 3.51" /NoSerialMice multi(0)disk(0)rdisk(0)partition(1)\WINNT35="Windows NT Workstation Version 3.51 [VGA mode]" /basevideo /sos /NoSerialMice
|/NoSerialMice||Disables the detection of serial mice on all COM ports.|
|/NoSerialMice:COMx||Disables the detection of serial mice on COM x, where x is the number of the port.|
|/NoSerialMice:COMx,y,z||Disables the detection of serial mice on COM x, y and z.|
NOTE: The /NoSerialMice option is not case sensitive.
To disable the detection of serial mice on COM ports in Windows XP
Follow the instructions in the above section for Windows NT except, instead of adding the /NoSerialMice switch, use the following /Fastdetect:comnumber switch instead as described below:
This switch turns off serial and bus mouse detection in the Ntdetect.com file for the specified port. Use this switch if you have a component other than a mouse that is attached to a serial port during the startup process. For example, type /fastdetect:comnumber, where number is the number of the serial port. Ports may be separated with commas to turn off more than one port. If you use /fastdetect, and you do not specify a communications port, serial mouse detection is turned off on all communications ports.
For example, the switch /fastdetect:com1 will disable detection of serial mice on COM1.
The switch /fastdetect:com1,com2 will disable detection of serial mice on COM1 and COM2.