sipeed / NanoKVM

NanoKVM: Affordable, Multifunctional, Nano RISC-V IP-KVM
GNU General Public License v3.0
3.31k stars 60 forks source link

Keyboard not detected by BIOS/EFI during POST boot sequence #25

Open ocochard opened 3 months ago

ocochard commented 3 months ago

My nanoKVM full (image version 1.2.0, app version 2.0.6) is able to emulate virtual keyboard once the OS (Windows or FreeBSD) is started, but while in the POST sequence it doesn’t work: I can’t enter in the BIOS menu as example. Tested on:

n1LWeb commented 3 months ago

HP Elitebooks, too can't even enter bitlocker credentials

Z2Z-GuGu commented 2 months ago

We have recently updated version 2.0.7 and attempted to fix this issue. You can update the test on your browser

ocochard commented 2 months ago

Upgraded to 2.0.7 and tested on Intel NUC, and confirmed it works now. Update: Tested back on HP EliteDesk and no improvement.

n1LWeb commented 2 months ago

Still not working on HP Elitebook

n1LWeb commented 2 months ago

I Checked again. If this happens the device will also not work on OS level, so this might be a different issue. If this is happening, then also the HID symbol is not lighting up. Resetting HID from the web ui is not working, too. After Replugging the USB it's working (at least on OS level, didn't check bios level again yet) Is there a way to "simulate" a complete re plugin of the USB Port? Maybe something i can test from the terminal interface? I have this issue on other devices on this machine, too, so it could be that it's not NanoKVM's fault.

ocochard commented 2 months ago

Tested again with (image version 1.2.0, app version 2.0.9) on the same difficult HP EliteDesk: still not able to use keyboard (echap, F10, others) to enter the BIOS. But once booted, the keyboard/mouse were working well with the OS.

Z2Z-GuGu commented 2 months ago

@ocochard Hi, We have added BIOS keyboard test mode in version 2.0.9. Now, you can enable BIOS mode keyboard and mouse by running 'touch/boot/BIOS && reboot '

OrpheeGT commented 2 months ago

@ocochard Hi, We have added BIOS keyboard test mode in version 2.0.9. Now, you can enable BIOS mode keyboard and mouse by running 'touch/boot/BIOS && reboot '

personnaly raised the following issue : https://github.com/sipeed/NanoKVM/issues/50

I tried your BIOS mode, it does nothing. System boot, but keyboard does not work.

messages.log

# cat /sys/kernel/config/usb_gadget/g0/functions/hid.GS0/subclass 
1
# 
ocochard commented 2 months ago

@ocochard Hi, We have added BIOS keyboard test mode in version 2.0.9. Now, you can enable BIOS mode keyboard and mouse by running 'touch/boot/BIOS && reboot '

I’ve tried that, but no change: the BIOS still doesn’t detected the keyboard (but works fine after).

AkechiShiro commented 2 months ago

Could you give more details is your BIOS running in UEFI/UEFI with CSM/Legacy, are there any options about USB devices in your BIOS such as time waiting for external USB devices ? Any diagnostics vs fastboot option?

Let us know exact hardware model of your device + BIOS version/revision and if you're booting in UEFI or Legacy @ocochard

Same for @OrpheeGT

OrpheeGT commented 2 months ago

HP Microserver G7 N54L

Definitively NOT UEFI.

image

image

image

image

image

image

image

image

romainreignier commented 2 months ago

I have the same issue on Neousys embedded computers running Insyde UEFI BIOS. Even in GRUB and resetting USB HID. I have also tried with the /boot/BIOS file but there is no change.

https://github.com/user-attachments/assets/5e0f16e6-1dbd-4902-8f81-6b383eabd215

aka-charos commented 1 month ago

I have the same issue on Xeon Glacier Falls W Workstation (UEFI BIOS). If I connect my keyboard on the same USB slot, it works fine.

romainreignier commented 1 month ago

This seems to be a known issue for the PiKVM and ArduinoHID folks.

Sipeed has already added a basic workaround in /etc/init.d/S03usbdev:

if [ -e /boot/BIOS ]
then
    echo 1 > functions/hid.GS1/subclass
fi

But we will need to test more options.

From what I have read, some BIOS:

aka-charos commented 1 month ago

obviously the workaround that Sipeed provided does not work :(