0
\$\begingroup\$

My Desktop PC hangs in the BIOS boot phase when my KVM is attached. If I unplug the USB connecting the PC to the KVM, the PC boots without hanging. If the USB of the PC is connected directly to the keyboard and mouse, it does not hang.

After contacting the KVM maker and discussing the problem on several forums, I still have no solution. So I would like to consider making my own solution.

The Desktop PC has an ASRock G31M-GS R2.0 Motherboard.The attached KVM is a Startech 4 port DVI USB KVM Switch with Audio and USB 2.0 Hub, SV431DVIUA.

I contacted the KVM maker Startech, who advised "In STANDARD CMOS, set HALT ON ERROR to ALL BUT KEYBOARD" in the "STANDARD CMOS settings" but I could not find this setting. I also discussed the problem on several forums, but did not arrive at a solution

I noticed that the hang at the BIOS occurs when the PC is powered up "from the cold" with the KVM attached. If I have left it plugged in for a while, it boots straight through with the KVM without hanging. If the KVM is not attached via the USB then it boots straight through in all cases.

It is a minor inconvenience but I like the idea of fixing the issue.

It seems to me to be some kind of electrical issue as to how the KVM interacts with the motherboard via the USB. Some kind of "settling down" electrically seems to happen over time for the aforementioned scenario whereby it boots straight through if the PC is booted with the KVM if they have both been plugged in to the mains for a while, with mains power on.

So, I'm envisioning making some kind of custom mini circuit board half the size of a credit card to go between the USB input on the PC and the KVM. This board will let the usual USB traffic pass in both directions, as if it wasn't there. But its specific job would be to regulate/stabilise the current/voltage from the beginning. A combination of capacitors/resistors.

What would you recommend to do this job in terms of an outline of a circuit diagram etc?

Thank you.

\$\endgroup\$
  • 2
    \$\begingroup\$ Before you start making tons of power regulating circuitry, have you made sure that the issue isn't the KVM confusing the BIOS's keyboard handler when both the KVM and computer perform cold-starts? \$\endgroup\$ – Reinstate Monica - ζ-- May 4 '16 at 23:43
  • \$\begingroup\$ Thanks for your input hexafraction can you elaborate on what you mean by confusing. The kvm is always on first for at least a few seconds in a cold start scenario \$\endgroup\$ – therobyouknow May 4 '16 at 23:46
  • 5
    \$\begingroup\$ I doubt this is a power supply issue, rather the KVM probably behaves differently when it has only been powered on, vs when it has previously had a full operating system talking to it, on a computer that has then rebooted while the KVM remained powered. There's an alternate minimum mode for USB keyboards used by BIOS if it doesn't want to implement a full USB host stack, and the issue may well be some "disagreement" over that. \$\endgroup\$ – Chris Stratton May 5 '16 at 0:14
  • \$\begingroup\$ Hi Chris thanks for your input. The hang scenario occurs when the PC is booted shortly after the KVM as been switched on. As I'm based in the UK, we have power sockets with power switches. So if the KVM has been on for a while and the PC has its power socket switch on but is not switched on itself then the PC will boot. \$\endgroup\$ – therobyouknow May 9 '16 at 9:47
  • \$\begingroup\$ +1 hexafraction and Chris upvotes -thanks for your input. \$\endgroup\$ – therobyouknow May 9 '16 at 9:52
2
\$\begingroup\$

This problem will not be fixed with "a few resistors and capacitors to stabilize the power". The problem is that the KVM does not respond correctly to the initial BIOS handshakes between the computer and the KVM. The most obvious fix is to try some other KVM. But if you are set on building something then you have to simulate what does appear to work!

You have observed that the computer boots fine with the KVM disconnected. And then I have to presume that the KVM works fine when subsequently plugged in once the system has booted. So what you would have to come up with is a device that delays the USB connection of the KVM. This delay device could be something that follows this general diagram:

enter image description here

This would break into the USB cable and route all four wires through the NO (normally open) contacts of a 4-pole signal relay. The relay coil would be driven from some buffered drive signal that activated the coil once the target computer was booted up. The nature of that circuit would be something you would have to devise since I am not privy to your computer setup. Most likely you would want to power the relay driver circuit via 5V extracted from the another USB port coming out of that same computer so that when the computer is off the the relay circuit shuts itself off.

One possible solution for the relay driver may be to use an Arduino board that connects by USB to the computer. When the Arduino board powered up and the computer had finished boot you could have the computer startup script send a command to the Arduino to switch the relay.

\$\endgroup\$
  • \$\begingroup\$ +1 thanks for your answer Michael. Really appreciate the time you put in here. I think that your answer would provide the solution though as I'm sure you were thinking as you wrote your answer, it does seem like I need an elaborate solution to what some may regard as a small issue. That thought does not in anyway diminish your solution. Rather, I'm aligning to what I believe were your thoughts about the solution being necessarily elaborate. As you say, try another KVM is the other option which I'm sure some would regard as being a more proportional response to the issue. \$\endgroup\$ – therobyouknow May 9 '16 at 9:52
  • \$\begingroup\$ accepted answer, sorry for the delay in following up. thanks everyone for their input. \$\endgroup\$ – therobyouknow May 9 '16 at 9:53

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.