Date: Wed, 5 Jul 1995 10:45:16 -0400 From: dennis@et.htp.com (dennis) To: freebsd-hackers@freebsd.org Subject: Re: Booting with no kbd Message-ID: <199507051445.KAA12288@mail.htp.com>
next in thread | raw e-mail | index | archive | help
>>On 1 machine the system won't even try to load the kernel. With boot manager >>installed it just sits at the prompt and never times out. As soon as the >>keyboard is plugged in it continues ok. Without boot manager it just hangs >>without ever displaying the initial boot: prompt. The machine boots MS-DOS >>OK in the same configuration. > >Does DOS + boot manager boot OK? > I don't have a dos partition on this machine, but I can boot from a floppy so the system will boot with no keyboard installed. Any suggestions for a hack to make this work? Which particular module is involved? >>The other machine loads the kernel ok, but then hangs at the sc0 probe. As >>soon as the kbd is plugged in, it continues. > scprobe() has 2 possibly endless loops: > >E1) At the start, to "flush any noise in the buffer". Perhaps endless noise >is picked up by the unattached-to keyboard socket. Unlikely. > >E2) If `gotack' is reached (for the first character of the ack or for >the following bug) then there is an endless loop if the second character >of the ack never arrives. > >and at least 2 logic bugs: > >B1) `retries' ends up as -1 if the `while (retries--)' loop is executed the >maximum number of times, but the test for this is `if (!retries)'. > >B2) The value read from the keyboard in the loop in B2) is not waited for >so it may be garbage. Some garbage values would result in E2) being >reached even if B1) is fixed. > >On my test system, the keyboard controller apparently responds to the >KB_RESET command with 2 KB_RESEND's when there is no keyboard attached, >so there is no problem. > I'll test this and see what I find. thanks, dennis
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199507051445.KAA12288>