Solving Issues with the Wifi not being Detected Under Linux

On BeeLink T4 Mini devices that have a BIOS with version lower than at least v2.18, Linux will fail to detect the Intel Wifi device on boot and will instead report something along the lines of Unable to change power state from D3cold to D0, device inaccessible regarding the iwlwifi driver. The first clue is that if the kernel is called with acpi=off there are chances that the wifi device will be recognized such that the problem can be traced to the ACPI tables within the BIOS of the T4 Mini.

The only solution is to upgrade the BeeLink T4 Mini BIOS. The following upload contains a T4 Mini BIOS dump at version v2.18.1263 and it should be flashed to the BIOS of the BeeLink device using the bundled tools (either the GUI AFUWINGUIx64.exe or the command line tool AFUWINx64.exe, because they will both achieve the same purpose):

Perhaps the easiest way to update the BIOS is to create a WinPE bootable image, or just use a Windows 10 bootable UEFI installation medium to boot to the command-line prompt and then flash the BIOS. With the BIOS flashed, booting back into Linux will allow iwlwifi to pick up the wireless device and set up an interface.

Solving Issues with Bugged Hardware or Firmware

One some machines, the following messages will be printed indicating that the PC was unable to power up the device.

pci 0000:02:00.0: not ready 1023ms after resume; giving up
pci 0000:02:00.0: Unable to change power state from D3cold to D0, device inaccessible
iwlwifi 0000:02:00.0: Unable to change power state from D3cold to D0, device inaccessible
iwlwifi 0000:02:00.0: HW_REV=0xFFFFFFFF, PCI issues?
iwlwifi: probe of 0000:02:00.0 failed with error -5

and the issue can sometimes be traced to power management for the PCI bridge that tends to be problematic on BeeLink and other mini-PCs. The issue can be solve by adding:

pcie_port_pm=off

to the boot command line, for example, by editing /etc/default/grub and then inserting the configuration within the GRUB_CMDLINE_LINUX_DEFAULT line.

Enabling i915 HuC and GuC

The Intel graphics chipset within the Beelink is an "Intel Corporation HD Graphics 500 (rev 0b)" recognized by the i915 module such that HuC and GuC can be enabled on the chip in order to achieve a better performance. There are many ways to do this, but ideally, the initrd image is updated such that the module is loaded on early boot:

echo "i915 enable_guc=3" >>/etc/initramfs-tools/modules

after which the image is recreated using the command:

update-initramfs -u

followed by updating grub:

update-grub

After a reboot, the status of HuC and GuC can be checked via the commands:

cat /sys/kernel/debug/dri/0/gt/uc/guc_info
cat /sys/kernel/debug/dri/0/gt/uc/huc_info

that would state whether HuC or GuC are running by reading the status field.


fuss/hardware/beelink/t4_mini.txt · Last modified: 2024/09/29 13:44 by office

Access website using Tor Access website using i2p Wizardry and Steamworks PGP Key


For the contact, copyright, license, warranty and privacy terms for the usage of this website please see the contact, license, privacy, copyright.