Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Have you ever seen a Grub that wouldn't respond to the keyboard?

35 views
Skip to first unread message

Arlen Holder

unread,
Jul 1, 2018, 11:15:03 PM7/1/18
to
Have you ever seen a Grub that wouldn't respond to the keyboard?

Have you ever seen Grub "locked up" like this before?
Grub was *stuck* in "0" (Grub ignores the keyboard):
<http://img4.imagetitan.com/img.php?image=18_grub01.jpg>

Now grub is stuck in "4" (so it never boots to Ubuntu!):
<http://img4.imagetitan.com/img.php?image=18_grub02.jpg>

I made a backup and restored it - but nothing changed:
<http://img4.imagetitan.com/img.php?image=18_grub03.jpg>

Here's the chronology just now:
0. Unrelated. On PC1, I'm testing iOS functionality under dual-boot tests.
1. So to have a "clean" start, I installed Ubuntu 18.04 on PC2.
2. I made a 40GB partition from Winows (shrink command).
3. Then I installed Ubuntu 18.04 onto PC2 into that 40GB partition.
4. Then I backed up Grub as per the normal methods used on PC1.
a. Boot to the Ubuntu OS.
b. mkdir -p ~/data/grub-backup
c. cp /etc/default/grub ~/data/grub-backup
d. cp -a /etc/grub.d ~/data/grub-backup
5. Then I edited Grub like we all always do:
a. sudo vi /etc/default/grub
# GRUB_DEFAULT=0
GRUB_DEFAULT=saved
GRUB_SAVEDEFAULT=true
b. sudo update-grub
c. sudo shutdown -h now

When I rebooted, Grub was *stuck* in the ubuntu (top position)!
The keyboard keys wouldn't work.
No arrows worked. Not the "e" or "c" keys either.
It always booted into the new Ubuntu.
Once in Ubuntu, the keyboard worked perfectly.

So, I restored the Grub using the standard restore process:
a. sudo rm /etc/default/grub
b. sudo rm /etc/grub.d
c. sudo cp ~/data/grub-backup/grub /etc/default/
d. sudo cp -a ~/data/grub-backup/grub.d/ /etc/
e. sudo update-grub

When I rebooted, it went to Ubuntu (in slot 0), but *still* the
keyboard is totally unresponsive during the Grub screen.
(The keyboard works perfectly in the OS.)

