LinuxQuestions.org
Review your favorite Linux distribution.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Hardware
User Name
Password
Linux - Hardware This forum is for Hardware issues.
Having trouble installing a piece of hardware? Want to know if that peripheral is compatible with Linux?

Notices


Reply
  Search this Thread
Old 08-17-2019, 02:16 PM   #1
computer_freak_8
Member
 
Registered: Jul 2008
Location: Iowa
Distribution: Ubuntu and Fedora, mostly
Posts: 103

Rep: Reputation: 15
iPXE sees NIC on one machine but not another


Not sure if I'm in the right forum... Hardware seemed good though. :-)

On a Lenovo IdeaPad Flex-14API (81SS), I failed to get PXE to even list the boot option of network. Fine, I figured, probably something goofy with the Lenovo BIOS, as I've had similar issues on other machines from various manufacturers. I keep an iPXE USB around just for these occasions.

However, I can't get the iPXE to work, either. It doesn't see the USB-NIC; ifstat produces no output.

However, on the same machine, booting Ubuntu or Windows, the NIC is seen, and functional. On other machines, iPXE can see/boot the NIC just fine. USB info (lsusb) is 0bda:8153.

Any ideas or troubleshooting steps are welcome. I've done the usual dance of fiddling with BIOS settings (boot options, Legacy/UEFI, etc.). Lenovo support was wholly unhelpful (as I'd expect for a consumer device trying to PXE boot).
 
Old 08-18-2019, 11:22 PM   #2
permaroot
Member
 
Registered: Aug 2019
Location: Arden, NC
Distribution: Arch Linux
Posts: 129

Rep: Reputation: 48
Quote:
Originally Posted by computer_freak_8 View Post
Not sure if I'm in the right forum... Hardware seemed good though. :-)

On a Lenovo IdeaPad Flex-14API (81SS), I failed to get PXE to even list the boot option of network. Fine, I figured, probably something goofy with the Lenovo BIOS, as I've had similar issues on other machines from various manufacturers. I keep an iPXE USB around just for these occasions.

However, I can't get the iPXE to work, either. It doesn't see the USB-NIC; ifstat produces no output.

However, on the same machine, booting Ubuntu or Windows, the NIC is seen, and functional. On other machines, iPXE can see/boot the NIC just fine. USB info (lsusb) is 0bda:8153.

Any ideas or troubleshooting steps are welcome. I've done the usual dance of fiddling with BIOS settings (boot options, Legacy/UEFI, etc.). Lenovo support was wholly unhelpful (as I'd expect for a consumer device trying to PXE boot).
Thread topic says different machine, post says same machine.

What distro are you trying this on. You say it works in Ubuntu and Windows on the same machine.
 
Old 08-19-2019, 02:44 PM   #3
jefro
Moderator
 
Registered: Mar 2008
Posts: 21,984

Rep: Reputation: 3626Reputation: 3626Reputation: 3626Reputation: 3626Reputation: 3626Reputation: 3626Reputation: 3626Reputation: 3626Reputation: 3626Reputation: 3626Reputation: 3626
Do the systems have pxe available in bios? Are they UEFI or not?

Ipxe is one of the ports of gpxe that has been around for a while to try to get systems that don't have pxe on nic. You generally do have to build the port with a supported nic and may end up having to modify how it swaps over to OS.

Are you using wireshark to view connections?
 
Old 08-20-2019, 02:22 PM   #4
computer_freak_8
Member
 
Registered: Jul 2008
Location: Iowa
Distribution: Ubuntu and Fedora, mostly
Posts: 103

Original Poster
Rep: Reputation: 15
Quote:
Originally Posted by permaroot View Post
Thread topic says different machine, post says same machine.

What distro are you trying this on. You say it works in Ubuntu and Windows on the same machine.
To clarify:
iPXE USB drive and USB-NIC work fine on whatever machines I try them on... except these Lenovo Flex machines. (works fine on Dell, HP, etc. machines we have)

The distro is iPXE UEFI; mentioned Ubuntu and Windows to indicate it's not any one hardware piece that's not working at all. On the same Lenovo Flex, Ubuntu and Windows see the USB-NIC and can use it, so I know the USB port is good.

@jefro, I haven't used Wireshark to view connections, but iPXE isn't even making it far enough to need that.
Co-worker discovered today that the built-in PXE on the motherboard, only works with USB 2.0 NICs. However, I'd think this would be irrelevant if iPXE uses its own drivers?
I get that the vision of iPXE was to PXE things that wouldn't, but there have been several instances (with various hardware in the recent past) where a machine wouldn't PXE boot properly from the motherboard's built-in mechanisms, but would boot PXE via iPXE just fine.
 
Old 08-20-2019, 03:51 PM   #5
jefro
Moderator
 
Registered: Mar 2008
Posts: 21,984

Rep: Reputation: 3626Reputation: 3626Reputation: 3626Reputation: 3626Reputation: 3626Reputation: 3626Reputation: 3626Reputation: 3626Reputation: 3626Reputation: 3626Reputation: 3626
Last time I looked at gpxe/ipxe the ability of it to work depended on a few items. One is that the nic is built into the version of gpxe/ipxe that you have. Two that the nic isn't borked by some other issue like bios settings, conflicts or what not.
https://ipxe.org/ for some tests to start.

Yes, pxe is an onboard rom based firmware that allows a system to boot. To get past computers that don't have onboard rom's for pxe or for newer options like https booting one can use gpxe/ipxe to load this firmware into a pre-os sort of state then hand off the mini OS to the main boot process. So the process of offering some image to this client may also need to be looked at.

