sebanc / brunch

Boot ChromeOS on x86_64 PC - Supports Intel CPU/GPU from 8th gen or AMD Ryzen
GNU General Public License v3.0
3.54k stars 387 forks source link

Crashes right after boot when using Intel 7260 WLAN adapter with iwlwifi_backport option #719

Open francis0525 opened 3 years ago

francis0525 commented 3 years ago

Hello. I installed Brunch Framework r87 and Chrome OS 87 to my Samsung laptop. I am using Intel 7260 WLAN adapter(mini pci-e type) with 51 pin marked because I am using Sandy Bridge CPU. The WLAN is connected for about 10 secs after boot, but becomes unusable after that. So I applied iwlwifi_backport in options, but the system crashes right after I log in. Intel 7260 is working well in Windows since I dual booted Chrome OS with Windows. I will really appreciate your helps. Below is the spec of my laptop. Thank You.

Model Name: NT900X3A-A51 CPU: I5-2537M M/B Chipset: Intel HM65 RAM: DDR3 1333 4GB * 2 SSD: Samsung mSATA SSD 500GB

sebanc commented 3 years ago

Hi, try to remove "options=iwlwifi_backport" and to add "iwlwifi.11n_disable=1" on the kernel command line

francis0525 commented 3 years ago

I'd first like to thank you for your help. I tried what you said. I tried this combination. "~~ enforce_hyperthreading=1 iwlwifi.11n_disable=1 options=acpi_powerbutton loop.max part=16 ~~" But after I land back to GRUB after a few seconds I enter Brunch. How can I solve this?

francis0525 commented 3 years ago

This is a full grub data for Chrome OS

menuentry "ChromeOS (boot from disk image)" { rmmod tpm img_part=/dev/sda5 img_path=/chromeos.img search --no-floppy --set=root --file $img_path loopback loop $img_path linux (loop,7)/kernel boot=local noresume noswap loglevel=7 disablevmx=off \ cros_secure cros_debug iwlwifi.11n_disable=1 enforce_hyperthreading=1 options=acpi_powerbutton loop.max part=16 img_part=$img_part img_path=$img_path \ console= vt.global_cursor_default=0 brunch_bootsplash=default initrd (loop,7)/lib/firmware/amd-ucode.img (loop,7)/lib/firmware/intel-ucode.img (loop,7)/initramfs.img }

sebanc commented 3 years ago

What do you mean by "I land back to GRUB after a few seconds I enter Brunch" ? (Do you see the chromeos logo ?)

francis0525 commented 3 years ago

No. I only saw the "Loading Brunch Framework" and the came back to the GRUB

sebanc commented 3 years ago

There is probably an issue with your grub config, try this one:

menuentry "ChromeOS (boot from disk image)" {
rmmod tpm
img_part=/dev/sda5
img_path=/chromeos.img
search --no-floppy --set=root --file $img_path
loopback loop $img_path
linux (loop,7)/kernel boot=local noresume noswap loglevel=7 disablevmx=off cros_secure cros_debug \
iwlwifi.11n_disable=1 enforce_hyperthreading=1 options=acpi_power_button \
loop.max_ part=16 img_part=$img_part img_path=$img_path console= vt.global_cursor_default=0 brunch_bootsplash=default
initrd (loop,7)/lib/firmware/amd-ucode.img (loop,7)/lib/firmware/intel-ucode.img (loop,7)/initramfs.img
}
francis0525 commented 3 years ago

I tried your configuration, but I am still having the symptom. The symptom is recorded in the video below

https://user-images.githubusercontent.com/69278848/102684152-936de300-4219-11eb-927e-c8eba295b2fe.mp4

the same symptom.

sebanc commented 3 years ago

This issue is most probably not related to the wifi one, try the below config and post another video:

menuentry "ChromeOS (boot from disk image)" {
img_part=/dev/sda5
img_path=/chromeos.img
search --no-floppy --set=root --file $img_path
loopback loop $img_path
linux (loop,7)/kernel boot=local noresume noswap loglevel=7 disablevmx=off cros_secure cros_debug \
iwlwifi.11n_disable=1 enforce_hyperthreading=1 options=acpi_power_button \
loop.max_ part=16 img_part=$img_part img_path=$img_path
initrd (loop,7)/lib/firmware/amd-ucode.img (loop,7)/lib/firmware/intel-ucode.img (loop,7)/initramfs.img
}
sebanc commented 3 years ago