So I changed the grub to boot to Operating System 4 (5 on the list).
The keyboard *still* was unresponsive during the Grub screen.
Then it boots to Windows 10 just fine.
And the keyboard works just fine (I'm using it now).

But now, I have *no way* of editing Grub to get to Ubuntu!
Have you ever seen a Grub that wouldn't respond to the keyboard?

Jasen Betts

unread,
Jul 2, 2018, 2:31:16 AM7/2/18
to
On 2018-07-02, Arlen Holder <arlen...@nospam.net> wrote:
> Have you ever seen a Grub that wouldn't respond to the keyboard?

yes, on a system that didn't have USB HID support in the BIOS.

--
ت

Cows Are Nice

unread,
Jul 2, 2018, 2:57:08 AM7/2/18
to
On 07/01/2018 08:15 PM, Arlen Holder wrote:

> Have you ever seen Grub "locked up" like this before? Grub was
> *stuck* in "0" (Grub ignores the keyboard):
> <http://img4.imagetitan.com/img.php?image=18_grub01.jpg>
...

> When I rebooted, it went to Ubuntu (in slot 0), but *still* the
> keyboard is totally unresponsive during the Grub screen. (The
> keyboard works perfectly in the OS.)
...
> Have you ever seen a Grub that wouldn't respond to the keyboard?

Yeah. My motherboard has PS/2 keyboard and mouse ports, and I use a USB
mouse. Accidentally plugged my PS/2 keyboard into the vacant mouse port.
Worked perfectly in the OS, as you say.

Java Jive

unread,
Jul 2, 2018, 6:04:07 AM7/2/18
to
As per the above two replies, go into the BIOS settings and see if there
is a setting to let the BIOS support USB keyboard and mouse.


Arlen Holder

unread,
Jul 2, 2018, 2:27:40 PM7/2/18
to
On 2 Jul 2018 06:23:18 GMT, Jasen Betts wrote:

>> Have you ever seen a Grub that wouldn't respond to the keyboard?
>
> yes, on a system that didn't have USB HID support in the BIOS.

You were right! The BIOS setting for the keyboard was the problem!

I first looked up what "USB HID" means, but it didn't help at all.
<https://en.wikipedia.org/wiki/USB_human_interface_device_class>

If I have a "non-HID" keyboard, it's been working fine for 10 years!
<http://img4.imagetitan.com/img.php?image=18_grub10.jpg>

Hence I have no idea how I'm supposed to know to enable "Legacy" support!
<http://img4.imagetitan.com/img.php?image=18_grub06.jpg>

Nonetheless, I "Enabled" "Legacy support of USB Keyboard" in the BIOS:
<http://img4.imagetitan.com/img.php?image=18_grub07.jpg>

Just in case, I also "Enabled" "Legacy support of USB Mouse":
<http://img4.imagetitan.com/img.php?image=18_grub08.jpg>

Even though I am confused as to why these aren't the basic defaults!

The good news is the keyboard now works fine with Grub:
<http://img4.imagetitan.com/img.php?image=18_grub09.jpg>

Thank you for your astute advice, because I've been using that keyboard for
a decade on other machines and I never had any problems with it until
today.

What I don't understand is why isn't this "Legacy support" simply the
default in any given BIOS? Nor do I understand how to tell, BEFORE I
install Ubuntu-with-Grub as a dual boot, if this will be a problem.

It seems backward to run into such things *after* running booting to Grub.
There should be a proactive test, don't you think, before booting to Grub?

Arlen Holder

unread,
Jul 2, 2018, 2:29:23 PM7/2/18
to
On 2 Jul 2018 10:04:01 GMT, Java Jive wrote:

> As per the above two replies, go into the BIOS settings and see if there
> is a setting to let the BIOS support USB keyboard and mouse.

That was it!

Why on earth isn't "legacy support" the BIOS default?
(Is there something bad that happens when Legacy support is enabled?)

BTW, the keyboard is a Lenovo, model SK-8815(L) made in 2007:
<http://img4.imagetitan.com/img.php?image=18_grub10.jpg

It seems completely wrong to find this problem *after* booting to Grub.
Shouldn't there be a simple test done *before* setting up Grub?

Arlen Holder

unread,
Jul 2, 2018, 2:31:18 PM7/2/18
to
On 2 Jul 2018 06:57:05 GMT, Cows Are Nice wrote:

> Yeah. My motherboard has PS/2 keyboard and mouse ports, and I use a USB
> mouse. Accidentally plugged my PS/2 keyboard into the vacant mouse port.
> Worked perfectly in the OS, as you say.

As you noted, the BIOS setting for "legacy support" was the problem!

If it matters, there are PS2-style ports next to plenty of USB ports:
<http://img4.imagetitan.com/img.php?image=18_grub04.jpg>

So what I don't understand is how I can tell if a USB keyboard or USB mouse
is "normal" or if it's needs "legacy" support enabled, when it works just
fine everywhere but in Grub?

It seems like a backward situation when you have to fail first, before you
can figure out what the setting should be.

Wildman

unread,
Jul 2, 2018, 2:46:05 PM7/2/18
to
On Mon, 02 Jul 2018 18:29:22 +0000, Arlen Holder wrote:

> On 2 Jul 2018 10:04:01 GMT, Java Jive wrote:
>
>> As per the above two replies, go into the BIOS settings and see if there
>> is a setting to let the BIOS support USB keyboard and mouse.
>
> That was it!
>
> Why on earth isn't "legacy support" the BIOS default?

Because that is way that BIOS was written. Ask the dev.

> (Is there something bad that happens when Legacy support is enabled?)

A usb keyboard or mouse will not work. But you already
learned that.

> BTW, the keyboard is a Lenovo, model SK-8815(L) made in 2007:
> <http://img4.imagetitan.com/img.php?image=18_grub10.jpg

I don't click links.

> It seems completely wrong to find this problem *after* booting to Grub.
> Shouldn't there be a simple test done *before* setting up Grub?

How is the BIOS suppost to know whether you wanted legacy
enabled or not? That has to be a default, good or bad.

--
<Wildman> GNU/Linux user #557453
The cow died so I don't need your bull!

Arlen Holder

unread,
Jul 2, 2018, 3:50:55 PM7/2/18
to
On 2 Jul 2018 18:45:59 GMT, Wildman wrote:

>> Why on earth isn't "legacy support" the BIOS default?
>
> Because that is way that BIOS was written. Ask the dev.

That wasn't really what I was asking. :)

Often, enabling something causes 'bad' things to happen.
In those cases, you don't want to enable "legacy support".

On the other hand, if nothing 'bad' happens, often legacy is enabled, by
default.

Hence, the presumption is that 'something bad' happens when you enable
legacy support. But what?

>> (Is there something bad that happens when Legacy support is enabled?)
>
> A usb keyboard or mouse will not work. But you already
> learned that.

Hmm. Are you saying that a "newer" mouse or keyboard will not work now that
I've enabled the "legacy" mouse and keyboard?

If that's the case, then *that* is the 'bad' thing that will happen!

>> BTW, the keyboard is a Lenovo, model SK-8815(L) made in 2007:
>> <http://img4.imagetitan.com/img.php?image=18_grub10.jpg
> I don't click links.

My point is that there isn't any way to tell if a keyboard is "legacy" or
not, as it doesn't say so on the keyboard nor in the spec sheet apparently:
<https://support.lenovo.com/us/en/solutions/pd010250>

To me, it's just crazy that a default would be set to the least compatible
setting there is, and, it's just as crazy that all the Grub tutorials don't
mention that Grub will fail (and yet, nothing else will fail), if you don't
have your BIOS set to the most compatible setting.

Do you see my point?
a. It's only Grub that cares - so the Grub tutorials should explain this!
b. A BIOS set to the *least-compatible mode* must have a reason for that.

>> It seems completely wrong to find this problem *after* booting to Grub.
>> Shouldn't there be a simple test done *before* setting up Grub?
>
> How is the BIOS suppost to know whether you wanted legacy
> enabled or not? That has to be a default, good or bad.

A stupid BIOS setting is a stupid BIOS setting.
A stupid Grub tutorial is a stupid Grub tutorial.

I'm not asking whether BIOS or Grub should "know" what setting to use.

I'm philosophically stating two things, which confuse me because they're
both the wrong way to do things:

1. A BIOS setting should be in the most-compatible setting possible
(unless something 'bad' happens in that most-compatible setting)

2. If only Grub cares, then Grub tutorials should mention this issue
(otherwise, they're just all crappy tutorials)

There are two ways to approach "problems" once you run into them:
a. Most people say "WTF" and just move on with their lives.
b. But I try to 'fix' things - so they don't happen to others.

William Unruh

unread,
Jul 2, 2018, 4:07:58 PM7/2/18
to
On 2018-07-02, Arlen Holder <arlen...@nospam.net> wrote:
> On 2 Jul 2018 18:45:59 GMT, Wildman wrote:
>
>>> Why on earth isn't "legacy support" the BIOS default?
>>
>> Because that is way that BIOS was written. Ask the dev.
>
> That wasn't really what I was asking. :)

Yes, it was, and continues to be. The bios was written by the motherboard
manufacturer. Some are incompetent. Some have incompetenet people working for
them. Some have people that do not care working for them.

>
> Often, enabling something causes 'bad' things to happen.
> In those cases, you don't want to enable "legacy support".
>
> On the other hand, if nothing 'bad' happens, often legacy is enabled, by
> default.
>
> Hence, the presumption is that 'something bad' happens when you enable
> legacy support. But what?

Bad presumption. Sturgeon's law. Never ascribe to malice what can equally be
ascribed to incompetence.

>
>>> (Is there something bad that happens when Legacy support is enabled?)
>>
>> A usb keyboard or mouse will not work. But you already
>> learned that.
>
> Hmm. Are you saying that a "newer" mouse or keyboard will not work now that
> I've enabled the "legacy" mouse and keyboard?

No he is not saing that.

...
>
> Do you see my point?
> a. It's only Grub that cares - so the Grub tutorials should explain this!

Grub HAS to use the bios support for anything. Once the OS is loaded, all that
stuff it taken over by the OS.

> b. A BIOS set to the *least-compatible mode* must have a reason for that.

Why? And why is this the "least compatible mode"? You are throwing around
assumptions like they are confetti.


>
>
> 1. A BIOS setting should be in the most-compatible setting possible
> (unless something 'bad' happens in that most-compatible setting)

Assumption-- anything you do is in the "most-compatible" category.

>
> 2. If only Grub cares, then Grub tutorials should mention this issue
> (otherwise, they're just all crappy tutorials)

Grub cares because it can only use the Bios to do anything. There is not
enough of an operating system loaded yet to do anything else.
That is the purpose of grub.


>
> There are two ways to approach "problems" once you run into them:
> a. Most people say "WTF" and just move on with their lives.
> b. But I try to 'fix' things - so they don't happen to others.

I assume you have applied to your motherboard manufacturer for a job?


Aragorn

unread,
Jul 2, 2018, 4:10:05 PM7/2/18
to
On Monday 02 July 2018 20:29, Arlen Holder conveyed the following to
alt.os.linux...

> On 2 Jul 2018 10:04:01 GMT, Java Jive wrote:
>
>> As per the above two replies, go into the BIOS settings and see if
>> there is a setting to let the BIOS support USB keyboard and mouse.
>
> That was it!
>
> Why on earth isn't "legacy support" the BIOS default?
> (Is there something bad that happens when Legacy support is enabled?)

Not something "bad," but something "more complicated." ;)

"USB legacy support" implies a few more tricks from the BIOS before the
system can boot. The BIOS ─ I'm not talking of UEFI here, but of the
legacy Basic Input/Output System firmware ─ runs in the x86(-64)
processor's real mode. That means that it offers only 640 KiB base RAM
to whatever is booted.

"USB legacy support" requires PS/2 emulation, and this emulation must
run in the higher memory address range. Hence, with "USB legacy
support" enabled, the BIOS must set up protected mode first in order to
access the higher memory addresses above 1088 KiB ─ i.e. 640 KiB base
RAM + 384 KiB upper memory blocks (with legacy BIOS I/O addresses) + 64
KiB from the A20 line ─ and then, with the protected mode page tables
still intact, drop back to 16-bit real mode in order to continue
booting.

This is called unreal mode, because the system still runs 16-bit real
mode code, but due to the page tables having been left intact, this 16-
bit code now has access to the full memory range.

It's a trick that's also used by the systems management mode introduced
on the Intel 386. SMM is a low-level systems management mode for doing
things like controlling fan speed and power management. SMM cannot
normally be triggered by the operating system, and when the processor is
in systems management mode, the operating system is temporarily frozen.

--
With respect,
= Aragorn =

Arlen Holder

unread,
Jul 2, 2018, 4:42:42 PM7/2/18
to
On 2 Jul 2018 20:07:50 GMT, William Unruh wrote:

> Yes, it was, and continues to be. The bios was written by the motherboard
> manufacturer. Some are incompetent. Some have incompetenet people working for
> them. Some have people that do not care working for them.

Well, I certainly *understand* every word you and Wildman wrote, but I have
trouble believing that a BIOS developer is incompetent.

I think they set defaults like I set defaults, which is to be as compatible
as possible, UNLESS, there is a 'bad' thing that will happen if they're
compatible.

As you know, for example, some setups can only be one or the other, e.g.,
you can only have one first-boot device, or only 1 boot order overall.

And, as you know, some good things are also bad under some circumstances (I
can't think of any off hand, but it happens, as we all know).

But - if nothing 'bad' happens with a 'compatibility setting', then I
*assume* (yes, it's my assumption) that BIOS devlopers know what they're
doing.

Maybe they don't (which is what you and Wildman say); but my assumption
clearly is that they know something I don't know.

But what?
(I get it that your assumption may be just that they're stupid but my
assumption is that they know soemthing I don't know yet about what 'bad'
things happen when I enable 'legacy' support).

Even so, why don't the Grub tutorials cover this possibility?

(Maybe I expect too much of humans - but you must remember, I'm not young.
I worked with software for decades in the Silicon Valley. I know how
software SHOULD work.)

>> Hence, the presumption is that 'something bad' happens when you enable
>> legacy support. But what?
>
> Bad presumption. Sturgeon's law. Never ascribe to malice what can equally be
> ascribed to incompetence.

I certainly UNDERSTAND and APPRECIATE your heart-felt advice.
I'm hoping you're wrong - and that the developers aren't that stupid.

I'm "assuming" (yes, that's bad) they had a good reason for not making the
default compatible with all USB keyboards.

But I certainly know that I could be wrong in that assumption.
That's why I'm asking if something 'bad' happens in compatibility mode.

>> Hmm. Are you saying that a "newer" mouse or keyboard will not work now that
>> I've enabled the "legacy" mouse and keyboard?
>
> No he is not saing that.

Good!
Because that would clearly be bad!

(Thanks for confirming that because I'm "assuming" something 'bad' happens,
but I don't know what - and I don't want to find out accidentally what that
bad thing is.)

>> Do you see my point?
>> a. It's only Grub that cares - so the Grub tutorials should explain this!
>
> Grub HAS to use the bios support for anything. Once the OS is loaded, all that
> stuff it taken over by the OS.

I don't know what you mean, as the BIOS clearly supported the legacy
keyboard in both the "enabled" and "disabled" legacy-support mode.

So if the BIOS can handle the keyboard, why can't Grub handle the keyboard?

(I probably misunderstand how Grub works - because - clearly - if I
understood why the BIOS can handle the keyboard but Grub can't - then I'd
know better why the BIOS needs to be set in Legacy mode for Grub to work.)

>> b. A BIOS set to the *least-compatible mode* must have a reason for that.
>
> Why? And why is this the "least compatible mode"? You are throwing around
> assumptions like they are confetti.

I agree that I assume developers are smart.
I agree that I assume defaults are set intelligently.
I agree that I assume that tutorials are supposed to be proactive.
I agree that I assume BIOS settings should be set to the most compatible
mode UNLESS something bad happens in that most-compatible mode.

Here's where you're telling me my assumption is wrong, which is fine:
a. If legacy mode is disabled, X number of keyboards work.
b. If legacy mode is enabled, Y number of keyboards work.

I assume that Y is greater than X.
Is it not?

>> 2. If only Grub cares, then Grub tutorials should mention this issue
>> (otherwise, they're just all crappy tutorials)
>
> Grub cares because it can only use the Bios to do anything. There is not
> enough of an operating system loaded yet to do anything else.
> That is the purpose of grub.

I admit I'm confused.
And I agree you don't have to discuss this with me, since I am confused.

But I will state my confusion, based on what you've told me, so far anyway:

If the BIOS can use the keyboard in any mode, and if Grub just uses the
BIOS, then why can't grub use the keyboard that the BIOS has no problem
using?

Aragorn

unread,
Jul 2, 2018, 4:43:45 PM7/2/18
to
On Monday 02 July 2018 21:50, Arlen Holder conveyed the following to
alt.os.linux...

> On 2 Jul 2018 18:45:59 GMT, Wildman wrote:
>
>> A usb keyboard or mouse will not work. But you already
>> learned that.
>
> Hmm. Are you saying that a "newer" mouse or keyboard will not work now
> that I've enabled the "legacy" mouse and keyboard?

Just semantics, but you are misinterpreting the word "legacy" in this
context. The BIOS is legacy firmware. Enabling "legacy USB HID ("human
interface devices") support" means that you are enabling this support in
the legacy BIOS, which runs in real mode.

> If that's the case, then *that* is the 'bad' thing that will happen!

No, a PS/2 keyboard and mouse will still work just as fine with those
settings enabled.

> My point is that there isn't any way to tell if a keyboard is "legacy"
> or not, as it doesn't say so on the keyboard nor in the spec sheet
> apparently:
> <https://support.lenovo.com/us/en/solutions/pd010250>

See above. You are misinterpreting things. If anything, then PS/2
keyboards and mice could be considered "legacy", because they are
accessible from within real mode. USB keyboards and mice are not ─ at
least, not without enabling the legacy support for USB in the BIOS.

> To me, it's just crazy that a default would be set to the least
> compatible setting there is, and, it's just as crazy that all the Grub
> tutorials don't mention that Grub will fail (and yet, nothing else
> will fail), if you don't have your BIOS set to the most compatible
> setting.

Compatible with what? If you're going to flash your BIOS, then you need
to boot up with DOS, and then "legacy USB support" MAY NOT BE enabled,
or you'll screw up your BIOS and turn your computer into a boat anchor.

The reason why the BIOS runs in real mode is exactly that it is legacy
firmware, intended to be compatible with MS-DOS.

In case you need a reminder, Microsoft kept on selling DOS-based
versions of Windows ─ i.e. Windows Millenium Edition ─ up until the year
2000, notwithstanding that there was already such a thing as Windows NT,
which did not run off of an underlying DOS kernel.

In other words, DOS was still important up until at least the year 2000,
and several years beyond. It was important for flashing the BIOS and
running other hardware diagnostics tools ─ because they need direct
access to the hardware, without the multitasking support and memory
management enabled that you get in protected mode and long mode ─ and it
was important for the DOS-based versions of Microsoft Windows.

Motherboards equipped with this legacy BIOS firmware are still around ─
they are rare, but they're still out there ─ and thus those motherboards
need to be able to boot MS-DOS, which by default DOES NOT EVEN HAVE a
USB stack, let alone that it would support USB keyboards and mice.

On most x86(-64) systems with a UEFI, the UEFI offers legacy BIOS
support for compatibility reasons with DOS and older versions of
Windows. On non-x86 hardware with UEFI, there is no such thing as a
legacy BIOS compatibility mode, so those systems will always boot up
from within protected or long mode, and will thus by default have full
USB support.

> Do you see my point?

Yes, and it's headed in the wrong direction. ;)

> 1. A BIOS setting should be in the most-compatible setting possible
> (unless something 'bad' happens in that most-compatible setting)

Again, compatible with what? With YOUR keyboard and mouse, or with MS-
DOS ─ which is what it was INTENDED to be compatible with?

> 2. If only Grub cares, then Grub tutorials should mention this issue
> (otherwise, they're just all crappy tutorials)

GRUB doesn't care. If you don't have USB keyboard support in GRUB, then
it's because you don't have USB keyboard support in real mode. GRUB's
got nothing to do with that. It runs in real mode and it takes its
input from what the BIOS designates as the input channel.

> There are two ways to approach "problems" once you run into them:
> a. Most people say "WTF" and just move on with their lives.
> b. But I try to 'fix' things - so they don't happen to others.

It is bad practice to try fixing things without knowing whether they're
even broken in the first place. Don't mess with something unless you
fully understand how it works and what you should and shouldn't do with
it.

Aragorn

unread,
Jul 2, 2018, 4:48:38 PM7/2/18
to
On Monday 02 July 2018 22:43, Aragorn conveyed the following to
alt.os.linux...

> On most x86(-64) systems with a UEFI, the UEFI offers legacy BIOS
> support for compatibility reasons with DOS and older versions of
> Windows. On non-x86 hardware with UEFI, there is no such thing as a
> legacy BIOS compatibility mode, so those systems will always boot up
> from within protected or long mode, and will thus by default have full
> USB support.

I have to correct myself here: On non-x86 hardware, there is no such
thing as "protected mode" or "long mode", of course. Those processors
run in an entirely different mode of operation, but in a way it's
comparable to protected or long mode, in that the native mode of
operation of such processors usually has a memory management unit and
has things like privilege separation and multitasking support.

My apologies for using the wrong terminology. ;)

Arlen Holder

unread,
Jul 2, 2018, 4:50:53 PM7/2/18
to
On 2 Jul 2018 20:10:03 GMT, Aragorn wrote:

>> Why on earth isn't "legacy support" the BIOS default?
>> (Is there something bad that happens when Legacy support is enabled?)
>
> Not something "bad," but something "more complicated." ;)

Ah. OK. There has to be a *reason* for the non-legacy default, if I assume
that the developers aren't idiots.

> "USB legacy support" implies a few more tricks from the BIOS before the
> system can boot.

This makes sense, since the USB keyboard is 10 years "old", so, the BIOS
folks have to do "something" to enable both the old and new USB keyboards
(although the BIOS is about 10 years old also).

> The BIOS € I'm not talking of UEFI here, but of the
> legacy Basic Input/Output System firmware € runs in the x86(-64)
> processor's real mode. That means that it offers only 640 KiB base RAM
> to whatever is booted.

Interesting. So Grub only has 640 KiB RAM to work with.

> "USB legacy support" requires PS/2 emulation, and this emulation must
> run in the higher memory address range.

Oh. Oh...

> Hence, with "USB legacy
> support" enabled, the BIOS must set up protected mode first in order to
> access the higher memory addresses above 1088 KiB € i.e. 640 KiB base
> RAM + 384 KiB upper memory blocks (with legacy BIOS I/O addresses) + 64
> KiB from the A20 line € and then, with the protected mode page tables
> still intact, drop back to 16-bit real mode in order to continue
> booting.

Ah. "protected mode".
It's been a long time since I heard those words.

I admit I never really understood them - but I do understand your point -
which is that there are "complications" that must 'slow things down' a bit,
which the BIOS developer decided to skip by default.

> This is called unreal mode, because the system still runs 16-bit real
> mode code, but due to the page tables having been left intact, this 16-
> bit code now has access to the full memory range.

I'm not sure I get that, but I do get that it's more "complex" for the BIOS
to work in this protected mode setup, which the developers decided to skip
by default.

> It's a trick that's also used by the systems management mode introduced
> on the Intel 386. SMM is a low-level systems management mode for doing
> things like controlling fan speed and power management. SMM cannot
> normally be triggered by the operating system, and when the processor is
> in systems management mode, the operating system is temporarily frozen.

In terms of "helping others", since I'm all about proactive tutorials that
*avoid* problems, what could I have done, just by looking at the keyboard
perhaps, to know that this problem would show up when I set up Grub?

Given this is the keyboard (Lenovo, model SK-8815 L, made in 2007):
<http://img4.imagetitan.com/img.php?image=18_grub10.jpg>
<https://support.lenovo.com/us/en/solutions/pd010250>

Rather than waiting for Grub to fail, I'd rather be proactive in my
tutorials (I always write tutorials every time I do anything), the obvious
question becomes...

Is there anything (other than Grub failing) that tells me I am using a
"legacy USB keyboard"?

Aragorn

unread,
Jul 2, 2018, 4:52:45 PM7/2/18
to
On Monday 02 July 2018 22:07, William Unruh conveyed the following to
alt.os.linux...

> Sturgeon's law. Never ascribe to malice what can equally be ascribed
> to incompetence.

Actually, that's Hanlon's Razor. :p

Arlen Holder

unread,
Jul 2, 2018, 4:53:05 PM7/2/18
to
On 2 Jul 2018 20:42:41 GMT, Arlen Holder wrote:

> Well, I certainly *understand* every word you and Wildman wrote, but I have
> trouble believing that a BIOS developer is incompetent.

Aragorn seems to have explained what the 'bad' thing is, which makes sense.
<https://groups.google.com/d/msg/alt.os.linux/yQmtemiHcVk/k2cyxHpvCAAJ>

Mike Easter

unread,
Jul 2, 2018, 4:53:10 PM7/2/18
to
William Unruh wrote:
> Sturgeon's law. Never ascribe to malice what can equally be
> ascribed to incompetence.
>
I believe the evidence is greater for:

malice vs stupidity/incompetence = Hanlon's Razor

... and

Sturgeon's Revelation: "ninety percent of everything is crap" (or crud).
He also is credited with "nothing is always absolutely so"

The writeup on the malice razor is greatest at QuoteInvestigator and
supported by wp.

https://quoteinvestigator.com/2016/12/30/not-malice/

--
Mike Easter

Arlen Holder

unread,
Jul 2, 2018, 5:00:24 PM7/2/18
to
On 2 Jul 2018 20:48:37 GMT, Aragorn wrote:

> I have to correct myself here: On non-x86 hardware, there is no such
> thing as "protected mode" or "long mode", of course. Those processors
> run in an entirely different mode of operation, but in a way it's
> comparable to protected or long mode, in that the native mode of
> operation of such processors usually has a memory management unit and
> has things like privilege separation and multitasking support.

That's OK because I didn't understand the details anyway! :)

I do appreciate that you explained what the 'bad' is when "legacy" mode is
"enabled", which is that it's "more complex".

OK. So that provides a good reason for the developer to not use legacy mode
as the default.

However - basic patently natural questions immediately arise:

PRACTICAL:
1. How can we tell that a USB keyboard is legacy or not?
2. Should I expect something to 'break' in the future with this setting?

PHILOSOPHICAL:
3. If the BIOS can use the legacy keyboard in any mode, and if Grub just
uses the BIOS, then why can't grub use the same keyboard that the BIOS has
no problem using?

Aragorn

unread,
Jul 2, 2018, 5:20:35 PM7/2/18
to
On Monday 02 July 2018 22:50, Arlen Holder conveyed the following to
alt.os.linux...

> On 2 Jul 2018 20:10:03 GMT, Aragorn wrote:
>
>>> Why on earth isn't "legacy support" the BIOS default?
>>> (Is there something bad that happens when Legacy support is
>>> enabled?)
>>
>> Not something "bad," but something "more complicated." ;)
>
> Ah. OK. There has to be a *reason* for the non-legacy default, if I
> assume that the developers aren't idiots.

