Post Reply 
 
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
USB devices not working in EFI mode anymore
2015-04-06, 14:04 (This post was last modified: 2015-04-06 14:27 by andlommy.)
Post: #1
USB devices not working in EFI mode anymore
Updated to recent build of iPXE, using ipxe.efi ( make bin-x86_64-efi/ipxe.efi ), getting the boot menu i've configured, but can't navigate around it as keyboard seems dead. Any ideas what to do next?
Update: rolling back to
https://git.ipxe.org/ipxe.git/commit/8c4...235b17eb58
(one before https://git.ipxe.org/ipxe.git/commit/018...06feaf7afb where USB support was added) resolved the issue, so something about USB support probably.
Find all posts by this user
Quote this message in a reply
2015-04-06, 15:41
Post: #2
RE: USB devices not working in EFI mode anymore
Unfortunately the new USB bus drivers is unintentionally loaded in current master, resulting in iPXE drivers disabling the BIOS emulation for the USB keyboard.
This is currently worked on so that USB drivers should not be puled in in a default build.
Probably not more then a few days until this is fixed as it looks like, (not a dev just an approximation from what I have read on IRC)

As you noticed 8c43891db4eb131d019360ccfb619f235b17eb58 is the last commit without USB support and should work with USB keyboards.

Read FAQ before first post!
Are relevant ipxe.org error urls and PCIIDs included?
Visit this user's website Find all posts by this user
Quote this message in a reply
2015-04-06, 15:51
Post: #3
RE: USB devices not working in EFI mode anymore
(2015-04-06 15:41)NiKiZe Wrote:  Unfortunately the new USB bus drivers is unintentionally loaded in current master, resulting in iPXE drivers disabling the BIOS emulation for the USB keyboard.
This is currently worked on so that USB drivers should not be puled in in a default build.
Probably not more then a few days until this is fixed as it looks like, (not a dev just an approximation from what I have read on IRC)

As you noticed 8c43891db4eb131d019360ccfb619f235b17eb58 is the last commit without USB support and should work with USB keyboards.

Thanks! Fingers crossed now
Find all posts by this user
Quote this message in a reply
2015-04-07, 07:19
Post: #4
RE: USB devices not working in EFI mode anymore
I also had the problem and there is an alternative.
Before starting the compilation, delete the files " ../ipxe/src/drivers/usb/?hci.*".
This allows using the latest version .
Find all posts by this user
Quote this message in a reply
2017-02-06, 14:29
Post: #5
RE: USB devices not working in EFI mode anymore
Does anybody know if this issue has been fixed without disabling USB support?

Thanks in advance.

Eugenio
Find all posts by this user
Quote this message in a reply
2017-02-06, 18:12
Post: #6
RE: USB devices not working in EFI mode anymore
(2017-02-06 14:29)eugenio Wrote:  Does anybody know if this issue has been fixed without disabling USB support?

USB support is no longer enabled by default in the standard build, you will explicitly need to include a USB driver to have usb pulled in.

Are you experiencing any issues with the current build?

Read FAQ before first post!
Are relevant ipxe.org error urls and PCIIDs included?
Visit this user's website Find all posts by this user
Quote this message in a reply
2017-02-08, 10:45
Post: #7
RE: USB devices not working in EFI mode anymore
(2017-02-06 18:12)NiKiZe Wrote:  
(2017-02-06 14:29)eugenio Wrote:  Does anybody know if this issue has been fixed without disabling USB support?

USB support is no longer enabled by default in the standard build, you will explicitly need to include a USB driver to have usb pulled in.

Are you experiencing any issues with the current build?

We are not having problems with the build, our problems are related to the USB stack implemented into iPXE.

We need to use the USB support provided by iPXE.
Our product use the grub embedded into iPXE to load one or another OS depending on the USB devices detected by iPXE.

We see that when we load Windows 7 the USB keyboard attached to the system does not work, so the user can not select an option to for example use the Windows safe boot mode.

We think that USB stack implemented into iPXE turns on a bit on the USB host controller to acquire ownership of the USB host controller hardware. By turning on this bit iPXE disables the BIOS support for USB keyboards. I think that a solution will be to return ownership of the host controller hardware to the BIOS by calling the ehci_remove function of the EHCI driver in the case of a EHCI host controller.

Thanks in advance.
Find all posts by this user
Quote this message in a reply
2017-02-08, 21:19 (This post was last modified: 2017-02-08 21:35 by NiKiZe.)
Post: #8
RE: USB devices not working in EFI mode anymore
(2017-02-08 10:45)eugenio Wrote:  We need to use the USB support provided by iPXE.
Our product use the grub embedded into iPXE to load one or another OS depending on the USB devices detected by iPXE.

We see that when we load Windows 7 the USB keyboard attached to the system does not work, so the user can not select an option to for example use the Windows safe boot mode.

We think that USB stack implemented into iPXE turns on a bit on the USB host controller to acquire ownership of the USB host controller hardware. By turning on this bit iPXE disables the BIOS support for USB keyboards. I think that a solution will be to return ownership of the host controller hardware to the BIOS by calling the ehci_remove function of the EHCI driver in the case of a EHCI host controller.

For iPXE to have access to USB devices in anything faster then ~10Mbit/s it must load it's own drivers, that means that any firmware loaded USB support is thrown out and iPXE adds it own, USB NICs and keyboard is supported. When iPXE exits all devices and buses are again released, and I don't think there is any way to actually get the EFI firmware to again reload the USB devices. I'm now informed that in EFI it should return cleanly to the firmware so there should be no issue.

So there is no "fix" for your windows menu keyboard issue other then not having USB support in the ipxe build.
Not quite sure which issue you are having since this should work in EFI.
Could you maybe provide the exact make command that you use to create this version of iPXE that you are having issues with (including the filename that you are then booting)

Why use grub or a windows boot menu when this can be implemented as a menu inside of iPXE?
As a workaround, boot ipxe.efi that has ipxeusb.efi embeded and only chain to that if no nic is found on the PCI bus, and then add a note that keyboard will temporarily be dead in this case, but then again the iPXE based menu should be able to serve as a fix instead.

I will however point mcb30 to this post, hopefully he will get some other ideas or tips. (see my edits above)

Read FAQ before first post!
Are relevant ipxe.org error urls and PCIIDs included?
Visit this user's website Find all posts by this user
Quote this message in a reply
2017-02-09, 12:27
Post: #9
RE: USB devices not working in EFI mode anymore
(2017-02-08 21:19)NiKiZe Wrote:  For iPXE to have access to USB devices in anything faster then ~10Mbit/s it must load it's own drivers, that means that any firmware loaded USB support is thrown out and iPXE adds it own, USB NICs and keyboard is supported. When iPXE exits all devices and buses are again released, and I don't think there is any way to actually get the EFI firmware to again reload the USB devices. I'm now informed that in EFI it should return cleanly to the firmware so there should be no issue.

So there is no "fix" for your windows menu keyboard issue other then not having USB support in the ipxe build.
Not quite sure which issue you are having since this should work in EFI.
Could you maybe provide the exact make command that you use to create this version of iPXE that you are having issues with (including the filename that you are then booting)

Why use grub or a windows boot menu when this can be implemented as a menu inside of iPXE?
As a workaround, boot ipxe.efi that has ipxeusb.efi embeded and only chain to that if no nic is found on the PCI bus, and then add a note that keyboard will temporarily be dead in this case, but then again the iPXE based menu should be able to serve as a fix instead.

I will however point mcb30 to this post, hopefully he will get some other ideas or tips. (see my edits above)

We are testing on systems that do not have an EFI/UEFI BIOS.

Thanks for your support.
Find all posts by this user
Quote this message in a reply
2017-02-09, 12:30
Post: #10
RE: USB devices not working in EFI mode anymore
(2017-02-09 12:27)eugenio Wrote:  We are testing on systems that do not have an EFI/UEFI BIOS.

This threads subject is "USB devices not working in EFI mode anymore" so I was assuming it was about EFI.

Read FAQ before first post!
Are relevant ipxe.org error urls and PCIIDs included?
Visit this user's website Find all posts by this user
Quote this message in a reply
Post Reply 




User(s) browsing this thread: 1 Guest(s)