Strange behaviour of iwd + iwlwifi force high temperature for device

Recently, i have noticed the high temperature 51-55C for my wifi device after system boot and it stay all time.

$ cat /sys/class/thermal/thermal_zone1/temp
55000

My system and router Xiaomi Mi Router AX1800 (802.11ax, MU-MIMO)

$ inxi -b
System:    Host: dulia Kernel: 5.15.2-2-MANJARO x86_64 bits: 64 Console: pty pts/0 Distro: Manjaro Linux
Machine:   Type: Desktop Mobo: Gigabyte model: B550 AORUS ELITE AX V2 serial: <superuser required>
           UEFI: American Megatrends LLC. v: F14e date: 10/14/2021
CPU:       Info: 6-Core AMD Ryzen 5 3500X [MCP] speed: 2111 MHz min/max: 2200/3600 MHz
Graphics:  Device-1: AMD Lexa PRO [Radeon 540/540X/550/550X / RX 540X/550/550X] driver: amdgpu v: kernel
           Display: server: X.org 1.21.1.1 driver: loaded: amdgpu,ati unloaded: modesetting tty: 169x44
           Message: Advanced graphics data unavailable in console. Try -G --display
Network:   Device-1: Intel Wi-Fi 6 AX200 driver: iwlwifi
Drives:    Local Storage: total: 930.87 GiB used: 522.05 GiB (56.1%)
Info:      Processes: 281 Uptime: 1h 13m Memory: 15.59 GiB used: 1.79 GiB (11.5%) Init: systemd Shell: Bash inxi: 3.3.09

I don’t have any network aggressive programs on autostart.
So, I am using iwd only to connect and configure my network. It connect to my WIFI during boot automatically as a service.

$ cat /etc/iwd/main.conf
[General]
EnableNetworkConfiguration=true

Well, strange thing happening then i restart iwd.service … temperature goes down slowly (during 10-15 sec) to 35C.
Right, then I run some speed test with browser, temperature can increase up to 45-55C and after goes back to 35C.

Here are some info after boot and service restart

  • after boot
$ sudo systemctl status iwd.service
[sudo] password for vkulikov:
● iwd.service - Wireless service
     Loaded: loaded (/usr/lib/systemd/system/iwd.service; enabled; vendor preset: disabled)
     Active: active (running) since Mon 2021-11-29 12:36:35 EET; 14s ago
   Main PID: 638 (iwd)
      Tasks: 1 (limit: 19063)
     Memory: 1.9M
        CPU: 23ms
     CGroup: /system.slice/iwd.service
             └─638 /usr/lib/iwd/iwd

Nov 29 12:36:35 dulia iwd[638]:                 VHT Capabilities:
Nov 29 12:36:35 dulia iwd[638]:                         160 Mhz operation
Nov 29 12:36:35 dulia iwd[638]:                         Short GI for 80Mhz
Nov 29 12:36:35 dulia iwd[638]:                         Short GI for 160 and 80 + 80 Mhz
Nov 29 12:36:35 dulia iwd[638]:                         Max RX MCS: 0-9 for NSS: 2
Nov 29 12:36:35 dulia iwd[638]:                         Max TX MCS: 0-9 for NSS: 2
Nov 29 12:36:35 dulia iwd[638]:         Ciphers: CCMP TKIP BIP
Nov 29 12:36:35 dulia iwd[638]:         Supported iftypes: ad-hoc station ap p2p-client p2p-go p2p-device
Nov 29 12:36:35 dulia iwd[638]: Unable to write accept_ra to /proc/sys/net/ipv6/conf/wlan0/accept_ra
Nov 29 12:36:35 dulia iwd[638]: Unable to write disable_ipv6 to /proc/sys/net/ipv6/conf/wlan0/disable_ipv6

$ iw wlan0 info
Interface wlan0
	ifindex 3
	wdev 0x2
	addr c8:e2:65:fa:00:8c
	ssid slon.wifi
	type managed
	wiphy 0
	channel 149 (5745 MHz), width: 40 MHz, center1: 5755 MHz
	txpower 22.00 dBm
	multicast TXQ:
		qsz-byt	qsz-pkt	flows	drops	marks	overlmt	hashcol	tx-bytes	tx-packets
		0	0	0	0	0	0	0	0		0