There is, see my other post. For one, updating the BIOS, which has to
be done from within DOS, and without as much as any kind of memory
extender or keyboard mapping (other than the default US keyboard map)
being loaded into memory, or you will be toasting your BIOS and
rendering your computer inoperable.

>> "USB legacy support" implies a few more tricks from the BIOS before
>> the system can boot.
>
> This makes sense, since the USB keyboard is 10 years "old", so, the
> BIOS folks have to do "something" to enable both the old and new USB
> keyboards (although the BIOS is about 10 years old also).

No ─ again, see my other post. The keyboard isn't what's "legacy". The
BIOS is the legacy component, and it runs in real mode, which is
considered legacy because it was the addressing mode of the Intel
i8086/i8088 processor family on the original IBM PC.

Ergo, enabling "legacy USB support" means that USB support most be
enabled for a legacy mode of operation, in this case being the BIOS
firmware and anything that runs in real mode, such as GRUB.

> Interesting. So Grub only has 640 KiB RAM to work with.

640 KiB of base memory, plus 384 KiB upper memory range ─ which contains
the I/O addresses of legacy hardware ─ plus another 64 KiB of HMA from
the A20 line. So it has an address range of 1088 KiB, but some of those
addresses ─ most notably inside the 384 upper memory range between 640
Kib and 1024 KiB ─ are reserved for accessing legacy IBM PC-compatible
hardware.