wait I think I got it, try this config:

menuentry "ChromeOS (boot from disk image)" {
img_part=/dev/sda5
img_path=/chromeos.img
search --no-floppy --set=root --file $img_path
loopback loop $img_path
linux (loop,7)/kernel boot=local noresume noswap loglevel=7 disablevmx=off cros_secure cros_debug \
iwlwifi.11n_disable=1 enforce_hyperthreading=1 options=acpi_power_button \
loop.max_part=16 img_part=$img_part img_path=$img_path
initrd (loop,7)/lib/firmware/amd-ucode.img (loop,7)/lib/firmware/intel-ucode.img (loop,7)/initramfs.img
}
francis0525 commented 3 years ago
  1. The boot problem is fixed thanks to your config data.
  2. The WiFi problem mentioned before appeared again
  3. The WiFi is connected for a few seconds. Then it is suddenly disconnected. And finally, the Wifi disappears from the setting(See the picture below)
  4. I found that iwlwifi has some problems when using BT and WiFi the same time, and I am forced to use them the same time because the 51 pin is taped for force enabling BT in Sandy Bridge CPU.
  5. Do I have to change the WLAN card?

20201219_171914 1

sebanc commented 3 years ago

How about this config ?

menuentry "ChromeOS (boot from disk image)" {
img_part=/dev/sda5
img_path=/chromeos.img
search --no-floppy --set=root --file $img_path
loopback loop $img_path
linux (loop,7)/kernel boot=local noresume noswap loglevel=7 disablevmx=off cros_secure cros_debug \
enforce_hyperthreading=1 options=iwlwifi_backport,acpi_power_button \
loop.max_part=16 img_part=$img_part img_path=$img_path
initrd (loop,7)/lib/firmware/amd-ucode.img (loop,7)/lib/firmware/intel-ucode.img (loop,7)/initramfs.img
}
francis0525 commented 3 years ago

I applied. The same symptom still appears, and it even turns itself off right after the WiFi setting disappears.

sebanc commented 3 years ago

Weird, for now I did not have much issues with the intel wifi drivers, could you use the below config and post a dmesg after the wifi fails (run "dmesg > ~/Downloads/dmesg.txt" in crosh shell and post dmesg.txt from your downloads folder)

menuentry "ChromeOS (boot from disk image)" {
img_part=/dev/sda5
img_path=/chromeos.img
search --no-floppy --set=root --file $img_path
loopback loop $img_path
linux (loop,7)/kernel boot=local noresume noswap loglevel=7 disablevmx=off cros_secure cros_debug \
enforce_hyperthreading=1 options=acpi_power_button loop.max_part=16 img_part=$img_part img_path=$img_path
initrd (loop,7)/lib/firmware/amd-ucode.img (loop,7)/lib/firmware/intel-ucode.img (loop,7)/initramfs.img
}
francis0525 commented 3 years ago

I tried to run the command, but failed. And I found a bunch of error in boot error. I will upload the picture of both 20201219_181041 1 20201219_180231 1

sebanc commented 3 years ago

Those errors are harmless.

After opening crosh (CTRL+ALT+T, type "shell" first, then the command I provided)

francis0525 commented 3 years ago

I see. This is the log data you requested.

dmesg.txt

sebanc commented 3 years ago

It seems to be related to this kernel bug which has apparently never been fixed: https://bugzilla.kernel.org/show_bug.cgi?id=198645

The most viable solution seems to be to disable 80Ghz channel band on router:

I found that anyone use Intel Corporation Dual Band Wireless-AC 7260 will crash module with 802.11ac with 80Ghz channel ban. If disable 80Ghz channel band on router, it works fine with 20-40Ghz channel band.
francis0525 commented 3 years ago

What it 80Ghz? Do you mean 80Mhz?

francis0525 commented 3 years ago

This is my WiFi router setting. it is 2.4Ghz 40Mhz.

20201219_183511 1

sebanc commented 3 years ago

No idea, I just copied the kernel bug content, I don't know much about wireless specs.

What I would suggest, update to the latest "brunch-unstable" repo release.

Then try to change "/kernel" in your grub config with "/kernel-4.19" or "/kernel-5.10"

francis0525 commented 3 years ago

Okay, I will try