Replies: 13 comments 12 replies
-
To generate dual boot images use What you seem to be trying to generate is a USB NIC only boot image? To get access to USB interfaces, iPXE has its own USB drivers, which does disconnect devices from BIOS/firmware drivers, iPXE should however have its own USB keyboard driver. Are you using latest git master? Do you have any other local modifications? What is your end goal, which NIC are you trying to boot from? (USB Vendor and device id or PCIID) |
Beta Was this translation helpful? Give feedback.
-
Yes, I'm trying to PXE boot some computers with USB NICs.
Yes
No
Plugable, Dell, Kanex, Acer brands. Most have the Realtek RTL8153 chipset. The others have the Asix AX88179. The computers that I'm trying to PXE boot do not have built-in Ethernet NICs. Their firmwares do not support PXE booting with any of these USB NICs. As a workaround, I'm trying to create a bootable iPXE USB thumb drive. As I stated previously, I successfully created an iPXE USB thumb drive that supports both BIOS and EFI but once booted, the keyboard no longer works for EFI PXE boots. I don't encounter this issue with BIOS PXE boots. Because of this issue, I tried uncommenting that line in the usb.h file as I described previously, but doing so causes errors during the build. The USB thumb drive doesn't have to be for USB NICs only, but it does need to support USB NICs. |
Beta Was this translation helpful? Give feedback.
-
Please clarify "keyboard no longer works". Do you mean that the keyboard no longer works within the iPXE shell (or menu), or that the keyboard is no longer working within some program that you have used iPXE to boot? |
Beta Was this translation helpful? Give feedback.
-
The keyboard stops working as soon as I get to the iPXE shell. |
Beta Was this translation helpful? Give feedback.
-
Thanks. Could you please try building with
to generate the hybrid USB/ISO image |
Beta Was this translation helpful? Give feedback.
-
@mcb30 Also, when the USB drive is attached to a Windows computer, it uses two drive letters and shows up as a USB drive and a DVD. |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
Thank you for the well described and relevant screenshots!
Using
That makes some sense:
In the BIOS build you have Unfortunately the UEFI standard's EFI_USB_IO_PROTOCOL is so badly designed that several OEMs chose to use an alternative, completely proprietary, and undocumented interface instead. You can't really blame them, given the design flaws: Lines 43 to 49 in 59f27d6 This has the side effect that the OEM's USB drivers (such as the keyboard driver) are unable to bind to the standard EFI_USB_IO_PROTOCOL interfaces exposed by iPXE. It's therefore not that surprising that your keyboard doesn't work in this setup. Could you please retry your UEFI test case without disabling |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
My mistake, sorry. I lost track of what our current default UEFI configuration is. For BIOS, we include Could you try putting an explicit #define USB_KEYBOARD in |
Beta Was this translation helpful? Give feedback.
-
Keyboard still doesn't work. Below is screencap with explicit: |
Beta Was this translation helpful? Give feedback.
-
I used bd13697 to create the USB thumb drive with Below is the unedited config/usb.h:
Next, I re-created the USB drive with Next, I added If I enter |
Beta Was this translation helpful? Give feedback.
-
@jeffshead From reading your posts, I think you have:
It would be interesting to know which commit fixed the problem. If you are interested, you can try following the instructions at https://ipxe.org/howto/bisect to identify this specific commit. (This won't do anything to change the binary included in iVentoy: it would be purely for curiosity.) |
Beta Was this translation helpful? Give feedback.
-
I'm trying to make a single USB or ISO image that can be used to support both EFI and legacy BIOS computers.
The following commands work to build the image but the keyboard stops working if I use the image and boot efi:
The above code came from this post.
According to this post, uncommenting
//#define USB_HCD_USBIO /* Very slow EFI USB host controller */
in /src/config/usb.h should resolve the issue but I get the following error when I try to make the efi file:What am I doing wrong?
Beta Was this translation helpful? Give feedback.
All reactions