>> "USB legacy support" requires PS/2 emulation, and this emulation must
>> run in the higher memory address range.
>
> Oh. Oh...
>
>> Hence, with "USB legacy
>> support" enabled, the BIOS must set up protected mode first in order
>> to access the higher memory addresses above 1088 KiB � i.e. 640 KiB
>> base RAM + 384 KiB upper memory blocks (with legacy BIOS I/O
>> addresses) + 64 KiB from the A20 line � and then, with the protected
>> mode page tables still intact, drop back to 16-bit real mode in order
>> to continue booting.
>
> Ah. "protected mode".
> It's been a long time since I heard those words.

The original Intel x86 processor was the i8086, of which a slightly less
powerful variant would appear shortly after, i.e. the i8088. These
processors had only one mode of operation, in which there was no
privilege separation, no multitasking support ─ let alone multi-
threading or multi-processing ─ and no memory management unit.

In this mode, the software runs with full privileges, full access to the
hardware, and direct management of the memory. Any program running in
real mode could tell the processor "I want this memory segment and this
offset", and seize it.

When the Intel i80286 was introduced, it was still a 16-bit processor,
and it also still used 64 KiB memory segments. However, it did have
multitasking support and privilege separation, and it was capable of
addressing up to 16 MiB of RAM.

But DOS cannot run in that environment, and so the decision was made to
have the processor boot up in a mode that was fully compatible with the
i8086/i8088, and this mode was then called "real mode", because in this
mode, the software can seize "real" memory addresses by their literal
segment and offset designations. In the "native" mode of the processor,
the software cannot do that, and therefore that native mode was called
"protected mode".

The i386 and i486 spiced things up a bit more by being 32-bit in their
"protected mode" and offering flat memory addressing by way of page
tables, without using segments and offsets, and offering a maximum RAM
capacity of 4 GiB. They also offered the systems management mode for
hardware and power management, and an i8086 compatibility mode (called
V86, or "virtual 8086") that could be accessed from within 32-bit
protected mode and multitasked alongside of native protected mode
applications.

The Pentium II added PAE ("physical address extensions") ─ at least, if
the kernel of the operating system supports that ─ by adding another
page table, so that it could access 64 GiB of RAM, with pages of 3 GiB
for userspace and 1 GiB of address space for the kernel.

x86-64 (alias AMD64) extended the possibilities even further by using
64-bit memory addresses, 64-bit registers, and a sparse memory address
space for future compatibility.

There's even more to the AMD64 than that, but I'm not going to get into
that here. It's beyond the scope of this explanation. You should get
the gist by now, and if you really want to know, then Wikipedia is your
friend. ;)

> I admit I never really understood them - but I do understand your
> point - which is that there are "complications" that must 'slow things
> down' a bit, which the BIOS developer decided to skip by default.

They didn't skip it for reasons of speed, but for reasons of full
compatibility with MS-DOS.

> In terms of "helping others", since I'm all about proactive tutorials
> that *avoid* problems, what could I have done, just by looking at the
> keyboard perhaps, to know that this problem would show up when I set
> up Grub?
>
> Given this is the keyboard (Lenovo, model SK-8815 L, made in 2007):
> <http://img4.imagetitan.com/img.php?image=18_grub10.jpg>
> <https://support.lenovo.com/us/en/solutions/pd010250>
>
> Rather than waiting for Grub to fail, I'd rather be proactive in my
> tutorials (I always write tutorials every time I do anything), the
> obvious question becomes...
>
> Is there anything (other than Grub failing) that tells me I am using a
> "legacy USB keyboard"?

Again, you misunderstand. There is no such thing as a legacy USB
keyboard. The word "legacy" pertains to the BIOS firmware itself.

By consequence, if you have a legacy BIOS instead of UEFI firmware and
you intend to use that machine with a USB keyboard and mouse, then you
should first and foremost connect a PS/2 keyboard to that machine, enter
the BIOS setup utility and ascertain whether "legacy USB support" is
enabled or not.

PS/2 keyboards and mice run fine in "legacy mode", i.e. the default
setup of the BIOS firmware. USB keyboards and mice require "legacy USB
support" enabled or you will not have keyboard access while the
processor is in real mode. Enabling this setting does however not
disable PS/2 keyboard and mouse support.