$ iw wlan0 link
Connected to 9c:9d:7e:45:67:5e (on wlan0)
	SSID: slon.wifi
	freq: 5745
	RX: 767869 bytes (1095 packets)
	TX: 193895 bytes (923 packets)
	signal: -45 dBm
	rx bitrate: 573.5 MBit/s 40MHz HE-MCS 11 HE-NSS 2 HE-GI 0 HE-DCM 0
	tx bitrate: 573.5 MBit/s 40MHz HE-MCS 11 HE-NSS 2 HE-GI 0 HE-DCM 0

	bss flags:	short-slot-time
	dtim period:	1
	beacon int:	100

$ iwctl station wlan0 show
                                 Station: wlan0
--------------------------------------------------------------------------------
  Settable  Property            Value
--------------------------------------------------------------------------------
            Scanning            no
            State               connected
            Connected network   slon.wifi
            IPv4 address        192.168.31.13
            ConnectedBss        9c:9d:7e:45:67:5e
            Frequency           5745
            Security            WPA2-Personal
            RSSI                -45                  dBm
            AverageRSSI         -44                  dBm
            RxMode              802.11ax
            RxMCS               11
            TxMode              802.11ax
            TxMCS               11
            TxBitrate           573500               Kbit/s
            RxBitrate           573500               Kbit/s
  • after iwd restart manually after boot (ipv6 disabled by kernel parameters in grub)
$ sudo systemctl status iwd.service
[sudo] password for vkulikov:
● iwd.service - Wireless service
     Loaded: loaded (/usr/lib/systemd/system/iwd.service; enabled; vendor preset: disabled)
     Active: active (running) since Mon 2021-11-29 11:29:23 EET; 1h 4min ago
   Main PID: 2039 (iwd)
      Tasks: 1 (limit: 19063)
     Memory: 552.0K
        CPU: 30ms
     CGroup: /system.slice/iwd.service
             └─2039 /usr/lib/iwd/iwd

Nov 29 11:29:23 dulia iwd[2039]:                 VHT Capabilities:
Nov 29 11:29:23 dulia iwd[2039]:                         160 Mhz operation
Nov 29 11:29:23 dulia iwd[2039]:                         Short GI for 80Mhz
Nov 29 11:29:23 dulia iwd[2039]:                         Short GI for 160 and 80 + 80 Mhz
Nov 29 11:29:23 dulia iwd[2039]:                         Max RX MCS: 0-9 for NSS: 2
Nov 29 11:29:23 dulia iwd[2039]:                         Max TX MCS: 0-9 for NSS: 2
Nov 29 11:29:23 dulia iwd[2039]:         Ciphers: CCMP TKIP BIP
Nov 29 11:29:23 dulia iwd[2039]:         Supported iftypes: ad-hoc station ap p2p-client p2p-go p2p-device
Nov 29 11:29:23 dulia iwd[2039]: Unable to write accept_ra to /proc/sys/net/ipv6/conf/wlan0/accept_ra
Nov 29 11:29:23 dulia iwd[2039]: Unable to write disable_ipv6 to /proc/sys/net/ipv6/conf/wlan0/disable_ipv6

$ iw wlan0 info
Interface wlan0
	ifindex 4
	wdev 0x4
	addr c8:e2:65:fa:00:8c
	ssid slon.wifi
	type managed
	wiphy 0
	channel 149 (5745 MHz), width: 40 MHz, center1: 5755 MHz
	txpower 22.00 dBm
	multicast TXQ:
		qsz-byt	qsz-pkt	flows	drops	marks	overlmt	hashcol	tx-bytes	tx-packets
		0	0	0	0	0	0	0	0		0

