Fixing POST errors with a single key

one_key_keyboard

Instructables user [Mike Craghead] was in the middle of building a very compact public computer kiosk when he ran into a problem with the processor fan. It was too big for the enclosure and had to be swapped out with a fan that did not allow the motherboard to monitor its rotational speed.

Motherboards don’t like this situation very much, and each time the computer was started, it would hang at the BIOS screen waiting for someone to press the F1 key to continue. Knowing that everything was just fine, and that there were no BIOS options which would allow him to ignore the error, he crafted a simple solution to the problem.

Since the computer just needed someone to press the F1 key, he figured he could rig up a small dongle that would always hold down the key for him. After verifying that the OS would ignore the stuck key, he tore apart a keyboard and traced the circuit matrix to identify which pins he had to short in order to represent the F1 key press.

Satisfied with his handiwork, he plugged the board into his computer and found that everything worked just fine. Sure it might not be the most elegant solution to the problem, but it gets the job done at a cost of zero dollars – you can’t beat that!

Comments

  1. Pedro says:

    BIOS -> Power Options -> CPU Fan -> Ignore

    Zero dollar solution that doesn’t use up hardware, space in a cramped case or continually send a signal to the OS.

  2. Kuy says:

    This is a real hack of a hack, and not in a good way. A much better solution would be to take an attiny13, a low-end MSP430 or a (*shudder*) 555 and rig it to generate faked fan-speed pulses, or even better, simply generate real ones by interrupting a LED/photodetector pair with the fan’s spinning blades.

  3. Terc says:

    Uh. Wouldn’t it be _much_ easier to just find a way to simulate a fan at an acceptable RPM? Also, it’d have the extra benefit of not requiring a human to press the button (This is especially important since this is a kiosk).

  4. fermicirrus says:

    Terc, they dont have to push any buttons, it’s wired to keep F1 always on.

    I Love the idea of re-using old keyboards, there are waaaaay too many out there and they’re all cheap or free anymore. Why waste money/resources on NEW hardware? this is hack a day, not engineer a day.

  5. fermicirrus says:

    (not to say hacking and engineering aren’t related)

  6. TheCitySpiders says:

    a simple bios hack would suffice or even an update to a perhaps newer bios if available or contact vendor and request a revision for said feature{being able to ignore fan speed input}

  7. Justin case says:

    Answer #2.
    nuff said.

  8. ejonesss says:

    couldnt you go simpler?

    use a 555 timer to generate the signal to fool the board to work?

    or using some duct tork have the fan somewhere else in the enclosure hp does a plastic 90 elbow duct to pull the heat from the cpu .

  9. salvo says:

    Cool! I have a similar problem with my Dell that I use as HTPC: Bios hangs for no reason, waiting for F1 to be pressed. This solution wouldn’t work for me though, as the F1 key would have to be depressed after initial boot has passed… But good starting point maybe?

  10. DarkFader says:

    555 on the RPM sensor then?

  11. YaBa says:

    @Pedro: read the original article before posting dumb things. His BIOS doesn’t have the “ignore” option.
    @Kuy: The same goes to you, although that’s a really good idea, the guys said he doesn’t have the knowledge to do it.
    Nice hack. I had no idea that the OS would ignore stuck keys :|

  12. Hackerspacer says:

    I don’t see how continually pressing F1 would simply be “ok” to a modern OS? Not only would it attempt to chord the F1 with other keys when you pressed them, there are generally limits on how many keys you can press at a time. Continually pressing a key seems like it could screw up input.

    All simpler solutions aside, an arduino pro mini could have monitored the POST and pressed F1 automatically just a single time, when needed and taken up just as little space.

  13. Rohit Mahajan says:

    In addition to ideas by Kuy, I see two other simple solutions-
    1> OBDEV’s USB HID implementation to send F1 3-5 secs after start-up. So other OSes without key ignore have no problems.
    2> Since he’s buying a new heatsink… the cause of the problem…. buy one with feedback! 0$ hack

  14. injulen says:

    Guys.. it clearly states that he couldn’t do it in his BIOS options.

    And it says that the OS ignores the stuck F1.

    This is a brilliant work around. It is definitely more simple than pretty much any other of the suggestions in the comments so far.

  15. Mike Bradley says:

    Just curious, I build allot of machines, and I set every one to HALT ON NO ERRORS, thus I never see the F1 to continue.

  16. Napalm says:

    Just did a little testing. Standard Intel cooler pulls the sense pin to ground at 60Hz @ 12V standard with a 50% duty cycle. My spare Zalman high performance cooler pulls the sense pin to ground at 100Hz @ 12V with a 50% duty cycle.

    So in short a 555 would do just fine.

  17. bzroom says:

    I think the reason he doesnt care that the key is held down, or mixed with other keys, is he is likely using a touch screen for input with a custom application that uses no keyboard input.

    This is a good hack. Which is what we were looking for when we came here.

  18. t&p says:

    How do you sell kiosks? Some of my family can do pro wood work and I can do the PC and custom software, but who would want it and how would I sell it?

  19. shpank says:

    It’s actually enough if you take a 3 pin Molex plug and connect the RPM signal to ground. Always worked for me.

  20. Max says:

    I can see a 30mm fan on ebay that includes speed sensor. It costs £1.99 and free postage. How small does it need to be???
    Other options would include just putting the “big” CPU fan somewhere else in the build and using the new fan on the CPU powered by a different supply.

    And for anyone saying “but the original design has a 4 wire fan” a little bit of reading should show you that you can ignore the 4th wire. It is a PWM signal from the m/b to the fan. Without it, the fan just runs at full speed.
    (He isn’t getting this signal being used with the current hack anyway)

  21. Max says:

    That said, I do like the idea of single button keyboards. Mainly to hand out to users, map the button to run a browser with google and mark the button “when wanting answers, press me”.
    Or mark the button “IT Support” and program it to a message popup : “Turn it off and on again” ;-)

  22. I found some 3 wire 25mm fans. They’re going to sound like an idling airliner, but they should be small enough.

    And to whoever was talking about F1 messing with concurrent keypresses: that’s only an issue if the key is on the same matrix.

  23. Whatnot says:

    The most odd solution for the issue indeed.
    I’d also rig a pulse somehow, and preferably one that would actually fail if the fan failed.
    (My initial thought was 555 though like many others here)

  24. Drew says:

    Haters gonna hate.

    I personally would have used a 555 to pulse the key after startup, but whatever. This was a quick and dirty hack, and I think it’s great.

  25. Hirudinea says:

    Hey if its stupid but it works, it ain’t stupid. Also this hack could be adapted as a prank, no?

  26. oldfart says:

    A great example of Wallpaper Syndrome.
    Don’t understand the underlyuing technology – so make something irrelevant to bury the problem for the next generation.
    If this was submitted as a key hack – great, but to take up the realestate and cost to do something badly is a poor reflection on hacking as a skill.
    No apologies for this one.

  27. Daid says:

    Funny, I’ve seen machines ask for F1 to continue, when a key was stuck. (It was the same machine that asked for F1 when the keyboard was missing)

  28. VV says:

    I’ve had stuck keys come up as “Keyboard Failure, Press F1 to continue”
    Something I always found amusing!

  29. edonovan says:

    Or he could pull the F1 key off the kiosk keyboard and wedge a piece of paper inside to hold it down.

    Personally, I file this under “kludge”, not “hack”.

  30. mjrippe says:

    @Max – Is it plugged in?

  31. D_ says:

    This person used the skills they had to work out a solution to a problem with what they had available to them at the time to keep the project moving, and have the final product perform as desired. While others would have done it differently doesn’t invalidate this solution. The only problem I would see is that it may created a fire hazard, but so would some of the alternates. Another comment applied a wall paper idiom. While that comment didn’t elaborate what it was that was being covered up I’d disagree, because it seems that the kiosk will work for the users as intended. Another called this kludge, fair enough, but I’d submit ALL hacks are kludges to some degree.

  32. Looks like a good kludge if you have to get something going NOW. Why all the hate?

  33. Hackerspacer says:

    I think the “hate” stems in part from the overly elaborate workaround that will inevitably produce a host of unintended effects down the line whenever somebody else tries to modify the system and gets completely unexpected results due to their completely understandable lack of expectation that such a work around would have been used.

    This hack may have fixed the problem at hand but it has the potential to introduce other unintended side effects, hence the kludgy moniker.

    As soon as one gets into the habit of implementing these “duct tape” solutions, projects go from well designed to a huge fucking mess (AHFM) rather quickly – and can at times spiral out of control so much as to necessitate scrapping of the entire project and starting over from scratch.

  34. Greg says:

    Jesus, guys. I doubt the kiosk is a matter of national security. He put something together and it worked. When you submit and have a project published come back and talk smack.

  35. stunmonkey says:

    1) connect the RPM signal pin to ground.
    2) spend like 3 bucks on the right sized fan with a sensor plug
    3) hot glue a freaking opto sensor on the existing fan if all else fails and you really want to keep functionality in the extreme case that #1 and #2 can’t work for some reason.

    this solution is about #8300000012 on the list, if arranged in an order that makes sense.

    as for those saying to get a project published; we do create projects, they just wouldn’t publish them here. either they involve too much actual engineering, they don’t involve an arduino, or both. either will get a big fat story spike.

  36. TecKnight says:

    Am I alone in thinking that this seems like an inelegant solution to a relatively simple issue ? (processor fan has no rpm feed).
    As Max points out, a compliant fan can be bought on ebay for $3 US.
    Analysing the root cause of the problem, one should conclude that the fan should be replaced or otherwise rendered compliant, thus eliminating the trip to the BIOS when booting up.
    Also, I have serious doubts that the shorted key will have no effect on any other keys that do need to be pressed and will cause no issues with the OS.
    I do admit, however, that the tiny circuit board with the one key on it looks pretty cool.

  37. Max (the other one) says:

    This does not belong on HaD.

    This belongs on ThereIFixedIt, right next to the 10001 duct tape “solutions”.

  38. Philip says:

    Isn’t hacking to do something the best you can and to have the hack function the way you want it?

    If so, this guy is 2/2.

    I say well done and keep up the good work.

  39. Xb0xGuru says:

    Weigh up the time and effort put into this and offset against a few dollars to do the job properly and it becomes a pointless exercise.

    It’s been posted online, so I assume the guy’s computer literate. How hard would it have been to ask the question elsewhere or at least research a workable alternative?

    I can’t find one positive for this kludge other than a literal definition of ‘going around the sun to get to the moon’.

  40. Philip says:

    But now he knows how keyboards work, he knows how to get the key he wants and he got it to work. Knowledge is much more valuable than time, plus he didnt have to spend a penny since he had the donor keyboard.

  41. Bob says:

    So now when his replacement fan stops his pc overheats and dies? Great hack!

    Fans with rpm sensors are available at any size, it would have been a much better idea to just get the right sort of replacment.

  42. peet says:

    why narrow it down to this rpm signal?

    it’s a nice hack to re-use old fashioned keyboards for ANY purpose!

  43. K!P says:

    its for a shoestring budged kiosk pc, there wont be a keyboard connect annyway, so no problem with the max keys pressed thing. Also: yeah its crude, but it works!

  44. Snobound says:

    Don’t people bother to read the post (and the instructable in the link)? He said he had a tiny space to work with and didn’t have the skills to build an emulator for the fan signal. He did have the skill to reverse engineer the keyboard matrix. Add to that a $0 recycle solution.
    I say KUDOS for this one!

  45. blue carbuncle says:

    Bravo on the fix but next time just go into BIOS and disable the “Halt on All Errors” option. There are even more sub-options available in most BIOSes. Fixed my problem on my P2 15 years ago lol.

  46. Jon says:

    Another fan with feedback crammed somewhere else (doesn’t have to cool anything) and extend the wires to plug into the CPU fan header.

  47. GameboyRMH says:

    If you have absolutely no choice you can rig up a circuit to emulate a fan’s tachometer signal. This is stupid.

  48. GameboyRMH says:

    Here is what he should have built instead:

    http://hardforum.com/showthread.php?t=1606397

  49. Tony says:

    @blue carbuncle, ‘halt on all errors’ doesn’t cover fan alarms.

    Still, most BIOSes let you disable those as well, as TFA says his didn’t.

    Sometimes you build silly things to get around other silly things, make even sillier by having limited options & time.

  50. blue carbuncle says:

    @ Tony I hear ya :) I had to build my own LPT dongle “key” for Cubase on that same p2 lol. Not knocking his build as I have used WOL to power up another computer that was having (in a nutshell) power button fail issues lol. This was in my younger, more industrious days before the wife and her stink eye about random wires running across the floor ;)
    Another option would have been an R/C tweak on the fan speed wire to mimic the tics of the fan and tricking it into thinking the fan was spinning but that would involve breaking out the soldering iron real quick. Thanks for the input :)

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

Join 92,165 other followers