If you are going to flash the BIOS, then you need to do this with MS-
DOS, without any memory extenders, CD extensions or TSRs loaded, and
with a PS/2 keyboard, and the "legacy USB support" in the BIOS setup
utility set to DISABLED. And the machine should be hooked up to a UPS
too, just to avoid brownouts and power failures while the flashing is in
progress.

Any deviation from the above MAY ruin your BIOS and render your computer
unbootable. And your warranty will be voided, because this is all
always specified in the motherboard manual.

Aragorn

unread,
Jul 2, 2018, 5:27:02 PM7/2/18
to
On Monday 02 July 2018 23:00, Arlen Holder conveyed the following to
alt.os.linux...

> On 2 Jul 2018 20:48:37 GMT, Aragorn wrote:
>
>> I have to correct myself here: On non-x86 hardware, there is no such
>> thing as "protected mode" or "long mode", of course. Those
>> processors run in an entirely different mode of operation, but in a
>> way it's comparable to protected or long mode, in that the native
>> mode of operation of such processors usually has a memory management
>> unit and has things like privilege separation and multitasking
>> support.
>
> That's OK because I didn't understand the details anyway! :)
>
> I do appreciate that you explained what the 'bad' is when "legacy"
> mode is "enabled", which is that it's "more complex".
>
> OK. So that provides a good reason for the developer to not use legacy
> mode as the default.
>
> However - basic patently natural questions immediately arise:
>
> PRACTICAL:
> 1. How can we tell that a USB keyboard is legacy or not?

There is no such thing, as I've tried to explain to you in several of my
other posts on this thread. You are sending off your inquiries way too
fast for anyone to be able reply to you in a timely fashion. :p

> 2. Should I expect something to 'break' in the future with this
> setting?

Yes, if you are going to flash the BIOS. I've explained that elsewhere
on this thread already.

> PHILOSOPHICAL:
> 3. If the BIOS can use the legacy keyboard in any mode, and if Grub
> just uses the BIOS, then why can't grub use the same keyboard that the
> BIOS has no problem using?

You mean the USB keyboard. USB is not legacy. The BIOS is what's
legacy. ;)

But no, that's the problem, you see. If you don't have "USB legacy
support" enabled in the BIOS, then you also cannot access the BIOS from
a USB keyboard. You'll need a PS/2 keyboard for that then, or on an
even older machine, possibly even a keyboard with a DIN plug. But then
again, that kind of machines typically didn't have any USB ports anyway.
I've got an old box like that sitting in a corner. ;)

William Unruh

unread,
Jul 2, 2018, 7:15:56 PM7/2/18
to
On 2018-07-02, Arlen Holder <arlen...@nospam.net> wrote:
> On 2 Jul 2018 20:07:50 GMT, William Unruh wrote:
>
>> Yes, it was, and continues to be. The bios was written by the motherboard
>> manufacturer. Some are incompetent. Some have incompetenet people working for
>> them. Some have people that do not care working for them.
>
> Well, I certainly *understand* every word you and Wildman wrote, but I have
> trouble believing that a BIOS developer is incompetent.
>
> I think they set defaults like I set defaults, which is to be as compatible
> as possible, UNLESS, there is a 'bad' thing that will happen if they're
> compatible.
>
> As you know, for example, some setups can only be one or the other, e.g.,
> you can only have one first-boot device, or only 1 boot order overall.
>
> And, as you know, some good things are also bad under some circumstances (I
> can't think of any off hand, but it happens, as we all know).
>
> But - if nothing 'bad' happens with a 'compatibility setting', then I
> *assume* (yes, it's my assumption) that BIOS devlopers know what they're
> doing.
>
> Maybe they don't (which is what you and Wildman say); but my assumption
> clearly is that they know something I don't know.

Ask them. Why would you think you can find out what their assumptions are by
asking on netnews.

>
> But what?
> (I get it that your assumption may be just that they're stupid but my
> assumption is that they know soemthing I don't know yet about what 'bad'
> things happen when I enable 'legacy' support).
>
> Even so, why don't the Grub tutorials cover this possibility?

Because they have nothing to do with Grub. They are a hardware problem.

>
> (Maybe I expect too much of humans - but you must remember, I'm not young.
> I worked with software for decades in the Silicon Valley. I know how
> software SHOULD work.)

Except your age does not seem to have taught you about the world. Things do
not always work they way you think they should work.


>
>>> Hence, the presumption is that 'something bad' happens when you enable
>>> legacy support. But what?
>>
>> Bad presumption. Sturgeon's law. Never ascribe to malice what can equally be
>> ascribed to incompetence.
>
> I certainly UNDERSTAND and APPRECIATE your heart-felt advice.
> I'm hoping you're wrong - and that the developers aren't that stupid.
>
> I'm "assuming" (yes, that's bad) they had a good reason for not making the
> default compatible with all USB keyboards.

Because they do not have have "all: usb keyboards to test, nor would they want
to do that. For too much time and effort. They put in options and assume that
whoevery sets up the computer will be able to figure out what option to use.
Remember most computers come in a package. They are not cobbled together from
disparate pieces with disparate ages, as you seem to do. New computers have
new keyboards.

>
> But I certainly know that I could be wrong in that assumption.
> That's why I'm asking if something 'bad' happens in compatibility mode.
>
>>> Hmm. Are you saying that a "newer" mouse or keyboard will not work now that
>>> I've enabled the "legacy" mouse and keyboard?
>>
>> No he is not saing that.
>
> Good!
> Because that would clearly be bad!
>
> (Thanks for confirming that because I'm "assuming" something 'bad' happens,
> but I don't know what - and I don't want to find out accidentally what that
> bad thing is.)
>
>>> Do you see my point?
>>> a. It's only Grub that cares - so the Grub tutorials should explain this!
>>
>> Grub HAS to use the bios support for anything. Once the OS is loaded, all that
>> stuff it taken over by the OS.
>
> I don't know what you mean, as the BIOS clearly supported the legacy
> keyboard in both the "enabled" and "disabled" legacy-support mode.

No it did not. As you discovered.

Arlen Holder

unread,
Jul 2, 2018, 9:19:40 PM7/2/18
to
On 2 Jul 2098 22:00:00 GMT, Aragorn wrote:

> If you don't have "USB legacy support" enabled in the BIOS,
> then you also cannot access the BIOS from a USB keyboard.

This statement is confusing since the keyboard works just fine to move
around the BIOS settings, whether or not the BIOS has legacy mode enabled
or disabled.

It's only in Grub that the keyboard wouldn't work if the BIOS legacy mode
was disabled.

Paul

unread,
Jul 2, 2018, 9:35:27 PM7/2/18
to
One of the purposes of legacy mode, if memory services,
is to pull a character entered off the USB stack,
and shove it into the character buffer on the PS/2
logic block. Making it look like a user was entering
data via PS/2. This suits OSes such as DOS, which use
the BIOS support as a kind of hardware driver. Maybe DOS
doesn't know what USB is, but does understand calls to
PS/2.

Now, find out why GRUB doesn't have USB support.

Paul

Arlen Holder

unread,
Jul 3, 2018, 1:53:22 AM7/3/18
to
On 3 Jul 2018 01:35:32 GMT, Paul wrote:

> Now, find out why GRUB doesn't have USB support.

Hi Paul,

I follow all the dual-boot-setup tutorials diligently on these two
new-to-me (but older) desktops, and yet, the first PC ends up having RAID
dung stuck to an inaccessible part of the hard drive, while the second PC
ends up requiring legacy mode settings in the BIOS - neither of which are
covered in any of the tutorials!

Just my luck! :)

Anyway, I don't know if I want to risk bricking my system by running these
experiments, but this says that you can get around the problem by
"preloading the usb modules into Grub":
<https://ubuntuforums.org/showthread.php?t=1567990>
$ sudo vi /etc/default/grub
GRUB_TERMINAL_INPUT="usb_keyboard" <-- supposedly permanent solution
GRUB_PRELOAD_MODULES="ohci uhci" <-- supposedly a permanent solution
$ sudo update-grub
# insmod usb_keyboard <-- supposedly only a temporary workaround

Although this says you need to load the drivers for USB, which, they say,
comes way after Grub...
<https://forums.anandtech.com/threads/grub-and-usb-keyboard.896476/>

And yet, this implies otherwise, where it says that the lspci is read first
and then hal loads the usb drivers:
<https://www.linuxquestions.org/questions/linux-newbie-8/grub-loader-does-not-recognize-my-wireless-keyboard-820721/>

So I think most people are as confused as I am on WHY this problem happens.
(The solution is simple - it's UNDERSTANDING the solution which is not.)

What's interesting is that the problem is far more common than I had
thought, but it seems that the *newer* BIOS's enable USB keyboards by
default, whereas it seems the *older* BIOS's do not (and yet, both work
just fine with USB keyboards). Go figure. It's confusing as hell, it is.

In summary, it makes no logical sense but, luckily, I don't have to
understand that it makes no sense that the keyboard works fine in the BIOS
but not in Grub (which uses the BIOS).

Paul

