[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: cannot boot OpenBSD 3.6 without keyboard plugged in



Apologies is this gets to be a duplicate somehow, but for some reason 
this message didn't appear to have come across when I sent it earlier:
----

DISCLAIMER: This is a kinda longwinded -- cover-it-all email -- written 
bit by bit as I learned more about the issue at hand.

Again, my problem was:

> OpenBSD will hang at a very early stage of its bootstrapping process 
> if there is no keyboard plugged in at that time.
> (...)
> The precise screen output, just after the BIOS POST, is:
>
> === begin quote ===
> Using drive 0, partition 3.
> Loading...
> probing :
> === end quote ===
>
> and this is where it just hangs

Rod.. Whitworth wrote:

> I have seen an electronics magazine called "Silicon Chip"  (in
> Australia) a year or two ago describe how to take an old keyboard and
> cut off a bit of its PCB and use it on a DIN plug to fake the keyboard.

Jeremy Bowen replied to that:

> While this might be a possible solution, isn't this a classic case of 
> "fixing the symptoms, not fixing the problem" ?
>
> It would be better to get to the bottom of what is actually going on. 
> I'm sure most programmers have seen cases of patches that have been 
> applied to cover up/ mask various bugs without actually figuring out 
> what the root cause of the bug was.
>
> If some part of the initialisation is probing the keyboard, then it 
> would be nice to find out why that is hanging. Kludgeing an old 
> keyboard cable on the back of the PC doesn't sound particularly 
> elegant or robust.

With no offense to Rod (thanks for your input! :) , I would tend to 
agree with with Jeremy here -- to an extent:
It IS obviously much better to search for a solution to the root 
problem.

Then again, Nick was quite right to point out that the hardware is 
quite obsolescent.
If I were any good in terms of programming, I could be a good boy and 
have a spin at fixing the matter myself. However, I sadly can't code, 
so in light of the facts --apart from the "bug finding expertise" 
aspect of fixing things, few people other than me stand to benefit from 
fixing the root problem-- my case for asking any actual hackers to 
kindly take a look is greatly diminished.

But Ken made another suggestion:

> You seem to be trying 3.6-release. Try a -current snapshot since
> 3.7 is almost here, and there was some work in this area since 3.6.

So I duly downloaded the most recent stuff from /OpenBSD/snapshot. I 
actually realized that the error even shows when booting from floppy 
w/o a keyboard attached. Yet I went through the install anyway (with a 
keyboard attached), as I thought, maybe there's a difference still 
between what gets installed on the HDD and the floppy images. Alas, no 
joy. I've tried floppy36.fs, the B and C image disks and booted the HD 
install as well, with the same result everywhere: The snapshot stuff, 
too, hangs at the "probing" stage.

Nick wrote:

> Unfortunately, the OP's machine is a fairly unusual beast.  I might 
> even
> go as far as to say it has a bug in its design, at least if the 
> majority
> of PC systems out there get to vote on such things.

Was that a guess based on the symptom exhibited, or was there something 
unusual in the bootup sequence that caught your eye?

> Any workaround for
> such a "bug" would require extensive testing on other machines to make
> sure it didn't expose other issues on ten times as many machines as it
> "fixed" (note: ten times a very small number is still a very small
> number).  We wouldn't want it to break even ONE existing machine.
> Imagine your response if you did a remote upgrade on one of your nice
> rack mount systems, and it didn't reboot because we exposed a bug in
> your machine in the process of fixing something on a ten+ year old 
> machine.
>
> Further, in order to fix this problem, one of our developers who is
> knowledgable in such things would have to actually have a machine which
> exhibited this problem.  (heh. The OP could ship us the computer..and
> then, in effect, the problem would again be solved. :)

Hm. Actually--it might be interesting to do just that, ship you the 
thing, just to see where this takes us and if the problem can be sorted 
by writing more cautious/tolerant/fault aware code. If someone were 
seriously interested, well, tell me where you are and I could check how 
much surface mail might be. (Time is not of the essence.) No promises 
at this stage though and I would only ship the mainboard -- assuming 
you've got a case, ISA or PCI graphics adapter, floppy drive and power 
supply somewhere. A floppy drive is all you need -- see above.

> Fiddling with boot code is scary.  VERY scary.  Most other problems can
> be worked around in some way, but if the machine won't boot, you will
> have trouble working around anything.

Well, again the machine DOES boot and work perfectly well AS LONG AS 
there is a keyboard attached.

> You won't find a lot of
> excitement about fixing a problem like this...
>
> Anyway, back to the OP's problem...
> Couple ideas that occur to me, one of which I just sent off-list to 
> Lars
> Hansson because it was way too off topic, then realized, it *might* 
> just
> solve the problem:
>    (many?) Compaqs won't boot at all without a keyboard, because they
> are busy helping you by alerting you to the "problem".  HOWEVER, there
> is a way around this: in the BIOS config, set the machine to require a
> boot password.  This will prevent the machine from booting at all until
> a password is entered.  Now, you set the machine to be a "server" --
> this lets the machine boot without waiting for the password to be
> entered.  Now, you can unplug the keyboard and all is right with the
> world

While a "server" option does not exist in this old OEM AMIBIOS, I was 
able to set things to:

keyboard - absent
require password - always
password - blank (=password disabled)

Once I had set this, it hung _while still running its BIOS code_ (ie. 
before even starting any OS bootstrapping at all)!
And guess what: Here, too, as soon as I plugged in the keyboard, it 
commenced to boot.

It is thus VERY likely that Nick was dead right: It is now PRETTY 
certain that it's the BIOS that's not playing ball somehow.

> Another idea, if you are willing to spend a few dollars to experiment
> would be to plug a USB keyboard to PS/2 adapter (and probably a PS/2 to
> AT adapter on a machine of this vintage).  This might fix your problem
> nicely, as the machine thinks it has a keyboard.  Granted, it would be
> cheaper to take an old keyboard, cut the electronics out of it, put it
> in a plastic bag, and toss it inside the computer (short version of
> Rod's suggestion), but in theory, you could "hot plug" a USB keyboard
> into the thing any time you wished.

Good suggestion as such. Though I wonder what would happen if I 
soldered a Y connector with a "keyboard in a bag" permanently attached 
inside the box and one port still accessible? Again, just curious: Can 
keyboards be daisy-chained or would the Pee Cee/BIOS horribly scream 
murder about that?

NB: I actually got a pang of bad conscience when reading the above bits 
-- because, yes, indeed, the PC has an AT to PS/2 keyboard adapter. 
Could that have been the cause? Alas, testing revealed that it wasn't. 
It doesn't make any difference whatsoever whether I unplug the AT 
connector from the main board or the PS/2 connector from the adaptor.

> Of course, by the time you spent
> $20 or so on adapters, you could have picked up a newer machine without
> this quirk...

True, but if it's not too much hassle, then I can see beauty and merit 
in fixing and putting to good use old hardware as well. <redundant 
anti-throw-away-society rant goes here>

But there we are:
I am now very certain I'm looking at a BIOS error.
The BIOS is a non software-flashable EEPROM (the "erase me with UV 
light" type) and I don't have a suitable programmer/EEPROM burner.
I have however been able to find all the pertinent details, which I 
shall not withhold from yers. The culprit is an:

>> OEM board with American Megatrends Inc. AMIBIOS (the "WINBIOS" -- a 
>> BIOS with mouse support!)
>>
>> mainboard type: HOT 433P-PCI mainboard (non-PS/2)
>>
>> AMI BIOS ID:
>> 41-P833-001343-00101111-101094-U880N9-H
>>
>> mainboard maker: Holco/Shuttle/Spacewalker
>>
>> chipset: UMC
>>
>> relevant links:
>> ftp://ftp.shuttle.com/Drivers/mb/umc/
>> ftp://ftp.shuttle.com/Manuals/en/433/
>> ftp://ftp.shuttle.com/BIOS/433/

I now have what I believe is the most recent BIOS ROM image and I will 
see if there's a shop round here with the kit to reprogram the EEPROM. 
Failing that, my above offer stands: If anyone wants to check this out 
and if it doesn't cost the world, I can ship you the mainboard. Other 
than that I might go for Rod's/Nick's "keyboard-inside" suggestion. Or 
I could see if I can meet BYOKDM requirements (cf. 
http://www.apple.com/quicktime/qtv/mwsf05/ ;-) on the cheap, grab a 
copy of Fusion PC 3.0 and install System 8 on the box. Nothing to do 
with OpenBSD though. I'll keep you posted how it turns out with this 
BIOS, thanks for your enlightening hints as regards the actual cause of 
the error :-) and please let me know if there's any interest in getting 
to have a look at this BIOS (provided I haven't already gotten the BIOS 
patched by the time you respond).

Again, thanks a bunch, :-)
cheers,
ropers



Visit your host, monkey.org