I'd look to the uefi bios for ways to simply boot to uefi pxe too or convert over to legacy if the board offers it.

I've said this before too. pxe and the like have 300+ different web pages on how to do it. Not one of them is the same.

Wireshark may help decide if any packets are moving and where to look next.

Last edited by jefro; 08-20-2019 at 03:53 PM.
 
Old 08-20-2019, 05:19 PM   #6
computer_freak_8
Member
 
Registered: Jul 2008
Location: Iowa
Distribution: Ubuntu and Fedora, mostly
Posts: 103

Original Poster
Rep: Reputation: 15
Quote:
Originally Posted by jefro View Post
can use gpxe/ipxe to load this firmware into a pre-os sort of state then hand off the mini OS to the main boot process. So the process of offering some image to this client may also need to be looked at.
Right, and this is what I've done before, and was trying to do this time. As mentioned, ifstat produces no output, so iPXE isn't seeing the NIC, so Wireshark will be useless at that point.

iPXE's ifstat sees these NICs (tested multiple now) in different machines (HP, Dell, etc), but not in these Lenovo machines.
Ubuntu and Windows see the NICs in the Lenovo machines, too. So I *know* everything's working at a physical level, it just seems to be a specific combination of Lenovo + iPXE that doesn't allow the USB NICs to be detected in these specific machines? What would cause this/how can I troubleshoot? Seems really odd that an OS (iPXE) detects some USB NICs in some environments, and not others - even though they're the same USB NICs.
 
Old 08-20-2019, 06:48 PM   #7
jefro
Moderator
 
Registered: Mar 2008
Posts: 21,984

Rep: Reputation: 3626Reputation: 3626Reputation: 3626Reputation: 3626Reputation: 3626Reputation: 3626Reputation: 3626Reputation: 3626Reputation: 3626Reputation: 3626Reputation: 3626
Yes, "ifstat produces no output, so iPXE isn't seeing the NIC, so Wireshark will be useless at that point"
So you will have to build one for that nic or test if there is some other issue stopping it from accessing your nic.

It is not odd at all. If a person had a usb nic that they wanted to use as ipxe then things that could stop it would be more than a few items.
Bios, bios settings, conflicting nic, conflicting usb, time for usb to enable nic, support for usb controller, how it might use hotplug, pal and firmware, how uefi presents hardware and I'd assume many more.

Would you say that these lenovos have some different hardware? Unless these have been tested at factory to use ipxe then there is no use saying it must work.

Did you disable internal nic ever?

Last edited by jefro; 08-20-2019 at 07:09 PM.
 
Old 08-21-2019, 01:49 PM   #8
computer_freak_8
Member
 
Registered: Jul 2008
Location: Iowa
Distribution: Ubuntu and Fedora, mostly
Posts: 103

Original Poster
Rep: Reputation: 15
Quote:
Originally Posted by jefro View Post
how uefi presents hardware and I'd assume many more.

[...]

Did you disable internal nic ever?
Haven't disabled anything, but the only internal NIC is the Wi-Fi card (which iPXE also doesn't see).

Does iPXE utilize the UEFI system to detect USB NICs? I was under the impression it had its own drivers built in. In which case, I'd expect a USB NIC that works with iPXE, to work with iPXE. Especially when on the same machine it works with other Linux distros (like Ubuntu). If iPXE doesn't include its own driver stack (this is where my knowledge is lacking), and instead relies on the UEFI detection of USB NICs, then that explains why it's doing this. I was under the impression it includes its own drivers, so *should* work just like any other distro in this regard (aka same peripherals across different machines, would yield the same results. Or you'd see an issue across all distros). Perhaps I'm wrong?
 
Old 08-21-2019, 05:18 PM   #9
jefro
Moderator
 
Registered: Mar 2008
Posts: 21,984

Rep: Reputation: 3626Reputation: 3626Reputation: 3626Reputation: 3626Reputation: 3626Reputation: 3626Reputation: 3626Reputation: 3626Reputation: 3626Reputation: 3626Reputation: 3626
Kind of a complex issue and as usual no maker seems to use UEFI in any sort of standard.

If you have a uefi based system then even if you boot to csm/legacy it will have some effects on the hardware. You should be able to boot to the efi shell and peek around. Intel I believe has a good web page on it as well as others.

To be exact, an OEM could allow many subsets of hardware presented to the OS based on how they made it or coded it.

ipxe like linux can't support all hardware on the planet and under all conditions.

The solution posted on ipxe site would be to create (if that is possible) your own version that is tailored to your hardware or hardware set.
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
"-bash Kernel: command not found" iPXE for run 32 bits fedora on my new server xzave@xzave.be Linux - Kernel 2 09-16-2018 09:08 PM
[SOLVED] X-Windows sees all my monitors, but gnome 3 does only sees 1 GoScotty Linux - Desktop 1 10-17-2013 03:26 AM
ubuntu sees xp machine but xp does not see ubuntu machine indy_troglodyte Linux - Networking 2 10-24-2008 09:32 PM
Fedora 7 sees/access' XP pro - XP pro sees/does not access F7 Lunarizing Linux - Wireless Networking 1 11-10-2007 12:37 PM
Linux sees 2003 Domain, windows sees Linux ..but.... Stealthy_C Linux - Networking 4 06-14-2005 03:27 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Hardware

All times are GMT -5. The time now is 10:01 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration