help-grub
[Top][All Lists]
Advanced

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

Re: usb_keyboard not available as a terminal input?


From: Andrei Borzenkov
Subject: Re: usb_keyboard not available as a terminal input?
Date: Sun, 21 May 2017 20:39:09 +0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.1.1

21.05.2017 20:28, Tom Yan пишет:
> So I assume there is no way to use usb_keyboard on 6th Gen or later Intel 
> platforms, because there is not an xhci driver in grub while EHCI is 
> completely gone from their PCH?

You could test Bjørn Forsman patches.

https://github.com/bjornfor/grub/tree/add-coreboot-xhci-driver-2nd-attempt-v2


> 
> I tried `insmod ehci` anyway. Interestingly, the grub environment is sort of 
> broken after that, because the disk is gone after the insmod command. Like, 
> before that if I `ls`, it shows "(hd0), (hd0, gpt1), (hd0, gpt2), (hd0, 
> gpt3)"; and after that if I `ls`, it prints a blank new line. (I am on a 
> system that has one single drive which is a USB drive).

Which is correct. Loading direct hardware drivers disables native
platform drivers.

> 
> It seems to me like if I load ehci, the current host controller driver is 
> replaced so grub can no longer see the USB drive it is on. However there is 
> not an "xhci" module, so I wonder what was being replaced.
> 
> And if my assumption is true, why would usb_keyboard not work while the 
> storage drive works?
> 

Because storage driver is using UEFI services by default (or in general
on every platform grub prefers using native firmware to access devices).
Why do you need usb_keyboard in the first place? Does native UEFI
console access not work for you?

> 
> From: Andrei Borzenkov <address@hidden>
> Sent: Monday, May 22, 2017 12:36 AM
> To: Tom Yan; address@hidden
> Subject: Re: usb_keyboard not available as a terminal input?
>     
> 21.05.2017 18:18, Tom Yan пишет:
>> Hi all.
>>
>> So I happened to have looked into terminal_input for a bit (that is, 
>> "console", the default, has always worked for me so far. I just look into it 
>> because of curiosity and possible future use case). I notice that there 
>> should be a "usb_keyboard", as documented  here:  
>> https://www.gnu.org/software/grub/manual/html_node/Simple-configuration.html
> 
> 
> 
> GNU GRUB Manual 2.02: Simple configuration
> www.gnu.org
> 
> While adding extra custom menu entries to the end of the list can be done by 
> editing /etc/grub.d/40_custom or creating /boot/grub/custom.cfg, changing the 
> order of menu entries or changing their titles may require making complex 
> changes to shell scripts stored in /etc/grub.d/.
> 
> The file /etc/default/grub controls the operation of.  grub-mkconfig.  It is 
> sourced by a shell script, and so must be valid POSIX shell input; normally, 
> it will just be a sequence of ‘KEY=value’ lines, but if the value contains 
> spaces or other special characters then it must be quoted.">6.1 Simple 
> configuration handling. The program grub-mkconfig (see Invoking 
> grub-mkconfig) generates grub.cfg files suitable for most cases. It is 
> suitable for use ...
>>
>> However, when I run `terminal_input` in the grub shell, I see this:
>>
>> Active input terminals:
>> console
>> Available input terminals:
>> serial_* serial at_keyboard
>>
>> And usb_keyboard is missing.
>>
>> I tried `insmod usb_keyboard` and `terminal_input` again; while `lsmod` 
>> lists usb_keyboard, terminal_input still doesn't list it as an available 
>> input terminal.
> 
> This means usb_keyboard did not detect keyboard. You need to load
> suitable HCI drivers as well (ohci, ehci, uhci) - otherwise usb_keyboard
> has no way to communicate with device.
>     
> 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]