$ iw wlan0 link
Connected to 9c:9d:7e:45:67:5e (on wlan0)
	SSID: slon.wifi
	freq: 5745
	RX: 893425 bytes (2523 packets)
	TX: 319407 bytes (1864 packets)
	signal: -44 dBm
	rx bitrate: 573.5 MBit/s 40MHz HE-MCS 11 HE-NSS 2 HE-GI 0 HE-DCM 0
	tx bitrate: 573.5 MBit/s 40MHz HE-MCS 11 HE-NSS 2 HE-GI 0 HE-DCM 0

	bss flags:	short-slot-time
	dtim period:	1
	beacon int:	100

$ iwctl station wlan0 show
                                 Station: wlan0
--------------------------------------------------------------------------------
  Settable  Property            Value
--------------------------------------------------------------------------------
            Scanning            no
            State               connected
            Connected network   slon.wifi
            IPv4 address        192.168.31.13
            ConnectedBss        9c:9d:7e:45:67:5e
            Frequency           5745
            Security            WPA2-Personal
            RSSI                -45                  dBm
            AverageRSSI         -43                  dBm
            RxMode              802.11ax
            RxMCS               11
            TxMode              802.11ax
            TxMCS               11
            TxBitrate           573500               Kbit/s
            RxBitrate           573500               Kbit/s

netstat is same after boot and iwd restart

$ ss -atu
Netid          State           Recv-Q           Send-Q                           Local Address:Port                         Peer Address:Port           Process
udp            UNCONN          0                0                                127.0.0.53%lo:domain                            0.0.0.0:*
udp            UNCONN          0                0                          192.168.31.13%wlan0:bootpc                            0.0.0.0:*
udp            UNCONN          0                0                                      0.0.0.0:59344                             0.0.0.0:*
udp            UNCONN          0                0                                      0.0.0.0:27036                             0.0.0.0:*
udp            UNCONN          0                0                                      0.0.0.0:mdns                              0.0.0.0:*
udp            UNCONN          0                0                                      0.0.0.0:llmnr                             0.0.0.0:*
tcp            LISTEN          0                128                                  127.0.0.1:57343                             0.0.0.0:*
tcp            LISTEN          0                4096                                   0.0.0.0:llmnr                             0.0.0.0:*
tcp            LISTEN          0                128                                  127.0.0.1:27060                             0.0.0.0:*
tcp            LISTEN          0                4096                             127.0.0.53%lo:domain                            0.0.0.0:*
tcp            LISTEN          0                128                                    0.0.0.0:ssh                               0.0.0.0:*
tcp            LISTEN          0                128                                    0.0.0.0:27036                             0.0.0.0:*
tcp            ESTAB           0                0                                192.168.31.13:41457                      155.133.226.75:27029
tcp            ESTAB           0                0                                192.168.31.13:ssh                         192.168.31.10:50028
tcp            ESTAB           0                0                                192.168.31.13:34447                          2.21.89.24:https
tcp            ESTAB           0                0                                192.168.31.13:57351                          2.21.89.16:https

some connections are by Valve Steam (i have tried without it, same issue)

  • suspectios, i have noticed different Memory: size for iwd
    – system boot (1st time iwd start): Memory: 1.9M
    – service restart: Memory: 552.0K

any ideas? thanks!

some logs:

adding system logs:

wifi

$ journalctl -b0 --no-pager | grep wifi
Nov 29 12:36:26 dulia kernel: iwlwifi 0000:06:00.0: enabling device (0000 -> 0002)
Nov 29 12:36:26 dulia kernel: iwlwifi 0000:06:00.0: Direct firmware load for iwlwifi-cc-a0-66.ucode failed with error -2
Nov 29 12:36:26 dulia kernel: iwlwifi 0000:06:00.0: Direct firmware load for iwlwifi-cc-a0-65.ucode failed with error -2
Nov 29 12:36:26 dulia kernel: iwlwifi 0000:06:00.0: Direct firmware load for iwlwifi-cc-a0-64.ucode failed with error -2
Nov 29 12:36:26 dulia kernel: iwlwifi 0000:06:00.0: api flags index 2 larger than supported by driver
Nov 29 12:36:26 dulia kernel: iwlwifi 0000:06:00.0: TLV_FW_FSEQ_VERSION: FSEQ Version: 89.3.35.37
Nov 29 12:36:26 dulia kernel: iwlwifi 0000:06:00.0: loaded firmware version 63.c04f3485.0 cc-a0-63.ucode op_mode iwlmvm
Nov 29 12:36:26 dulia kernel: iwlwifi 0000:06:00.0: Detected Intel(R) Wi-Fi 6 AX200 160MHz, REV=0x340
Nov 29 12:36:27 dulia kernel: iwlwifi 0000:06:00.0: Detected RF HR B3, rfid=0x10a100
Nov 29 12:36:27 dulia kernel: iwlwifi 0000:06:00.0: base HW address: c8:e2:65:fa:00:8c

