Possible Relation Between RTL81xx Ethernet Controller and GRUB2?

Hi,

Some preface:
It is my first time writing a post on this forum, if I do something wrong, please remind me. Thank you.

I am using Lenovo Thinkpad T14. I have already had Arch Linux installed on it. I want to add Haiku so I can have two systems on my laptop. I followed Installation Guide and UEFI Guide to install it. Then I add an entry for Haiku by following https://www.haiku-os.org/guides/booting/.

After that I could successfully boot Haiku on my laptop through GRUB. However when I was ready to play with Haiku, I realised my ethernet couldn’t connect correctly. Similar situations are reported in this https://discuss.haiku-os.org/t/rtl81xx-unable-to-get-ethernet-working-at-all/13802.

When I was messing around with Haiku. I found that, if I plug a Haiku bootable usb and boot from this usb, the ethernet can connect correctly.
The following diagram can illustrate some experiments I did.

UEFI -> USB boot loader -> SSD Haiku        -> There is network! :)
UEFI -> USB boot loader -> USB Haiku        -> There is network! :)
UEFI -> GRUB            -> SSD boot loader  -> SSD Haiku -> No network D:
UEFI -> GRUB            -> SSD boot loader  -> USB Haiku -> No network D:

Conclusion:
Because USB boot loader and SSD boot loader are the same, I think there is sufficient evidence to suspect GRUB.

Haiku version: R1Beta5

If any other information is needed, please leave a comment.

Thank you

PS. I really like the concepts of Haiku, thank you for all the developers.

Maybe try Refind as EFI boot loader if you suspect GRUB to cause the issues.
I can’t say much about that,since I usually avoid GRUB for being too unneccesarily complicated,but Refind is usually the recommended way to dual-boot Haiku with other systems on EFI computers since it’s easy to setup and mostly works out-of-the-box.

GRUB is just forwarding , it shouldn’t add issues.
Are you sure that your USB key is using UEFI to boot?

Hi @nipos,

Thank you for your reply, I changed to refind but it does not work.

Hi @Starcrasher,

I think UEFI is used because I expect it is built in to my laptop. I know how to check UEFI or BIOS is used in Linux. I’m new to Haiku so I’m not sure how to do that in Haiku.

Thank you

I don’t think Haiku says explicitely if it booted using BIOS or UEFI anywhere,but you can probably detect it using the Screen preferences.
Open Screen preferences and look which graphics driver it uses.
If it’s VESA,you’ve booted using BIOS since VESA only works with BIOS.
If it’s Framebuffer,you’ve booted using UEFI and are using the UEFI Framebuffer driver.
If it’s something else,Haiku has a specific driver for your graphics card which can be used by both BIOS and UEFI,so you’re out of luck with this method (but it’s rather likely that it will use either VESA or Framebuffer).

Alternatively,have a look at the boot options in your BIOS.
Usually it says there if you’re booting using BIOS,also called Legacy or CSM sometimes,or using UEFI/EFI.
Often there’s also the option to disable CSM/Legacy boot,which forces UEFI mode then.

Either USB boot + SSD Haiku or SSD boot + SSD Haiku uses Framebuffer, so they all use UEFI.

I didn’t find any option Legacy or CSM on the menu. However, I found something interesting. As long as I following those instructions, I can get my network (to be honest I don’t why):

  1. Press Enter to enter the startup interrupt menu.

  2. Press F12 to enter the menu of choosing devices.

  3. Do nothing and press Esc to continue booting.

It seems that I need to stop for a while during the startup. It is not perfect, but it implies that I don’t always take a Haiku bootable usb alongside. Anyway thank you for your help.

Does it mean this help has been solved? Do I need to add something in the title?

It’s not really solved as long as it doesn’t work by default,without interrupting the boot process.
We should continue debugging this,if you’re interested.
As a first step,please share your /boot/system/var/log/syslog from one boot attempt where your network works and from one boot attempt where it doesn’t work.
Maybe the differences give a hint why it sometimes doesn’t work.

No problem. But there is quite a lot of words, it excesses limit. Any methods to share the logs?

Paste it to some paste site like https://paste.bka.li and share the link here or upload the file to some filesharing site like https://upload.odirf.de or https://up.sceptique.eu and share the link here.

Instead of uploading this here you can open a ticket directly on https://dev.haiku-os.org and then upload the log as an attachment to the ticket.

Hi all,

I have created a ticket for the situation. Thank you for your patience and help. Should I mark this post as MARKED or something?

You already did the right thing and posted the link to your ticket.
People interested can follow from here.
When/If the problem is fixed, just post something in this thread to say it.

I commented on the ticket already, but for anyone stumbling here looking for a solution which doesn’t involve going to the boot menu at each boot: on my Lenovo E495, disabling the “Quick” boot and using “Disagnostic” instead also allow the network adapter to work. I suspect the UEFI bootloader initialize the network adapter during diaghnostic/boot menu, allowing the driver to work.