Opened 8 years ago

Closed 8 years ago

Last modified 8 years ago

#87 closed defect (NoChangeNeeded)

USB keyboard inoperable during CONFIG.SYS boot processing.

Reported by: David McKenna Owned by:
Priority: major Component: hid(hid,mouse,kbd)
Version: Keywords:
Cc:

Description

Recently replaced my beat-up PS/2 keyboard with a USB one (Logitech). It works well with the latest USB drivers (10.210). Somewhat later I installed the latest FAT32 driver and deleted the old one, but forgot to update CONFIG.SYS. During reboot, boot paused on the FAT32 driver with a 'not found' error and asked to 'hit enter to continue'. I hit enter and nothing happened. Hit every key and nothing happens. Trying to boot to maintenance desktop or command line gets the same pause. It seems the USB keyboard is inoperable at this stage of the boot process. Luckily, I have the PS/2 keyboard so I put that back in and was able to get to the desktop and add PAUSEONERROR=NO to all my CONFIG.SYS files so it won't happen again, but I hate to think what to do if there was no PS/2 port.

Attachments (1)

CONFIG.SYS (7.3 KB ) - added by David McKenna 8 years ago.

Download all attachments as: .zip

Change History (21)

comment:1 by Lars Erdmann, 8 years ago

You have to wait long enough for the USB keyboard to become operable. It takes a while until the OHCI/UHCI controllers become operable. Just wait for say 10 seconds and it should work.
Additionally, you need to use AMOUSE.SYS (for whatever reason, the original IBM mouse driver will prevent the USB keyboard from working on bootup. Same with USB mouse.).

Other than that I would not know what else to do and I also don't know if it would work with the original USBKBD.SYS/USBMOUSE.SYS.

comment:2 by David McKenna, 8 years ago

I tried again and waited up to 5 minutes, but the keyboard would not work. I am using the AMouse driver (new one just came out today), but not the USBMOUSE.SYS that came with it (I am using your USBMOUSE.SYS).

One thing I discovered while doing this that may be relevant. Both my mouse and keyboard are wireless USB devices and each has one of those little USB transmitters plugged into the computer. It turns out both support a mouse and keyboard, so to the system it looks like I have 2 mice and 2 keyboards.

Another thing is I can tell when the keyboard is working by toggling the caps lock button and looking at the indicator light on the keyboard. When the light comes on, the keyboard is working. It comes on after POST and before starting to boot, then once the logo appears all the way to just before the desktop appears it will not come on. Once the desktop appears, then it comes on again.

I'll try disabling the mouse and see what happens....

comment:3 by David McKenna, 8 years ago

Disabling the mouse (REM the amouse and usbmouse drivers) did not change anything...

comment:4 by David McKenna, 8 years ago

Another thing possibly relevant... this computer only has EHCI USB ports.

comment:5 by Lars Erdmann, 8 years ago

For USBKBD.SYS there is a Switch /DEVICE such as:

DEVICE=C:\OS2\BOOT\USBKBD.SYS /DEVICE:1

Then there is yet another Switch /NOLEGACY such as:

DEVICE=C:\OS2\BOOT\USBKBD.SYS /NOLEGACY

I don't really know what they do but you should start with the /DEVICE Switch and then possibly try the /NOLEGACY Switch in Addition.

For USBMOUSE.SYS there is also a /DEVICE Switch, the same way as for USBKBD.SYS. You can also try that:

DEVICE=C:\OS2\BOOT\USBMOUSE /DEVICE:1

See if that makes a difference and report results.

I doubt that "EHCI only" is the problem. Strange enough that AMOUSE.SYS solved the Problem for me but I only have one USB connected IR Receiver that supports both my wireless Keyboard and my wireless mouse.

Lars

comment:6 by Lars Erdmann, 8 years ago

Forgot to say: you might Need to Experiment with the "instance" for the /DEVICE Switch.

since you have 2 Receivers you might Need to do:

DEVICE=C:\OS2\BOOT\USBKBD.SYS /DEVICE:1 DEVICE=C:\OS2\BOOT\USBMOUSE.SYS /DEVICE:2

or vice versa.

Version 0, edited 8 years ago by Lars Erdmann (next)

comment:7 by Lars Erdmann, 8 years ago