iwd

  • after boot
$ journalctl -b0 --no-pager | grep iwd
Nov 29 12:36:35 dulia iwd[638]: Wireless daemon version 1.19
Nov 29 12:36:35 dulia iwd[638]: Loaded configuration from /etc/iwd/main.conf
Nov 29 12:36:35 dulia iwd[638]: Wiphy: 0, Name: phy0
Nov 29 12:36:35 dulia iwd[638]:         Permanent Address: c8:e2:65:fa:00:8c
Nov 29 12:36:35 dulia iwd[638]:         2.4Ghz Band:
Nov 29 12:36:35 dulia iwd[638]:                 Bitrates (non-HT):
Nov 29 12:36:35 dulia iwd[638]:                          1.0 Mbps
Nov 29 12:36:35 dulia iwd[638]:                          2.0 Mbps
Nov 29 12:36:35 dulia iwd[638]:                          5.5 Mbps
Nov 29 12:36:35 dulia iwd[638]:                         11.0 Mbps
Nov 29 12:36:35 dulia iwd[638]:                          6.0 Mbps
Nov 29 12:36:35 dulia iwd[638]:                          9.0 Mbps
Nov 29 12:36:35 dulia iwd[638]:                         12.0 Mbps
Nov 29 12:36:35 dulia iwd[638]:                         18.0 Mbps
Nov 29 12:36:35 dulia iwd[638]:                         24.0 Mbps
Nov 29 12:36:35 dulia iwd[638]:                         36.0 Mbps
Nov 29 12:36:35 dulia iwd[638]:                         48.0 Mbps
Nov 29 12:36:35 dulia iwd[638]:                         54.0 Mbps
Nov 29 12:36:35 dulia iwd[638]:                 HT Capabilities:
Nov 29 12:36:35 dulia iwd[638]:                         HT40
Nov 29 12:36:35 dulia iwd[638]:                         Short GI for 20Mhz
Nov 29 12:36:35 dulia iwd[638]:                         Short GI for 40Mhz
Nov 29 12:36:35 dulia iwd[638]:                 HT RX MCS indexes:
Nov 29 12:36:35 dulia iwd[638]:                         0-15
Nov 29 12:36:35 dulia iwd[638]:         5Ghz Band:
Nov 29 12:36:35 dulia iwd[638]:                 Bitrates (non-HT):
Nov 29 12:36:35 dulia iwd[638]:                          6.0 Mbps
Nov 29 12:36:35 dulia iwd[638]:                          9.0 Mbps
Nov 29 12:36:35 dulia iwd[638]:                         12.0 Mbps
Nov 29 12:36:35 dulia iwd[638]:                         18.0 Mbps
Nov 29 12:36:35 dulia iwd[638]:                         24.0 Mbps
Nov 29 12:36:35 dulia iwd[638]:                         36.0 Mbps
Nov 29 12:36:35 dulia iwd[638]:                         48.0 Mbps
Nov 29 12:36:35 dulia iwd[638]:                         54.0 Mbps
Nov 29 12:36:35 dulia iwd[638]:                 HT Capabilities:
Nov 29 12:36:35 dulia iwd[638]:                         HT40
Nov 29 12:36:35 dulia iwd[638]:                         Short GI for 20Mhz
Nov 29 12:36:35 dulia iwd[638]:                         Short GI for 40Mhz
Nov 29 12:36:35 dulia iwd[638]:                 HT RX MCS indexes:
Nov 29 12:36:35 dulia iwd[638]:                         0-15
Nov 29 12:36:35 dulia iwd[638]:                 VHT Capabilities:
Nov 29 12:36:35 dulia iwd[638]:                         160 Mhz operation
Nov 29 12:36:35 dulia iwd[638]:                         Short GI for 80Mhz
Nov 29 12:36:35 dulia iwd[638]:                         Short GI for 160 and 80 + 80 Mhz
Nov 29 12:36:35 dulia iwd[638]:                         Max RX MCS: 0-9 for NSS: 2
Nov 29 12:36:35 dulia iwd[638]:                         Max TX MCS: 0-9 for NSS: 2
Nov 29 12:36:35 dulia iwd[638]:         Ciphers: CCMP TKIP BIP
Nov 29 12:36:35 dulia iwd[638]:         Supported iftypes: ad-hoc station ap p2p-client p2p-go p2p-device
Nov 29 12:36:35 dulia audit[1]: SERVICE_START pid=1 uid=0 auid=4294967295 ses=4294967295 subj==unconfined msg='unit=iwd comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
Nov 29 12:36:35 dulia iwd[638]: Unable to write accept_ra to /proc/sys/net/ipv6/conf/wlan0/accept_ra
Nov 29 12:36:35 dulia iwd[638]: Unable to write disable_ipv6 to /proc/sys/net/ipv6/conf/wlan0/disable_ipv6