unread,
Jul 3, 2018, 2:40:52 AM7/3/18
to
I've never run into your problem, because for the most
part, my settings are "Default" in the USB2 page.

And "legacy" support would be one of the things
enabled by default.

When you get a system someone else has been using,
you have two choices.

1) Enter the BIOS, select "load setup defaults"
and that's a quick way to put everything back
the way the BIOS designer had it.

2) If the system has been pre-owned by an overclocker,
sometimes they've "done something" that requires
preserving the settings as you find them. Perhaps
the RAM needs boosted voltage to work properly.
In such a case, you'd keep the current settings,
and merely review page-by-page that nothing out
of the ordinary has been set.

A lot of the settings were documented on Rojakpot,
but that's hard to find today. It gave an explanation
for at least some of the BIOS inventions. And shoving
a value back into the PS/2 logic block, might have
been documented on that site.

Paul

Arlen Holder

unread,
Jul 3, 2018, 6:03:45 AM7/3/18
to
On 3 Jul 2018 06:40:56 GMT, Paul wrote:

> When you get a system someone else has been using,
> you have two choices.
>
> 1) Enter the BIOS, select "load setup defaults"
> and that's a quick way to put everything back
> the way the BIOS designer had it.

That's good advice!

Chris Elvidge

unread,
Jul 3, 2018, 6:18:39 AM7/3/18
to
On 02/07/2018 21:42, Arlen Holder wrote:
> Even so, why don't the Grub tutorials cover this possibility?

Write your own tutorial?

You seem to be complaining that all the work that has been done for you
(for free) doesn't cover _your_ case. Write up your case and publish it.

Cheers

--

Chris Elvidge, England

Arlen Holder

unread,
Jul 3, 2018, 7:07:42 AM7/3/18
to
On 3 Jul 2018 10:18:38 GMT, Chris Elvidge wrote:

> Write your own tutorial?
>
> You seem to be complaining that all the work that has been done for you
> (for free) doesn't cover _your_ case. Write up your case and publish it.

I've written *thousands* of tutorials.
I wrote three this week alone.

Here's the latest one, for example, which is why I was installing Grub, so
that I could start fresh with a pristine Ubuntu.
<https://groups.google.com/forum/#!topic/alt.os.linux/z_KXY4IHLe0>

Arlen Holder

unread,
Jul 3, 2018, 7:10:04 AM7/3/18
to
On 3 Jul 2018 11:07:41 GMT, Arlen Holder wrote:

>> You seem to be complaining that all the work that has been done for you
>> (for free) doesn't cover _your_ case. Write up your case and publish it.

BTW, I forgot to mention that I already "wrote my case" and published it,
earlier today, well before you suggested it. :)

Proactive setup instructions for dual boot with Windows & Ubuntu via Grub
using legacy keyboards
<https://groups.google.com/forum/#!topic/alt.os.linux/WltumTFjzU8>

So I already did *everthing* you asked well *before* you asked!

How's that for being proactive!

Chris Elvidge

unread,
Jul 3, 2018, 8:40:10 AM7/3/18
to
On 03/07/2018 12:10, Arlen Holder wrote:
> So I already did*everthing* you asked well*before* you asked!

I didn't ask, I just suggested.

(And I already knew what "legacy usb" meant.)


--

Chris Elvidge, England

William Unruh

unread,
Jul 3, 2018, 10:17:03 AM7/3/18
to
I hope not, since as was stated to you, "legacy keyboard" is not what you have
or are talking about. What you are talking about is a USB keyboard on a legacy
BIOS. Ie, it is the bios that is legacy, and did not support USB. Some
manufacturers have extended the bios and allow the use of USB keyboards.

Arlen Holder

unread,
Jul 3, 2018, 12:12:58 PM7/3/18
to
On 3 Jul 2018 14:17:01 GMT, William Unruh wrote:

> I hope not, since as was stated to you, "legacy keyboard" is not what you have
> or are talking about. What you are talking about is a USB keyboard on a legacy
> BIOS. Ie, it is the bios that is legacy, and did not support USB. Some
> manufacturers have extended the bios and allow the use of USB keyboards.

As always, I'll correct that faux pas, but I'm waiting to see if there is
other input before I correct it.

You'll note that I corrected the RAID dung apnote also, once all the
information is in.

I always "try" to control my system, whether it's iOS, where you'll note my
pyramid icon organization is unique:
<http://img4.imagetitan.com/img.php?image=18_ios_menu.jpg>

And, on Android, it's designed to be operated by my left hand only:
<http://img4.imagetitan.com/img.php?image=18_android_menu.jpg>

I write a lot of apnotes for a.i.w for extending Wi-Fi for *miles* too! :)
<http://img4.imagetitan.com/img.php?image=18_wifi.jpg>

In general, almost all the a.o.l folks know far more than I do on almost
everything, whereas, in general, extremely few of the Windows folks know
anywhere near as much as I do (although Paul is on both and knows more than
I do, by far, on both).
Quick customized-installation tutorial for setting up gVim on Windows
<https://groups.google.com/forum/#!topic/microsoft.public.windowsxp.general/BpPrLrSCza4>

Worse, there's almost nobody on the iOS groups who know anything that isn't
scripted by them by Apple (there's only one guy, David Empson, who knows
anything).

My point is that the Linux folks find my mistakes, but the Windows and iOS
(or Android) folks never do - where I write apnotes all the time (thousands
upon thousands of them), all designed to take control over your computing
device.
Please follow this cut-and-paste tutorial to get batch command shortcuts working perfectly on Windows
<https://groups.google.com/forum/#!topic/microsoft.public.windowsxp.general/1PzeGP4KMTU>

For example, here's a recent apnote on Windows where it was shocking to me
that almost nobody on the Windows newsgroup knew that the Windows XP
Cascade Menu is *stock* on a *native* Windows 10 OS.
Tutorial for setting up a well-organized consistent efficient Windows menu system
<https://groups.google.com/forum/#!topic/microsoft.public.windowsxp.general/eWU-jOkFRtU>

