How can I replace the system driver?

A useful thing to avoid confusion with older boots is to enable syslog timestamps in /home/config/settings/kernel/drivers/kernel file
syslog_buffer_size XXX
syslog_time_stamps true
syslog_max_size XXXMB

3 Likes

OK, Blacklisting may work well.
When I put the my driver for debug into /boot/system/non-packaged/add-ons/kernel/drivers/bin,system is halted.
(mouse and keyboard won’t work at all.)
I think it is caused by dead lock or something.
It’s too tough for me to start debug.
Current source codes of idualwifi7260 are correct? built successfully?
I think they have some problems.
Anyway, Please give me any hint/advise.

Test with the vanilla driver in non-packaged first. If it boots, then your modified driver the culprit.

Yes.I tested the vanilla driver in non-packaged.
It didn’t cause the system halt.
But,the module I built from r1beta2 source codes,no changes I made,causes halt.
I think the vanilla driver is NOT built from r1beta2 source!

I am using an Intel® NUC Kit NUC6i3SYH.
It is using an Intel 8260 and should also be supported by the idualwifi7260 driver (with the 8000C firmware), but i am also getting the same result as you: Failed to start INIT ucode: -2147483639

If you want me to test something let me know.
I also found this regarding FreeBSD and the driver:

"Update Apparently this chip does work with FreeBSD 11. For some reason, it wasn’t detected during installation, and it only detected the ethernet device. After some digging around, just needed to add the following to /boot/loader.conf :

iwm8000Cfw_load=“YES”
if_iwm_load=“YES”"
Link: https://amp.reddit.com/r/freebsd/comments/5y6yhq/freebsd_and_intel_dual_band_wirelessac_8260/

zittergie,Thank you for the offer.
If I built test module,I will give you.

You are modifying the beta2 sources. Do you try to use the resulting driver in beta2?

Can the system halt caused by your code? Will you post your changes somewhere?

Also ucode loading is broken in uefi mode with idualwifi7260, have you tested in non-uefi mode?

Is this ucode loading problem what you trying to fix?

Yes,I tried driver in beta2.
Even though I do NEVER change codes,the module built from beta2 source
causes halt!
And the ucode loading problem is what I very want to fix.
Because I’m 7 boot user(using 7 OSes on a machine!) via UEFI.

I got the latest (current,master) source codes and built the driver.
Then I tested it again in r1beta2, the system is also halted.
Where are the source codes for the original driver(idualwifi7260)???

If you dont know where the driver is, how did you built it? A step-by-step list would help to understand your problem.

This is what I did.
1.Get r1beta2 source codes from git (git clone -b r1beta2 …).
2.Build them.
3.Blacklist the original driver,and put newly built driver in …/non-packaged/add-ons/…
4.Reboot the haiku.
5.System is halted!

**If I put the original driver in same place(…/non-packaged/…),
The system is NOT halted.

So,I can’t build the driver same as the original.

But how did you built it exactly?

1.Following the guide here and here,
I configured my build environment.

2.Use “jam -q -j2 @nightly-anyboot” command to build.

3.After that,I got a build module(binary) from
/haiku/generated/objects/haiku/x86_64/release/add-ons/kernel/drivers/network/wlan/idualwifi7260

These sequences above are the my method to get build module.

It is worth nothing that Haiku beta builds are configured with KDEBUG_LEVEL = 1, and nightly builds (of the master branch) are configured with KDEBUG_LEVEL = 2, and kernel add-ons built with KDEBUG_LEVEL = 1 are not compatible with KDEBUG_LEVEL = 2 kernels!

2 Likes

Thank you for information,waddlesplash!
I set KDEBUG_LEVELto 1, built & tested.
It works well(behavior same as the original).
Although it sounds funny for me,anyway I can stand the start line of debugging.

You should probably work with the master branch, as newer changes from FreeBSD have been merged in since beta2, I think. Feel free to ask me any questions here or on IRC about the compatibility layer, as I have worked on it the most in recent years.

I’m using the latest master brunch.
And replace codes to the latest FreeBSD’s one.
But same result comes again.
It seems that this problem has NOT solved yet even in FreeBSD.
Of course,I will keep trying to fix it!

You can try GhostBSD on liveUSB to check FreeBSD support of your hardware.

Thank you for advice.
I got the GhostBSD, and tested it via UEFI boot.
The wifi(iwm driver) does work well!!
I will check the source codes again,also the codes of GhostBSD.

According to my investigation,this problem is NOT caused by the driver but somewhere else(the boot loader and so on).

Reason:

  • The iwm driver on GhostBSD via UEFI boot -> works well
  • The similar(almost same logic) driver on Haiku via UEFI boot -> won’t work
  • The similar(almost same logic) driver on Haiku via BIOS boot -> works well

So,I will check the boot process first.
It maybe hard to fix although,I will try that!

4 Likes