Thinking about it again: during the bootup phase, none of the USB drivers is having any influence on your capability to use USB mouse or keyboard.

In order to use USB mouse or keyboard during the bootup phase you need to have:
1) legacy USB enabled in BIOS
2) you need to have a working BIOS that properly supports legacy USB
3) you need to have legacy keyboard and mouse drivers (IBMKBD.SYS, MOUSE.SYS or AMOUSE.SYS)

The system will switch from legacy USB to native support only once all drivers have loaded, that is after all PSD=,BASEDEV=,DEVICE=,IFS= drivers have loaded but before any CALL= or RUN= statements are executed.

If you have a missing IFS= driver, then you will be stuck in legacy USB support because not all drivers have yet been loaded. Unfortunately there are MANY systems where legacy USB does not properly work. The legacy USB support on my system is also flaky.

If you now say "but it works under Windows !": when Windows boots up it shows you this marvellous picture of the Windows logo assembling and pulsating. While you sit there staring at this logo you forget to realize that during that time you do not and cannot interact with the system (no mouse, no keyboard). That's the point in time when Windows switches from legacy USB to native USB. Once Windows shows its login screen you are already in native USB mode.

Sorry but this is nothing that can be fixed in the USB drivers.

So why do you need working legacy keyboard and mouse drivers (IBMKBD.SYS, MOUSE.SYS or AMOUSE.SYS) for legacy USB support to work ? That's because the legacy USB support is faking the system into believing that a PS/2 keyboard and PS/2 mouse is attached where in reality a USB keyboard and USB mouse is attached. But in order for this faking to work the legacy drivers will be called.

comment:8 by David McKenna, 8 years ago

Hi Lars,

Thanks for this great info.... I tried the tests you mentioned and was able to determine that the correct setup for my hardware was USBMOUSE /DEVICE:1 and USBKBD /DEVICE:2. With Legacy USB in BIOS either on or off I could not use the keyboard during boot. Tried /NOLEGACY switch as well, no go. Even put the USBKBD driver at the top of CONFIG.SYS, but still no go. So I guess I have to assume my BIOS legacy USB support is not adequate.

One thing... I use the QSINIT loader... do you think the loader might influence this situation? Maybe I'll try these tests with the IBM one...

comment:9 by Lars Erdmann, 8 years ago

Your answer is a bit confusing. If nothing works what does it then mean that /DEVICE:1 for mouse and /DEVICE:2 for keyboard are the correct parameters ?

I doubt all that has anything to do with QSINIT. I am also using QSINIT and have no problems using a USB keyboard on system boot. I guess your legacy USB is badly broken. What you could do is boot from a "good old DOS" disk with some application making use of the (USB) mouse (let's say Turbo Pascal 6.0 from Borland or some such). If that does not work then it's because of broken legacy USB support. You can also boot without any USB drivers at all and at least the USB keyboard should work.

As I said you have to use AMOUSE.SYS and not MOUSE.SYS. Maybe you can post your config.sys and I can have a look at it.

comment:10 by David McKenna, 8 years ago

Lars,

Sorry to be confusing... what I meant was that if I set the lines:

DEVICE=C:\OS2\BOOT\USBMOUSE.SYS /DEVICE:1

DEVICE=C:\OS2\BOOT\USBKBD.SYS /DEVICE:2

in my CONFIG.SYS, the mouse and keyboard work when booted to desktop. If I set:

DEVICE=C:\OS2\BOOT\USBMOUSE.SYS /DEVICE:2

DEVICE=C:\OS2\BOOT\USBKBD.SYS /DEVICE:1

then neither one works. I have been using AMouse all along. I'll try booting without any USB drivers and see what happens. I'll try booting FreeDOS too. CONFIG.SYS is uploaded....

by David McKenna, 8 years ago

Attachment: CONFIG.SYS added

comment:11 by Lars Erdmann, 8 years ago

Looked at your config.sys:

1) move USBD.SYS before USBEHCD.SYS drivers (or any of the USB?HCD.SYS drivers in fact).
2) as a test, additionally, REM out vmouse.sys.

comment:12 by David McKenna, 8 years ago

