To fix the wifi problem via efi boot

I’m trying to fix the wifi problem via efi boot.
Like this

According to my investigation,currently the Haiku booted via efi
depends on boot processes about bios initialization.
It means that the Haiku does NEVER initialize bios explicitly.

To fix the problem,we have to initialize bios explicitly in the beginning of boot processes.
So,I think that It’s better to add codes for fixing it to bootloader(haiku_loader.efi)

Before do that, I’d like to ask you guys some advises/opinions.

  • Where is the best/better place to add fixing codes which initialize bios?
  • Are there any idea to initialize bios?
    I think just only the bios for pci part must be initialized to fix.
  • Are there any concrete codes for initialize bios?

Thanks in advance.

1 Like

Not sure what you mean by “bios initialization” here. The problem with idualwifi not initializing is probably a bug in the FreeBSD driver. It does actually occur on on FreeBSD, too, but as of yet, nobody has figured out the cause (and it doesn’t happen on any of my hardware, so I haven’t looked into it.)

Thank you for replying weddlesplash.

The problem with idualwifi not initializing is probably a bug in the FreeBSD driver. It does actually occur on on FreeBSD, too

Really? Through my investigation,I don’t think so.
I already mentioned in this thread, and confirmed that this problem is NOT OCCURRED in GhostBSD via EFI boot.

If this problem is occurred in pure FreeBSD also,It may be worth to compare the driver’s codes with GhostBSD’s one.

It may be a hint for me to fix this problem.
Thank you for that again.

Anyway, Nobody may have solved it and reached the cause yet.
So I will keep my investigation and fix it first! :wink:
I think it is the second matter that where is the best/better place to fix it.
The first matter is to fix it!

1 Like

-The intermediate report.- :grinning:

Any advices/informations are welcome. :star_struck:

-What I think about this problem now.-

  • This problem may be occurred by the initialize processes lacking something.
  • The processes of bus manager or driver should be modified to fix it.
  • Considering the easy applying, I’d like to modify the driver to fix. :wink:

-The things I will do.-

  • Check slight differences of driver’s codes ,between GhostBSD and Haiku.
  • (If necessary,) Reveal the processes of the Intel Boot Agent.
  • Anyway, Fix it! :laughing:

-The facts in my environment-

  • This problem is NOT OCCURRED in FreeBSD(13.0) via EFI boot.
  • This problem is NOT OCCURRED in GhostBSD(21.10.16) via EFI boot.
  • This problem is OCCURRED in Haiku(R1Beta3) via EFI boot.
  • This problem is NOT OCCURRED in Haiku(R1Beta3) via Legacy(MBR) boot.
  • Even though above(EFI Boot),If Intel Boot Agent is ran before booting Haiku,
    this problem is NOT OCCURRED!
  • On Legacy(MBR) booting,Intel Boot Agent is always ran.
  • The driver’s source codes of FreeBSD,GhostBSD,Haiku are basically same!

Hmm, I wonder if the problems are related to the EFI loader not initializing interrupts correctly or something like that.

I run the EFI loader through rEFInd, I wonder if somehow it does something like what Intel Boot Agent does and so that’s why things work for me.

Thank you for a great information!
I tried the rEFInd instead of the Clover.
Unfortunately,the problem was NOT FIXED.
But, I think that we got an important thing.

  • This problem is NOT OCCURRED by driver’s defects
  • The BIOS or the firmware of the NIC may cause it.

And…I found/faced a something strange.
After installation of rEFInd,The problem is occurred even after running the Intel Boot Agent!

I have to sort out the facts and solve this mystery. :sweat_smile:
And then,I also have to find the workaround.

The investigations are continued…

1 Like

Considering the mentioned above all, I decided the below.

  • The solution should be implemented in the boot loader(haiku_loader.efi).
  • Investigate the Intel’s PEI(Pre-EFI Initialization) processes.
  • Then,Think and design the counter measure, and implement it.

Through the investigation of the Intel’s PEI,
we may have to change the way to fix. :sweat_smile:

you could check that memory ranges used by the haiku kernel are the same as ones used by the freebsd kernel. It could also be that the device is on secondary pci bus, which Haiku doesn’t correctly set up.
as usual, it would be better to have syslogs, you don’t mention a ticket, is there already one?

Thank you for replying.
I didn’t submit any ticket.
Because I just want to fix this wifi problem on Haiku for me.
Of course, If I succeed to fix it,I’m ready to share the solution also.
But I dislike applying / submitting / reviewing processes.
I love the Haiku, and just want to use it conveniently.
If necessary,somebody please submit a ticket and apply for fixing.
Thank you for understanding. :slightly_smiling_face:
And I will continue my investigation with your advice.