after restart

Nov 29 12:40:31 dulia dbus-daemon[637]: [system] Activating via systemd: service name='org.freedesktop.home1' unit='dbus-org.freedesktop.home1.service' requested by ':1.48' (uid=0 pid=1780 comm="sudo systemctl restart iwd.service ")
Nov 29 12:40:31 dulia sudo[1780]: vkulikov : TTY=pts/0 ; PWD=/home/vkulikov ; USER=root ; COMMAND=/usr/bin/systemctl restart iwd.service
Nov 29 12:40:31 dulia iwd[638]: Terminate
Nov 29 12:40:31 dulia iwd[638]: Removing scan context for wdev 2
Nov 29 12:40:32 dulia iwd[638]: Removing scan context for wdev 3
Nov 29 12:40:32 dulia iwd[638]: D-Bus disconnected, quitting...
Nov 29 12:40:32 dulia systemd[1]: iwd.service: Deactivated successfully.
Nov 29 12:40:32 dulia audit[1]: SERVICE_STOP pid=1 uid=0 auid=4294967295 ses=4294967295 subj==unconfined msg='unit=iwd comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
Nov 29 12:40:32 dulia kernel: audit: type=1131 audit(1638182432.120:89): pid=1 uid=0 auid=4294967295 ses=4294967295 subj==unconfined msg='unit=iwd comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
Nov 29 12:40:32 dulia iwd[1793]: Wireless daemon version 1.19
Nov 29 12:40:32 dulia iwd[1793]: Loaded configuration from /etc/iwd/main.conf
Nov 29 12:40:32 dulia audit[1]: SERVICE_START pid=1 uid=0 auid=4294967295 ses=4294967295 subj==unconfined msg='unit=iwd comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
Nov 29 12:40:32 dulia kernel: audit: type=1130 audit(1638182432.140:91): pid=1 uid=0 auid=4294967295 ses=4294967295 subj==unconfined msg='unit=iwd comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
Nov 29 12:40:32 dulia iwd[1793]: Wiphy: 0, Name: phy0
Nov 29 12:40:32 dulia iwd[1793]:         Permanent Address: c8:e2:65:fa:00:8c
Nov 29 12:40:32 dulia iwd[1793]:         2.4Ghz Band:
Nov 29 12:40:32 dulia iwd[1793]:                 Bitrates (non-HT):
Nov 29 12:40:32 dulia iwd[1793]:                          1.0 Mbps
Nov 29 12:40:32 dulia iwd[1793]:                          2.0 Mbps
Nov 29 12:40:32 dulia iwd[1793]:                          5.5 Mbps
Nov 29 12:40:32 dulia iwd[1793]:                         11.0 Mbps
Nov 29 12:40:32 dulia iwd[1793]:                          6.0 Mbps
Nov 29 12:40:32 dulia iwd[1793]:                          9.0 Mbps
Nov 29 12:40:32 dulia iwd[1793]:                         12.0 Mbps
Nov 29 12:40:32 dulia iwd[1793]:                         18.0 Mbps
Nov 29 12:40:32 dulia iwd[1793]:                         24.0 Mbps
Nov 29 12:40:32 dulia iwd[1793]:                         36.0 Mbps
Nov 29 12:40:32 dulia iwd[1793]:                         48.0 Mbps
Nov 29 12:40:32 dulia iwd[1793]:                         54.0 Mbps
Nov 29 12:40:32 dulia iwd[1793]:                 HT Capabilities:
Nov 29 12:40:32 dulia iwd[1793]:                         HT40
Nov 29 12:40:32 dulia iwd[1793]:                         Short GI for 20Mhz
Nov 29 12:40:32 dulia iwd[1793]:                         Short GI for 40Mhz
Nov 29 12:40:32 dulia iwd[1793]:                 HT RX MCS indexes:
Nov 29 12:40:32 dulia iwd[1793]:                         0-15
Nov 29 12:40:32 dulia iwd[1793]:         5Ghz Band:
Nov 29 12:40:32 dulia iwd[1793]:                 Bitrates (non-HT):
Nov 29 12:40:32 dulia iwd[1793]:                          6.0 Mbps
Nov 29 12:40:32 dulia iwd[1793]:                          9.0 Mbps
Nov 29 12:40:32 dulia iwd[1793]:                         12.0 Mbps
Nov 29 12:40:32 dulia iwd[1793]:                         18.0 Mbps
Nov 29 12:40:32 dulia iwd[1793]:                         24.0 Mbps
Nov 29 12:40:32 dulia iwd[1793]:                         36.0 Mbps
Nov 29 12:40:32 dulia iwd[1793]:                         48.0 Mbps
Nov 29 12:40:32 dulia iwd[1793]:                         54.0 Mbps
Nov 29 12:40:32 dulia iwd[1793]:                 HT Capabilities:
Nov 29 12:40:32 dulia iwd[1793]:                         HT40
Nov 29 12:40:32 dulia iwd[1793]:                         Short GI for 20Mhz
Nov 29 12:40:32 dulia iwd[1793]:                         Short GI for 40Mhz
Nov 29 12:40:32 dulia iwd[1793]:                 HT RX MCS indexes:
Nov 29 12:40:32 dulia iwd[1793]:                         0-15
Nov 29 12:40:32 dulia iwd[1793]:                 VHT Capabilities:
Nov 29 12:40:32 dulia iwd[1793]:                         160 Mhz operation
Nov 29 12:40:32 dulia iwd[1793]:                         Short GI for 80Mhz
Nov 29 12:40:32 dulia iwd[1793]:                         Short GI for 160 and 80 + 80 Mhz
Nov 29 12:40:32 dulia iwd[1793]:                         Max RX MCS: 0-9 for NSS: 2
Nov 29 12:40:32 dulia iwd[1793]:                         Max TX MCS: 0-9 for NSS: 2
Nov 29 12:40:32 dulia iwd[1793]:         Ciphers: CCMP TKIP BIP
Nov 29 12:40:32 dulia iwd[1793]:         Supported iftypes: ad-hoc station ap p2p-client p2p-go p2p-device
Nov 29 12:40:32 dulia iwd[1793]: Unable to write accept_ra to /proc/sys/net/ipv6/conf/wlan0/accept_ra
Nov 29 12:40:32 dulia iwd[1793]: Unable to write disable_ipv6 to /proc/sys/net/ipv6/conf/wlan0/disable_ipv6

There seems to be no real difference in your logs.

Without knowing at all … I might try some things like the bt_coex option for iwlwifi.
Please see just about everything in this section:
https://wiki.archlinux.org/title/Network_configuration/Wireless#iwlwifi