I 'REM'ed out vmouse.sys in CONFIG.SYS and tried booting with an error in an IFS entry, but the keyboard would still not work when 'hit enter to continue' appears. Tried moving USBD.SYS before the USBEHCD.SYS entries in CONFIG.SYS and still the keyboard does not work. I also tried 'REM'ing out all USB basedev lines but that did not work either. Still need to get a copy of DOS....

Last edited 8 years ago by David McKenna (previous) (diff)

comment:13 by Lars Erdmann, 8 years ago

Boot without ANY USB Drivers loaded. That will work if legacy USB works.
For that purpose you can set up an alternate config.sys (if you know how to do that, see file \os2\boot\altf1bot.scr:

http://service5.boulder.ibm.com/pspsdocs.nsf/c7a34b35e55986f9862563cc00604815/cb139a440 84c5207852562020051d18d?OpenDocument)

You should also have your PS/2 keyboard handy in case this fails.

comment:14 by David McKenna, 8 years ago

Lars,

I REM'ed out every line that contained 'USB' in it in the CONFIG.SYS. Also mangled the FAT32.IFS line and REM'ed out PAUSEONERROR=NO. Still can't get past 'hit enter to continue' during boot. I also tried the above with ACPI.PSD REM'ed out too, but no difference. Not looking good, but I still need to get my hands on DOS and try that...

comment:15 by Lars Erdmann, 8 years ago

If you do not load any USB Drivers at all and subsequently if you do not have a working USB keyboard during initial bootup then you do not a working legacy USB support on your machine. That's it, end of the game. The ONLY remaining issue in that case is the legacy mouse driver (mouse.sys or amouse.sys), remming out ACPI.PSD will make no difference.

Are you sure you have legacy USB support enabled in BIOS ? What motherboard / computer is that ? Do you have a manual for your BIOS Settings ?

comment:16 by David McKenna, 8 years ago

Lars,

I tried again with all USB lines REM'ed out as well as VMOUSE and AMOUSE. Still can't get past 'hit enter to continue'.

All tests so far have been done with legacy USB both turned on and off in BIOS. Doesn't make any difference. When it is turned off, there is a very explicit warning about that during POST.

My motherboard is an MSI H55M-E33 with the most recent BIOS (from 2011). I have a 3.2GHz i3 processor (HT off) with integrated video and 4GB DDR3 RAM, as well as a 32GB SSD boot drive (C:) and 250GB rotating data drive (D:). This has been a very nice OS/2 machine up to now. And yes, I have a manual for the BIOS. Once ArcaOS comes out , I'll probably upgrade - I'm looking at a GigaByte GA-H110M-S2H.

comment:17 by Lars Erdmann, 8 years ago

Why did you remove AMOUSE.SYS ? That is a legacy driver and not a USB driver and should not be removed. I think VMOUSE.SYS can also remain where it is, it's mouse support for DOS sessions and should not have any effect on this problem (it was trial and error to REM it out).

Why don't you try the ARCANOAE drivers and check if that works ?
I expect not but I might be mistaken. Of course you will need to put back in all the USB drivers into config.sys.

By the way: buying a new Motherboard will increase the likeliness that legacy USB will not work. MB vendors do not care a bit about OS/2 (or Linux) and Windows no longer needs legacy USB support. And that's why they never test proper operation (or maybe only have legacy USB support operational for the time where you fumble around in the BIOS setup screens).

Last edited 8 years ago by Lars Erdmann (previous) (diff)

comment:18 by David McKenna, 8 years ago

I think I misunderstood your comment about the mouse driver being the only remaining issue, so commented it out.

I did try the Arca Noae drivers, but as you suspected, it made no difference.

I got that motherboard I mentioned, and in a cruel twist of fate, I can use the USB keyboard during the boot stage to 'hit enter to continue', but it has an XHCI controller only (in spite of the specs saying 4 USB 3.0/2.0 ports and 8 USB 2.0/1.1 ports) so can not use USB at all when booted to the desktop. I'll have to get a real USB 2 adapter. Otherwise everything works.

Merry Christmas!

comment:19 by Lars Erdmann, 8 years ago

Resolution: NoChangeNeeded
Status: newclosed

comment:20 by Lars Erdmann, 8 years ago

This is a legacy USB issue and as such cannot be fixed in the OS/2 USB drivers.

Note: See TracTickets for help on using tickets.