WinXP Native Cascade Menu (it's exactly the same as Win10):
<http://img4.imagetitan.com/img.php?image=18_winxp_cascade.jpg>
Win10 Native Cascade Menu (it's exactly the same as WinXP):
<http://img4.imagetitan.com/img.php?image=18_menu1.png>

I even copied my Windows XP Cascade Menu over to Windows 10, and it worked
out of the box, with only very slight modifications because I honed
hierarchy trees over the decades.

This is my way of saying that I've been on Usenet as long as anyone here,
where I know that a good Usenet citizen asks a question, provides
sufficient details, answers all valid queries, tests all valid suggestions
(if feasible), and then writes up a summary so that the NEXT person can
stand on our combined shoulders.

It's how Usenet should work when it works well, and it worked well in this
case. One problem is that I don't yet *understand* all that Aragorn told
me, but I did admit that I was confused because there's no way Grub uses
"only" what the BIOS uses becuase the keyboard works in the BIOS no matter
what the BIOS is set to, but Grub doesn't.

That's the main source of my remaining confusion, but, the answer could be
as simple as Grub doesn't have access to all that the BIOS does with
respect to the USB keyboard drivers. (Note that there were ways to
"pre-load" the usb drivers to make them available to Grub - but I didn't
test that out as my goal was the iOS-integration-to-Linux apnote after
all).
How to read/write access iOS file systems on Ubuntu/Windows over USB cable
<https://groups.google.com/forum/#!topic/alt.os.linux/z_KXY4IHLe0>

William Unruh

unread,
Jul 3, 2018, 1:01:49 PM7/3/18
to
On 2018-07-03, Arlen Holder <arlen...@nospam.net> wrote:
> On 3 Jul 2018 14:17:01 GMT, William Unruh wrote:
..
>
> That's the main source of my remaining confusion, but, the answer could be
> as simple as Grub doesn't have access to all that the BIOS does with
> respect to the USB keyboard drivers. (Note that there were ways to
> "pre-load" the usb drivers to make them available to Grub - but I didn't
> test that out as my goal was the iOS-integration-to-Linux apnote after
> all).

Remember that BIOS (legacy) is an emulation of BIOS. Ie, the whole thing is
under the control of the full rom startup. That certainly does recognize usb.
So it might be that that when you hit Del or F2 or whatever to enter into the
bios mode, it is under the control of the full capabilities, while when grub
tried to use the bios functions to read the keyboad, it is now under the
control of the legacy BIOS functions.

Cows Are Nice

unread,
Jul 3, 2018, 1:49:15 PM7/3/18
to
Remove the cr2032 battery if the prior owner didn't give you the password.


"A lot of the settings were documented on Rojakpot,
but that's hard to find today. It gave an explanation
for at least some of the BIOS inventions. And shoving
a value back into the PS/2 logic block, might have
been documented on that site." - Paul

moved to here
<https://www.techarp.com/bios-guide/>
I find nothing about legacy USB support, but lots of other info.


Elsewhere, you wrote
WinXP Native Cascade Menu (it's exactly the same as Win10):
<http://img4.imagetitan.com/img.php?image=18_winxp_cascade.jpg>
Win10 Native Cascade Menu (it's exactly the same as WinXP):
<http://img4.imagetitan.com/img.php?image=18_menu1.png>

Did you mean to sort everything alphabetically?
Did moving stuff and organizing your cascade menu by "tasks" force that
on you? I *HATE* that!
The greatest thing that Mint 17 Xfce brought me, over all the prior Xfce
releases, was the ability to finally arrange menu items as I want, NOT
alphabetically.

Paul

unread,
Jul 3, 2018, 6:16:52 PM7/3/18
to
Cows Are Nice wrote:
> On 07/03/2018 03:03 AM, Arlen Holder wrote:
>> On 3 Jul 2018 06:40:56 GMT, Paul wrote:
>>
>>> When you get a system someone else has been using, you have two
>>> choices.
>>>
>>> 1) Enter the BIOS, select "load setup defaults" and that's a quick
>>> way to put everything back the way the BIOS designer had it.
>>
>> That's good advice!
>
> Remove the cr2032 battery if the prior owner didn't give you the password.

This works for consumer machines, where the password
is stored in CMOS RAM. Removal of all power, including
pulling the CR2032 battery, caused reinitialization
of CMOS RAM at startup. And no password is set.

However, on business platforms (laptop with Qxx chipset),
the password can be stored in a 2KB EEPROM. And the battery
trick won't clear one of those.

Paul

Arlen Holder

unread,
Jul 3, 2018, 6:36:09 PM7/3/18
to
On 3 Jul 2018 17:49:13 GMT, Cows Are Nice wrote:

> Remove the cr2032 battery if the prior owner didn't give you the password.

That's a great idea!
(if it works).

I never thought of that, but it makes sense, if the BIOS has a password
(which mine doesn't, it seems).

Thanks for adding to the tribal knowledge!

> I find nothing about legacy USB support, but lots of other info.

I'm gonna give up on the "legacy usb support" issue, as my main intent was
just to have a clean dual-boot so that I could test the apnote I had
written, on a machine that was fresh.

Moving forward, I will simply "assume" that Grub doesn't have access to
what the BIOS has access to, and that's just the way it is.

> Elsewhere, you wrote
> WinXP Native Cascade Menu (it's exactly the same as Win10):
> <http://img4.imagetitan.com/img.php?image=18_winxp_cascade.jpg>
> Win10 Native Cascade Menu (it's exactly the same as WinXP):
> <http://img4.imagetitan.com/img.php?image=18_menu1.png>
>
> Did you mean to sort everything alphabetically?

What do any of us do differently on any desktop OS or mobile device?
Whatever we do, it doesn't have to be alphabetically organized.

For example, here is my task-based iOS (large) iPad home screen:
<http://img4.imagetitan.com/img.php?image=18_ios_menu.jpg>

Here is my task-based Android home screen (designed for one hand):
<http://img4.imagetitan.com/img.php?image=18_android_menu.jpg>

Those aren't alphabetical, but they many of the same tasks we do on
desktops.

Here is a desktop task based WinXP Cascade Menu:
http://img4.imagetitan.com/img.php?image=18_winxp_cascade758.jp

Here is a desktop task based Win10 Cascade Menu:
<http://img4.imagetitan.com/img.php?image=18_win10_cascade989.jpg>

The tasks are the same; so the menus are the same (with honing over the
years), just like on Ubuntu the tasks are the same, so the menus are the
same.

I like alphabetical in cascade menus, but I don't use alphabetical on
mobile device home screens, and yet, on large mobile devices, I don't need
to try to fit everything into a single (left) hand, so the organization is
different in that it fits the need.

Same here.
You organize your menus however you feel fits your needs.

Even Ubuntu menus should be organized, but ... unfortunately, AFAICR,
cascade menus are one place it seems Ubuntu lags severely behind Windows.

I hated Unity so I went with KDE and I was appalled at how unversatile the
KDE cascade menus were (which is a very surprising thing to say about KDE
indeed!), but I finally wrestled the KDE menus just like I wrestle the
Android and iOS screens (and wrote plenty of apnotes on the subject so that
others could too).

*A menu should be organized however your mind works.*

I have my kitchen utensils in the utensil drawer, the pots hanging on the
overhead rack, the spices on the spice shelf, etc. but there's no button I
can press that will sort them alphabetically for me.

But on Windows, I put the browsers in the browser directory (I don't use
plurals or funky characters or long names for the obvious reasons), I put
the editors in the editor directory, and the cleaners in the cleaner
directory, and the archivers in the archiver directory, etc. ...

And when I hit a button, Windows sorts them alphabetically for me.
1. Win10 Cascade Menu
<http://img4.imagetitan.com/img.php?image=18_menu1.png>
2. Win10 Orthodox Start Menu:
<http://img4.imagetitan.com/img.php?image=18_menu2.png>
3. Win10 Heterodox Start Menu:
<http://img4.imagetitan.com/img.php?image=18_menu3.png>

That way, on all systems, they're in the same order.
But, I don't think that alphabetical menu order is a requirement.

I just happen to like it that way.
But if I didn't like it that way, I'd change it.

The menus are completely under your control.
You put items in a menu simply by right clicking on them and using the
"Send To" feature to populate the four locations (on Win10 at least).
a. The heterodox Start Menu

> Did moving stuff and organizing your cascade menu by "tasks" force that
> on you? I *HATE* that!

Hmmmmm... what do you hate?

That there "is" the same organization to the menus of WinXP & Win10?
<http://img4.imagetitan.com/img.php?image=18_my_win10_cascade_menu.jpg>

People organize their "things" however "they" like them organized.
I just show them how to do that with the click of their mouse buttons:
<http://img4.imagetitan.com/img.php?image=18_win10cascademenu01.jpg>

It also makes logical sense to organize all three Win10 menus the same:
<http://img4.imagetitan.com/img.php?image=18_win10menu808.jpg>

But you don't have to organize your heterodox, orthodox, and cascade menus
the same, nor do you need to organize them the same as your software
installation hierarchy, nor the same as the software installer archive
hierarchy, nor do you have to organize them the same on all systems, and on
all Windows operating systems over the decades.
<http://img4.imagetitan.com/img.php?image=18_win10menu808.jpg>

But I do.

And yet, I never tell you how to organize your tools, but, most likely you
so something similar as I do, in that you put your screwdrivers in the
screwdriver drawer, don't you? You may separate Phillips from Blade
screwdrivers, and maybe you put nut drivers in there too, but the
organization is up to you.

Certainly you keep your metric and SAE (or whatever it's called for the
Imperial units) wrenches and sockets separately, don't you? Or are they all
jumbled up in a big pile along with your pliers?

Like anyone, I put my socks in my sock drawer, and my undershorts in the
undershort drawer, and my shorts in the shorts drawer, and the T-shirts are
hung up on hangers, etc.

How you organize your closet is up to you, but there are, in essence, only
two organizaational systems for all these things:

1. You put all the kitchen utensils in a big pile on the kitchen floor;
Or ... you organize them in drawers, hooks, and shelves.
2. You put all your tools in a big pile in the middle of the garage floor;
Or ... you organize them in toolboxes.
3. You put all your clothes in a big pile in the middle of the closet;
Or ... you organize them in drawers and on racks and shelves.

If you truly leave everything in a big pile, then nothing I say will make
any sense to you - but if you organize your 'stuff', then having a menu to
that stuff is organized however you feel is appropriate.

To me, that menu is the same on WinXP ten years ago as it is today on
Win10, and, in fact, the exact same menu files work on both platforms!

> The greatest thing that Mint 17 Xfce brought me, over all the prior Xfce
> releases, was the ability to finally arrange menu items as I want, NOT
> alphabetically.

I don't think Windows enforces alphabetical menus as a rule, does it?

Arlen Holder

unread,
Jul 3, 2018, 7:01:00 PM7/3/18
to
On 3 Jul 2018 22:36:08 GMT, Arlen Holder wrote:

> The menus are completely under your control.
> You put items in a menu simply by right clicking on them and using the
> "Send To" feature to populate the four locations (on Win10 at least).
> a. The heterodox Start Menu

Ooops. I didn't finish this part.

If you set it up right (yes, I posted a detailed apnote on how to do that),
all you do is rightclick on a shortcut, and that populates the four menus:
1. The heterodox Start Menu (aka, the "alphabetical" left-side menu)
2. The orthodox Start Menu (aka the "tiled" right-side menu)
3. The cascade Start Menu (aka the task-bar cascade menu system)
4. The task bar itself (and anything else you want to populate).

There are more details on how to set all this up efficiently over here
Please follow this cut-and-paste tutorial to get batch command shortcuts working perfectly on Windows
<https://groups.google.com/forum/#!topic/microsoft.public.windowsxp.general/1PzeGP4KMTU>

But here is a quick summary of the efficiency that I promulgate:
1. We save the application installer in a task-based hierarchy:
<http://img4.imagetitan.com/img.php?image=18_menu01529.jpg>
2. This particular example happens to be the "Shotcut" video editor:
<http://img4.imagetitan.com/img.php?image=18_menu02679.jpg>
3. The default location happens to be software > editor > vid
<http://img4.imagetitan.com/img.php?image=18_menu03179.jpg>
4. Notice that the app hiearchy mirrors that same organization:
<http://img4.imagetitan.com/img.php?image=18_menu04368.jpg>
5. Also notice the heterodox start menu populates the orthodox menu:
<http://img4.imagetitan.com/img.php?image=18_menu05446.jpg>
6. From any shortcut, you just right click to populate the task bar:
<http://img4.imagetitan.com/img.php?image=18_menu06241.jpg>
7. You can put the shortcuts anywhere you find them useful:
<http://img4.imagetitan.com/img.php?image=18_menu07638.jpg>
8. Specifically, you can add that shortcut to any menu you like:
<http://img4.imagetitan.com/img.php?image=18_menu08523.jpg>
9. For example, you can add the shortcut to the orthodox Start Menu:
<http://img4.imagetitan.com/img.php?image=18_menu09694.jpg>
10. Or right click to add it to the task bar:
<http://img4.imagetitan.com/img.php?image=18_menu10134.jpg>
11. Or right click to add it to the WinXP-style Cascade Menu:
<http://img4.imagetitan.com/img.php?image=18_menu11977.jpg>
12. Or right click to add it to the heterodox Start Menu:
<http://img4.imagetitan.com/img.php?image=18_menu12851.jpg>
13. It's a simple matter to move the Cascade Menu items around:
<http://img4.imagetitan.com/img.php?image=18_menu13317.jpg>
14. You drag and drop the Win10 Cascade Menu exactly as you did on WinXP:
<http://img4.imagetitan.com/img.php?image=18_menu1482.jpg>
15. Native, out of the box, WinXP & Win10 Cascade Menus are exactly the
same!
<http://img4.imagetitan.com/img.php?image=18_menu15997.jpg>
16. You drag and drop the tiled orthodox start menu also (as you see fit):
<http://img4.imagetitan.com/img.php?image=18_menu16160.jpg>
17. I use the same hierarchy on all my machines over the decades:
<http://img4.imagetitan.com/img.php?image=18_menu1719.jpg>
18. And, of course, there's always the shortcut task bar method:
<http://img4.imagetitan.com/img.php?image=18_menu18310.jpg>
19. And if you set it up, you can use the command line also:
<http://img4.imagetitan.com/img.php?image=18_menu19778.jpg>
20. But you need to know how to use the all-important "App Paths" key:
<http://img4.imagetitan.com/img.php?image=18_menu2028.jpg>

Bear in mind, given we all do the same tasks on all desktops, I did the
same with the Ubuntu KDE Cascade Menus, but I'd have to dig up the apnotes
as they are *years* old.

Cows Are Nice

unread,
Jul 4, 2018, 3:10:41 AM7/4/18
to
On 07/03/2018 03:36 PM, Arlen Holder wrote:

...
> I hated Unity so I went with KDE and I was appalled at how unversatile the
> KDE cascade menus were (which is a very surprising thing to say about KDE
> indeed!), but I finally wrestled the KDE menus just like I wrestle the
> Android and iOS screens (and wrote plenty of apnotes on the subject so that
> others could too).

Win09SE has the best menu that I've used, and I'd be surprised if KDE
wasn't at least as good. But I use Xfce.
Tell me how to add a level of nested folders to my Xfce cascading menu.
There are general Categories, and the Program Launchers within them. I
want subgroups in some of the categories.

Arlen Holder

unread,
Jul 4, 2018, 2:20:55 PM7/4/18
to
Philosophically, I'm of the opinion ... related to menus:
a. We all do the same type of "tasks" on all desktops, and hence,
b. Hence, a Windows menu is no different than a Linux menu, where,
c. The "task bar" model works perfectly for very-often-used apps,
d. But where the "cascade menu" works best for comprehensive menus.

Hence, your question about the "accordion style" or "sliding style" or
"cascade style" menu is apropos.

This is a good question, where my KDE solution was implemented *years* ago,
and where, as you probably know, I purposefully obfuscate my headers to
that I can't even search myself on headers - I can only use the same
subject-based keywords you would use to find them.

Certainly my disdain for Unity would be in those searches, along with my
wonderment that KDE had a surprisingly hard time customizing
accordion-style menus, since, after all, the one thing KDE is great at is
customization (so it's an enigma that it wasn't easy to get KDE to do what
it should have done - which is reproduce the WinXP Cascade Menu ease of
use).

As I recall, I was only 80% successful, as part of the ease of use of any
menu is the ability to just right click to "open" here, and to left-click
slide teh menu items about as needed.

In the end, as I recall, I was only able to get the accordion style menus
to work on KDE - and that was hard enough. I never did get the ease of
modification that Windows XP and now Windows 10 has, natively, for the
Cascade Menu (I repeat, Windows 10 has the EXACT SAME cascade menu as does
Windows XP - but almost nobody seems to know about it except me).

So let's find where I last left off on the Cascade Menus for Ubuntu, since
I'm of the mind set that I *know* what the GUI needs to do - I just have to
wrestle KDE into doing it.

I only have the same search tools you have, where long ago I made this
shortcut on tinyurl to make remembering the search engine easier for all.
http://tinyurl.com/alt-os-linux

As I recall, I also posted to the Ubuntu forums, so we can search there
also.
<https://askubuntu.com/questions/249702/search-engine-for-ubuntu-users>

A hint will likely be that I organize my menus the same on all desktop
platforms (and somewhat similar on mobile devices) since the *tasks* are
the same (browser, editor, mailer, etc.) so we can add those keywords to
the search to find them.

The fact it's hard to find my thousands of apnotes by my headers is a good
thing (for privacy), but a bad thing when we want to find a specific note.

We'll just have to use the keywords.
Here's my first pass at finding them...

OK. This is the just the first hit, which is my question from 2014:
Does any Linux have windows xp style accordion menus?
<https://groups.google.com/forum/#!topic/alt.os.linux/NAL0vqWCdrM[201-225]>

Arlen Holder

unread,
Jul 4, 2018, 3:24:33 PM7/4/18
to
On 2 Jul 2018 18:31:17 GMT, Arlen Holder wrote:

> It seems like a backward situation when you have to fail first, before you
> can figure out what the setting should be.

I should summarize that for half this thread I didn't realize that the
problem wasn't "in" the keyboard, as all USB keyboards are apparently alike
(for our purposes).

The problem was "in" the BIOS, but only sort of.
The reason it's only sort of in the BIOS is that the BIOS worked just fine
with any keyboard.

The problem was actually "in" Grub, in that only Grub had a problem not
recognizing the keyboard. Everything else has no problem recognizing the
keyboard, from BIOS to Windows to Linux.

The problem was that only Grub *needs* the BIOS to be set in "Legacy" mode
for USB keyboards.

The PRO is that now everything works fine, thanks to the expert help here!

The CON perhaps, is the "complexity" that Aragorn tried to explain to me,
but, which I admit, was too deep for me as I don't remember all that "real
mode" and "protected mode" stuff as I skipped the first few years of MSDOS
because I was on DEC equipment in those days. (My first PC was a Compaq, as
I recall big fat 8-inch-tall pizza box, with the "optional" 40MB hard drive
(whoooeee!) and multiple floppy disk drives where, as I recall, it was
something like 4MG and we tried overclocking to something like 5MHz.).

William Unruh

unread,
Jul 4, 2018, 4:52:56 PM7/4/18
to
On 2018-07-04, Arlen Holder <arlen...@nospam.net> wrote:
> On 2 Jul 2018 18:31:17 GMT, Arlen Holder wrote:
>
>> It seems like a backward situation when you have to fail first, before you
>> can figure out what the setting should be.
>
> I should summarize that for half this thread I didn't realize that the
> problem wasn't "in" the keyboard, as all USB keyboards are apparently alike
> (for our purposes).
>
> The problem was "in" the BIOS, but only sort of.
> The reason it's only sort of in the BIOS is that the BIOS worked just fine
> with any keyboard.

As was explained to you, the editing of what you call the BIOS using the
keyboard uses the full non-legacy bios to read the keyboard. Once you tell the
full bios you want to use the legacy bios, then the key board function calls
no longer handle usb unless you tell them to .

>
> The problem was actually "in" Grub, in that only Grub had a problem not
> recognizing the keyboard. Everything else has no problem recognizing the

Nope. It was that the legacy bios emulation did not recognize the usb
keyboard.

> keyboard, from BIOS to Windows to Linux.
>
> The problem was that only Grub *needs* the BIOS to be set in "Legacy" mode
> for USB keyboards.

No it does not. grub will use the full bios without problem. What it needs is
for the legacy bios emulation to recognize the usb commands sent by the usb
keyboard.
0 new messages