Intel 8265 WIFI does not enable with Jetpack 4.4 on Xavier NX

I recently installed Jetpack 4.4 from a Jetson Xavier NX SOM with a B01 Nano Carrier and everything appears except the wifi does not want to enable, the bluetooth appears to be enabled on the same card. The driver appears to load but I am unable to enable the radio on the Intel 8265 (This previously worked on the a Jetson Nano running on an A01 carrier).

cat /etc/nv_tegra_release

R32 (release), REVISION: 4.2, GCID: 20074772, BOARD: t186ref, EABI: aarch64, DATE: Thu Apr 9 01:26:40 UTC 2020

$ dmesg|grep iwlwifi
[ 6.184937] iwlwifi 0005:01:00.0: enabling device (0000 → 0002)
[ 6.197543] iwlwifi 0005:01:00.0: Direct firmware load for iwlwifi-8265-26.ucode failed with error -2
[ 6.197797] iwlwifi 0005:01:00.0: Falling back to user helper
[ 9.686449] iwlwifi 0005:01:00.0: Direct firmware load for iwlwifi-8265-25.ucode failed with error -2
[ 9.686657] iwlwifi 0005:01:00.0: Falling back to user helper
[ 10.443593] iwlwifi 0005:01:00.0: Direct firmware load for iwlwifi-8265-24.ucode failed with error -2
[ 10.443789] iwlwifi 0005:01:00.0: Falling back to user helper
[ 10.509974] iwlwifi 0005:01:00.0: Direct firmware load for iwlwifi-8265-23.ucode failed with error -2
[ 10.510167] iwlwifi 0005:01:00.0: Falling back to user helper
[ 10.524498] iwlwifi 0005:01:00.0: loaded firmware version 22.391740.0 op_mode iwlmvm
[ 10.569204] iwlwifi 0005:01:00.0: Detected Intel(R) Dual Band Wireless AC 8265, REV=0x230
[ 10.576547] iwlwifi 0005:01:00.0: L1 Disabled - LTR Enabled
[ 10.579501] iwlwifi 0005:01:00.0: L1 Disabled - LTR Enabled
[ 10.634885] ieee80211 phy0: Selected rate control algorithm ‘iwl-mvm-rs’
[ 10.635779] thermal thermal_zone6: Registering thermal zone thermal_zone6 for type iwlwifi

$ dmesg|grep iwlwifi
ID TYPE DEVICE SOFT HARD
0 bluetooth hci0 unblocked unblocked
1 wlan phy0 unblocked blocked

1 Like

Hi zanyfool,

I found this error too, and the /var/log/syslog shows rfkill blocked the wlan0, but I haven’t found solution now.

/var/log/syslog

nx kernel: [    7.152622] iwlwifi 0004:01:00.0: Detected Intel(R) Dual Band Wireless AC 8265, REV=0x230
nx kernel: [    7.156735] iwlwifi 0004:01:00.0: L1 Disabled - LTR Enabled
nx kernel: [    7.157490] iwlwifi 0004:01:00.0: L1 Disabled - LTR Enabled
nx bluetoothd[6080]: src/rfkill.c:rfkill_event() RFKILL event idx 1 type 1 op 0 soft 0 hard 1
nx kernel: [    7.211363] ieee80211 phy0: Selected rate control algorithm 'iwl-mvm-rs'
nx kernel: [    7.212333] thermal thermal_zone6: failed to read out thermal zone (-5)
nx kernel: [    7.212497] thermal thermal_zone6: Registering thermal zone thermal_zone6 for type iwlwifi
nx NetworkManager[4492]: <info>  [1588221565.3954] wifi-nl80211: (wlan0): using nl80211 for WiFi device control
nx NetworkManager[4492]: <info>  [1588221565.3967] device (wlan0): driver supports Access Point (AP) mode
nx systemd-udevd[6168]: link_config: autonegotiation is unset or enabled, the speed and duplex are not writable.
nx NetworkManager[4492]: <info>  [1588221565.4095] manager: (wlan0): new 802.11 WiFi device (/org/freedesktop/NetworkManager/Devices/7)
nx NetworkManager[4492]: <info>  [1588221565.4155] rfkill1: found WiFi radio killswitch (at /sys/devices/14160000.pcie/pci0004:00/0004:00:00.0/0004:01:00.0/ieee80211/phy0/rfkill1) (driver iwlwifi)
nx NetworkManager[4492]: <info>  [1588221565.4170] manager: rfkill: WiFi now disabled by radio killswitch
nx NetworkManager[4492]: <info>  [1588221565.4271] supplicant: wpa_supplicant running
nx NetworkManager[4492]: <info>  [1588221565.4529] devices added (path: /sys/devices/14160000.pcie/pci0004:00/0004:00:00.0/0004:01:00.0/net/wlan0, iface: wlan0)
nx NetworkManager[4492]: <info>  [1588221565.4530] device added (path: /sys/devices/14160000.pcie/pci0004:00/0004:00:00.0/0004:01:00.0/net/wlan0, iface: wlan0): no ifupdown configuration found.
nx NetworkManager[4492]: <info>  [1588221565.4537] device (wlan0): state change: unmanaged -> unavailable (reason 'managed', sys-iface-state: 'external')
nx kernel: [    7.276007] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready

nvidia@nx:/usr/sbin$ rfkill list
0: hci0: Bluetooth
Soft blocked: no
Hard blocked: no
3: phy2: Wireless LAN
Soft blocked: no
Hard blocked: yes

This issue is duplicated with this one. We are still checking.

Could you guys also share your full dmesg?

Hi WayneWWW,

I have uploaded Xaveir NX with Intel 8265 WIFI/BT module dmesg log.

nx.intel8265.wifi.failed.0504.log (62.4 KB)

Thanks for sharing. I can confirm it is duplicated with the link I posted.

Will update once we find the cause.

Please try this patch

diff --git a/common/tegra194-fixed-regulator-p3668.dtsi b/common/tegra194-fixed-regulator-p3668.dtsi
index 6fb7fe17718d..747973e05485 100644
--- a/common/tegra194-fixed-regulator-p3668.dtsi
+++ b/common/tegra194-fixed-regulator-p3668.dtsi
@@ -51,7 +51,7 @@
                        regulator-min-microvolt = <5000000>;
                        regulator-max-microvolt = <5000000>;
-                       gpio = <&tegra_aon_gpio TEGRA194_AON_GPIO(CC, 2) GPIO_ACTIVE_HIGH>;
+                       gpio = <&tegra_aon_gpio TEGRA194_AON_GPIO(CC, 2) GPIO_ACTIVE_LOW>;
-                       enable-active-high;
+                       regulator-boot-on;
                };
        };
};
diff --git a/common/tegra194-p3668-common.dtsi b/common/tegra194-p3668-common.dtsi
index cf1195d2ea72..d4824d44d84e 100644
--- a/common/tegra194-p3668-common.dtsi
+++ b/common/tegra194-p3668-common.dtsi
@@ -133,7 +133,6 @@
                        };
                        usb2-2 {
                                mode = "host";
-                               vbus-supply = <&p3509_vdd_usb2_5v>;
                                status = "okay";
                        };
                        usb3-2 {

The patch didn’t work for me. It is possible I didn’t apply it correctly.

I did try the following and was able to enable the wifi.

I modified (1) removed from common/tegra194-fixed-regulator-p3668.dtsi:
gpio = <&tegra_aon_gpio TEGRA194_AON_GPIO(CC, 2) GPIO_ACTIVE_LOW>;

from:
common/tegra194-fixed-regulator-p3668.dtsi

And (2) modified:
hardware/nvidia/platform/t19x/common/kernel-dts/t19x-common-platforms to replace wifi-enable with:

  gpio@c2f0000 {
            wifi-disable {
                    gpio-hog;
                    output-low;
                    gpios = <TEGRA194_AON_GPIO(CC, 2) 0>;
                    label = "wifi-disable";
                    status = "okay";
            };
    };

After these changes, the wifi card was enabled at boot.

Hi zanyfool,

I don’t think you need to remove the original wifi-enable pin. As you can see, they are different gpio pins.

Also, could you try this patch too?

diff --git a/common/tegra194-fixed-regulator-p3668.dtsi b/common/tegra194-fixed-regulator-p3668.dtsi
index 6fb7fe17718d..1a9ae738ac3e 100644
--- a/common/tegra194-fixed-regulator-p3668.dtsi
+++ b/common/tegra194-fixed-regulator-p3668.dtsi
@@ -51,7 +51,8 @@
                        regulator-min-microvolt = <5000000>;
                        regulator-max-microvolt = <5000000>;
-                       gpio = <&tegra_aon_gpio TEGRA194_AON_GPIO(CC, 2) GPIO_ACTIVE_HIGH>;
+                       gpio = <&tegra_aon_gpio TEGRA194_AON_GPIO(CC, 2) GPIO_ACTIVE_LOW>;
-                       enable-active-high;
+                       regulator-boot-on;
+                       enable-at-boot;
                };
        };
};
diff --git a/common/tegra194-p3668-common.dtsi b/common/tegra194-p3668-common.dtsi
index cf1195d2ea72..d4824d44d84e 100644
--- a/common/tegra194-p3668-common.dtsi
+++ b/common/tegra194-p3668-common.dtsi
@@ -133,7 +133,6 @@
                        };
                        usb2-2 {
                                mode = "host";
-                               vbus-supply = <&p3509_vdd_usb2_5v>;
                                status = "okay";
                        };
                        usb3-2 {

Hi WayneWWW,

I have tried your last patch, it doesn’t work. I modified as below and Intel8265 works fine.

--- a/l4t-r32.4.2.src/hardware/nvidia/platform/t19x/jakku/kernel-dts/common/tegra194-fixed-regulator-p3668.dtsi
+++ b/l4t-r32.4.2.src/hardware/nvidia/platform/t19x/jakku/kernel-dts/common/tegra194-fixed-regulator-p3668.dtsi
@@ -50,8 +50,25 @@
                    regulator-name = "vdd-usb2-5v";
                    regulator-min-microvolt = <5000000>;
                    regulator-max-microvolt = <5000000>;
-                   gpio = <&tegra_aon_gpio TEGRA194_AON_GPIO(CC, 2) GPIO_ACTIVE_HIGH>;
-                   enable-active-high;
+                   gpio = <&tegra_aon_gpio TEGRA194_AON_GPIO(CC, 2) GPIO_ACTIVE_LOW>;
+                   enable-active-low;     
            };

