Dongles to Fake Presence of a Keyboard?
An anonymous reader asks: "I have a Compaq IPAQ desktop system (legacy free) that will not boot headless. (Yes I did try to tell the BIOS to not generate a no keyboard error, but there is no such setting for the BIOS of this system.) Since I would like to use it such and don't wish to waste a keyboard just to keep it from complaining, I'd like to come up with a small dongle that would fake the system into thinking that there is a keyboard attached. This is the same basic thing that KVM's do, so the circuit shouldn't be that difficult to find. Has anyone heard of such a thing? Can anyone provide or point to somewhere where I can find the basic circuit for this?"
How hard would it be to take the connector part from a old non-working keyboard and wiring something like this up?
I can't imagine such a dongle could be cheaper than picking up a really cheap and nasty keyboard. Here in the UK, you can regularly get keyboards for 2GBP at computer fairs.
You'll also have the added advantage of having a keyboard attached to machine, just in case.
codegolf.com - smaller *is* better.
The keyboard has a small microcontroller and the protocol the keyboard uses with the PC is quite tricky and usually the check to see if a keyboard is plugged in (PS/2 and AT) includes protocol checks
so you might aswell solder the chip free from a keyboard and stick it with a plug in a housing. BTW, if you are asking this correctly the system is NOT legacy-free, legacy-free would mean no PS/2 plugs.
Open old KB. Cut away everything except the controller chip and the traces between it and where the cable enters.
The latest Slashdot meme.
(link in Danish. Product #2.
Keyboard Emulator @ Froogle
I have run into the no-keyboard-present error when trying to convert an old desktop machine into a headless file server.
A bios upgrade gave me the ability to ignore the keyboard error.
Perhaps you should investigate that first.
I had a similar problem when I was given a computer, although it had to have a mouse also. Nevermind the fact that I was putting OpenBSD on the machine to be a dedicated web/mail server and didn't have any plans to install anything that needed a mouse
What I ended up doing was just getting a cheap mouse, coiling it up around itself, and throwing it behind the tower
History will be kind to me, for I intend to write it - Sir Winston Churchill
Way 1:
Get a working receiver for a cordless keyboard. You do not need the actual keyboard, or a mouse. It also does not matter wheater it works with infrared or radio. Plug it into the computer. Finished. (If you are paranoid, you wrap a radio receiver into grounded tin foil to build a faraday cage, thus eleminating all incoming transmissions from wireless keyboards around. For infrared, some layers of duct tape across the infrared receiver should be sufficient, but tin foil will also do the job.)
Way 2:
Get a really, really, really cheep, but working keyboard (at least one key should work as expected). Open the case. Use brute force if needed. You should find a small printed circuit board (PCB) with one chip and three (or more) LEDs, it should be connected to a keyboard matrix made mostly of transparent foil. Rip off the keyboard matrix, throw away everything except the PCB and the keyboard cable. Place the PCB in a small case, or wrap it into duct tape. Connect the keyboard cable to the computer. Finished.
(Note: If you are really out of luck, the entire keyboard IS a PCB, or even worse, the entire keyboard is made of plastic foil, including the part carrying the chip and LEDs. In this case, getting another keyboard is the easiest way.)
Tux2000
Denken hilft.
How can I spend more money and time to fabricate a fake keyboard dongle rather than "waste" a $5 USB keyboard bought on ebay? What a geek. And I mean that in the best sense of the word :)
OK, I went a step further, I scoured the internet and found a link to the file that you need.
0 66 7.zip
I found this on the ipcop website.
ftp://ftp.compaq.com/pub/softpaq/sp0501-1000/sp
"Some Compaq machines allow the user to select this mode of operation by selecting "Network Server" mode in their setup program. For those that do not have this option, NO_F1.COM is a DOS based program that is run one time which sets a bit in CMOS that instructs the BIOS not to wait for a keystroke after displaying the "Press [F1] to continue" message."
"May the schwartz be with you!"
Our local Portland Oregon USA computer recycler FreeGeek is selling used PS2 keyboards for about a dollar each.
However that doesn't really address the issue of avoiding having to have a keyboard inserted to boot the PC. I have been looking into this issue recently and found that an inexpensive microcontroller can reproduce keyboard signals quite easily. The Atmel AVR Tiny11 sells at DigiKey for $0.41 each in quantity 25 and $0.56 in quantity one. It's an 8 pin DIP that runs at 1 MHz with no external parts. Its Flash memory holds 512 instructions and it has 32 registers. The companion chip, the AVR Tiny 12, sells for $1.10 quantity 25 and can be programmed directly from the PC parallel port. The PIC controllers from Microchip Inc. have devices in the same price/performance range, but they are more difficult to develop software for and they need external programmers to write the code into their Flash memory.
It's necessary to know what bytes the PC sends to the keyboard on power-up and what the keyboard sends back to the PC. Then these bytes can be formatted by the dongle and sent to the PC to mimic a keyboard.
The PC keyboard has weird programming. Each key sends at least one byte when pressed and some send two or more. When released the same byte set is resent preceeded by the byte 0xf0.
Now any Slashdotter, when given the job of encoding a keyboard with less than 128 individual keys, would assign a 7-bit scan code to each key with the high bit either set or clear depending on whether the key was pressed or released. Simple and elegant. But the standard PC keyboard has this strange multibyte configuration that makes it difficult to decode the keypresses. Not to mention that there is no way to turn off the auto-repeat for the entire keyboard.
Nevertheless, the keyboard scancodes are standardized throughout the world. And there are hundreds of millions of keyboards out there. The newer ones only use about 13 milliAmps of power.
I developed an AVR program to take the PS2 keypresses and mimic a MIDI keyboard by sending note on/off messages according to the keypresses. I'm surprised at how well it works. Except for a few key combinations that don't register together, the PS2 keyboard can function like a MIDI music keyboard (without velocity and aftertouch detection, of course). For a few dollars, I have a small light portable keyboard that plugs into a tone module and adds hundreds of musical instrument sounds to small music group jams. This application is posted on www.avrfreaks.org in the user projects section of the Academy forum.
Hope this still reaches the original requestor, but...
There is a hidden setting in most compaq bioses that lets you boot headless.
Take the following steps:
- go into the bios
- set a power-on password
- a new option will appear, probably "password options"
- here you can set "Network Server Mode" to enabled
- reboot, remove keyboard and behold!
Good luck.