--- a/l4t-r32.4.2.src/hardware/nvidia/platform/t19x/jakku/kernel-dts/common/tegra194-p3668-common.dtsi
+++ b/l4t-r32.4.2.src/hardware/nvidia/platform/t19x/jakku/kernel-dts/common/tegra194-p3668-common.dtsi
@@ -296,6 +334,13 @@
                    label = "pex_refclk_sel_high";
                    status = "disabled";
            };
+          wifi-disable {
+              gpio-hog;
+               output-low;
+               gpios = <TEGRA194_AON_GPIO(CC, 2) 0>;
+               label = "wifi-disable";
+               status = "okay";
+          };

Hi Ciya.Jiang,

Is it necessary to set below part? I think the second part you’ve done in tegra194-p3668-common.dtsi should work.
Could you help verify?

>--- a/l4t-r32.4.2.src/hardware/nvidia/platform/t19x/jakku/kernel-dts/common/tegra194-fixed-regulator-p3668.dtsi
+++ b/l4t-r32.4.2.src/hardware/nvidia/platform/t19x/jakku/kernel-dts/common/tegra194-fixed-regulator-p3668.dtsi
@@ -50,8 +50,25 @@
                    regulator-name = "vdd-usb2-5v";
                    regulator-min-microvolt = <5000000>;
                    regulator-max-microvolt = <5000000>;
-                   gpio = <&tegra_aon_gpio TEGRA194_AON_GPIO(CC, 2) GPIO_ACTIVE_HIGH>;
-                   enable-active-high;
+                   gpio = <&tegra_aon_gpio TEGRA194_AON_GPIO(CC, 2) GPIO_ACTIVE_LOW>;
+                   enable-active-low;     
            };   **This part may not needed**

Hi WayneWWW,

This part is needed, but “enable-active-low;” is not needed.

--- a/l4t-r32.4.2.src/hardware/nvidia/platform/t19x/jakku/kernel-dts/common/tegra194-fixed-regulator-p3668.dtsi
+++ b/l4t-r32.4.2.src/hardware/nvidia/platform/t19x/jakku/kernel-dts/common/tegra194-fixed-regulator-p3668.dtsi
@@ -50,8 +50,25 @@
                regulator-name = "vdd-usb2-5v";
                regulator-min-microvolt = <5000000>;
                regulator-max-microvolt = <5000000>;
-                   gpio = <&tegra_aon_gpio TEGRA194_AON_GPIO(CC, 2) GPIO_ACTIVE_HIGH>;
-                   enable-active-high; 
+                   gpio = <&tegra_aon_gpio TEGRA194_AON_GPIO(CC, 2) GPIO_ACTIVE_LOW>;

        };   **This part must needed**

Hi Ciya.Jiang,

It seems

gpio = <&tegra_aon_gpio TEGRA194_AON_GPIO(CC, 2) GPIO_ACTIVE_LOW>;

and

gpios = <TEGRA194_AON_GPIO(CC, 2) 0>;

are a conflict. Because the “0” in the second case is set it back to GPIO_ACTIVE_HIGH again.

Anyway, I will check it.

At least I can confirm the solution works . I made the patch with both parts (and with enable-active-low;) and it works fine for me . Thank you so much for the solutions. you made my day. :)

1 Like

Hi,
Also want to ask if anyone has bluetooth issue here after apply the patch above?