Intel 3165 M.2 wireless ,how to use at nano?

i download and extract,then i cp iwlwifi-*.ucode /lib/firmware
but when i restat the nano,i can’t see the wifi icon,only wired options…

my os inf:
Linux lb-desktop 4.9.140-tegra #1 SMP PREEMPT Wed Mar 13 00:32:22 PDT 2019 aarch64 aarch64 aarch64 GNU/Linux

please help me.
thanks

~$ lspci -v
00:01.0 PCI bridge: NVIDIA Corporation Device 0fae (rev a1) (prog-if 00 [Normal decode])
	Flags: bus master, fast devsel, latency 0, IRQ 84
	Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
	Memory behind bridge: 13000000-130fffff
	Capabilities: <access denied>
	Kernel driver in use: pcieport

00:02.0 PCI bridge: NVIDIA Corporation Device 0faf (rev a1) (prog-if 00 [Normal decode])
	Flags: bus master, fast devsel, latency 0, IRQ 84
	Bus: primary=00, secondary=02, subordinate=02, sec-latency=0
	I/O behind bridge: 00001000-00001fff
	Memory behind bridge: 13100000-131fffff
	Capabilities: <access denied>
	Kernel driver in use: pcieport

01:00.0 Network controller: Intel Corporation Wireless 3165 (rev ff) (prog-if ff)
	!!! Unknown header type 7f
	Kernel driver in use: iwlwifi
	Kernel modules: iwlwifi

02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 15)
	Subsystem: Realtek Semiconductor Co., Ltd. RTL8111/8168 PCI Express Gigabit Ethernet controller
	Flags: bus master, fast devsel, latency 0, IRQ 404
	I/O ports at 1000 
	Memory at 13104000 (64-bit, non-prefetchable) 
	Memory at 13100000 (64-bit, non-prefetchable) 
	Capabilities: <access denied>
	Kernel driver in use: r8168

lb@lb-desktop:~$  lspci | grep Network
01:00.0 Network controller: Intel Corporation Wireless 3165 (rev ff)
lb@lb-desktop:~$ dmesg | grep iwlwifi
[    7.332191] iwlwifi 0000:01:00.0: enabling device (0000 -> 0002)
[    7.492933] iwlwifi 0000:01:00.0: Direct firmware load for iwlwifi-7265D-26.ucode failed with error -2
[    7.506801] iwlwifi 0000:01:00.0: Falling back to user helper
[    7.720621] iwlwifi 0000:01:00.0: Direct firmware load for iwlwifi-7265D-25.ucode failed with error -2
[    7.732292] iwlwifi 0000:01:00.0: Falling back to user helper
[    7.744869] iwlwifi 0000:01:00.0: Direct firmware load for iwlwifi-7265D-24.ucode failed with error -2
[    7.756298] iwlwifi 0000:01:00.0: Falling back to user helper
[    7.765824] iwlwifi 0000:01:00.0: Direct firmware load for iwlwifi-7265D-23.ucode failed with error -2
[    7.777209] iwlwifi 0000:01:00.0: Falling back to user helper
[    7.815578] iwlwifi 0000:01:00.0: loaded firmware version 22.391740.0 op_mode iwlmvm
[    7.940583] iwlwifi 0000:01:00.0: Detected Intel(R) Dual Band Wireless AC 3165, REV=0xFFFFFFFF
[    7.942390] iwlwifi 0000:01:00.0: L1 Enabled - LTR Enabled
[    7.958049] WARNING: CPU: 1 PID: 3794 at /dvs/git/dirty/git-master_linux/kernel/kernel-4.9/drivers/net/wireless/intel/iwlwifi/pcie/trans.c:1860 iwl_trans_pcie_reclaim+0x236c/0x3bb0 [iwlwifi]
[    7.958062] Modules linked in: iwlmvm(+) mac80211 nvs iwlwifi cfg80211 binfmt_misc iptable_filter ip6table_filter ip6_tables br_netfilter arp_tables nvgpu bluedroid_pm ip_tables x_tables
[    7.958091] PC is at iwl_trans_pcie_reclaim+0x236c/0x3bb0 [iwlwifi]
[    7.958109] LR is at iwl_trans_pcie_reclaim+0x236c/0x3bb0 [iwlwifi]
[    7.958174] [<ffffff8001236bc4>] iwl_trans_pcie_reclaim+0x236c/0x3bb0 [iwlwifi]
[    7.958193] [<ffffff8001227760>] iwl_write_prph+0x38/0x80 [iwlwifi]
[    7.958212] [<ffffff80012350d8>] iwl_trans_pcie_reclaim+0x880/0x3bb0 [iwlwifi]
[    7.958231] [<ffffff8001238f9c>] iwl_trans_pcie_rf_kill+0xb94/0xe98 [iwlwifi]
[    7.958302] [<ffffff8001228ee8>] iwl_opmode_deregister+0xba0/0x1410 [iwlwifi]
[    7.958320] [<ffffff80012297cc>] iwl_opmode_register+0x74/0xf8 [iwlwifi]
[    7.989638] iwlwifi 0000:01:00.0: L1 Enabled - LTR Enabled
[    8.668932] iwlwifi 0000:01:00.0: Could not load the [0] uCode section
[    8.668950] iwlwifi 0000:01:00.0: Failed to start INIT ucode: -5
[   10.294352] iwlwifi 0000:01:00.0: Failed to run INIT ucode: -5
[   10.294366] iwlwifi 0000:01:00.0: L1 Enabled - LTR Enabled
lb@lb-desktop:~$ iwconfig
lo        no wireless extensions.

usb0      no wireless extensions.

l4tbr0    no wireless extensions.

dummy0    no wireless extensions.

eth0      no wireless extensions.

rndis0    no wireless extensions.

lb@lb-desktop:~$ modinfo iwlwifi
filename:       /lib/modules/4.9.140-tegra/kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
license:        GPL
author:         Copyright(c) 2003- 2015 Intel Corporation <linuxwifi@intel.com>
description:    Intel(R) Wireless WiFi driver for Linux
firmware:       iwlwifi-100-5.ucode
firmware:       iwlwifi-1000-5.ucode
firmware:       iwlwifi-135-6.ucode
firmware:       iwlwifi-105-6.ucode
firmware:       iwlwifi-2030-6.ucode
firmware:       iwlwifi-2000-6.ucode
firmware:       iwlwifi-5150-2.ucode
firmware:       iwlwifi-5000-5.ucode
firmware:       iwlwifi-6000g2b-6.ucode
firmware:       iwlwifi-6000g2a-6.ucode
firmware:       iwlwifi-6050-5.ucode
firmware:       iwlwifi-6000-6.ucode
firmware:       iwlwifi-7265D-26.ucode
firmware:       iwlwifi-7265-17.ucode
firmware:       iwlwifi-3168-26.ucode
firmware:       iwlwifi-3160-17.ucode
firmware:       iwlwifi-7260-17.ucode
firmware:       iwlwifi-8265-26.ucode
firmware:       iwlwifi-8000C-26.ucode
firmware:       iwlwifi-9000-pu-a0-lc-a0--26.ucode
firmware:       iwlwifi-9260-th-a0-jf-a0--26.ucode
firmware:       iwlwifi-9000-pu-a0-jf-a0--26.ucode
firmware:       iwlwifi-Qu-a0-jf-b0--26.ucode
alias:          pci:v00008086d00002720sv*sd00000A10bc*sc*i*
alias:          pci:v00008086d0000A370sv*sd00001030bc*sc*i*
alias:          pci:v00008086d00002526sv*sd00001030bc*sc*i*
alias:          pci:v00008086d000031DCsv*sd00000030bc*sc*i*
alias:          pci:v00008086d00004232sv*sd00001306bc*sc*i*
*
*
*
alias:          pci:v00008086d00004232sv*sd00001301bc*sc*i*
alias:          pci:v00008086d00004232sv*sd00001201bc*sc*i*
depends:        cfg80211
intree:         Y
vermagic:       4.9.140-tegra SMP preempt mod_unload modversions aarch64
parm:           swcrypto:using crypto in software (default 0 [hardware]) (int)
parm:           11n_disable:disable 11n functionality, bitmap: 1: full, 2: disable agg TX, 4: disable agg RX, 8 enable agg TX (uint)
parm:           amsdu_size:amsdu size 0: 12K for multi Rx queue devices, 4K for other devices 1:4K 2:8K 3:12K (default 0) (int)
parm:           fw_restart:restart firmware in case of error (default true) (bool)
parm:           antenna_coupling:specify antenna coupling in dB (default: 0 dB) (int)
parm:           nvm_file:NVM file name (charp)
parm:           d0i3_disable:disable d0i3 functionality (default: Y) (bool)
parm:           lar_disable:disable LAR functionality (default: N) (bool)
parm:           uapsd_disable:disable U-APSD functionality bitmap 1: BSS 2: P2P Client (default: 3) (uint)
parm:           bt_coex_active:enable wifi/bt co-exist (default: enable) (bool)
parm:           led_mode:0=system default, 1=On(RF On)/Off(RF Off), 2=blinking, 3=Off (default: 0) (int)
parm:           power_save:enable WiFi power management (default: disable) (bool)
parm:           power_level:default power save level (range from 1 - 5, default: 1) (int)
parm:           fw_monitor:firmware monitor - to debug FW (default: false - needs lots of memory) (bool)
parm:           d0i3_timeout:Timeout to D0i3 entry when idle (ms) (uint)
parm:           disable_11ac:Disable VHT capabilities (default: false) (bool)

It looks like the controller is detected and that kernel modules are loaded for it. Can you post the results of an ifconfig -a?

:~$ ifconfig -a
dummy0: flags=130<BROADCAST,NOARP>  mtu 1500
        ether ca:ab:8c:75:a6:b6  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.6.8  netmask 255.255.255.0  broadcast 192.168.6.255
        inet6 fe80::4a01:c055:321f:cb22  prefixlen 64  scopeid 0x20<link>
        ether 00:04:4b:e4:0b:16  txqueuelen 1000  (Ethernet)
        RX packets 17499  bytes 25330885 (25.3 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 2463  bytes 259323 (259.3 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 148  base 0xe000  

l4tbr0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 192.168.55.1  netmask 255.255.255.0  broadcast 192.168.55.255
        inet6 fe80::1  prefixlen 128  scopeid 0x20<link>
        inet6 fe80::70eb:17ff:fe4f:eba6  prefixlen 64  scopeid 0x20<link>
        ether 56:b4:54:41:80:2d  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 7  bytes 1285 (1.2 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1  (Local Loopback)
        RX packets 258  bytes 20760 (20.7 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 258  bytes 20760 (20.7 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

rndis0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ether 56:b4:54:41:80:2d  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

usb0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ether 56:b4:54:41:80:2f  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

I don’t see it listed. It looks like even though the module is loaded, at least partially, it isn’t working. You could see if it works on x86 Linux. If it does, it’s likely architecture specific code that is the problem. Otherwise it just is too new (old?) a card and you will have to either wait for updates or build you own working kernel modules.

Edit: I had a closer look.

Where are you downloading the firmware from?

3168 is not working too, one dude is trying hard to make 9260 working at least…so far no success on wifi card besides 8265…at all.

Hello everyone,
I met the same problem. I also tried installing intel 3165 on the Jetson TX2 but it failed. I saw a lot of pcie response decoding errors in tx2 and nano. I think there should be some problems on the pcie side in L4T r32.1.
Please see my post.
https://devtalk.nvidia.com/default/topic/1055070/jetson-tx2/failed-to-install-intel-3165ngw-in-jetson-tx2-dev-kit-with-l4t-r32-1/

Did anyone manage to get it working? I tried setting pcie aspm to “off” by adding it to the /boot/extlinux/extlinux.conf file, my bluetooth works but wifi doesn’t. Any tips? Should I turn off the pcie aspm through a different place?

I have the same problem. 3165 wifi is not working, but bluetooth is working, weird

1、My image is r32.4.2,want to use AC3165 for jetson nano

2、Install corresponding driver files downloaded from Linux* Support for Intel® Wireless Adapters

Reference:How to edit kernel's command line - #5 by linuxdev

3、Add ‘pcie_aspm=off’ to the end of ‘APPEND’ line in file “/boot/extlinux/extlinux.conf” for disabling ASPM

Reference:Supported NVMe SSD on Jetson Nao - #11 by yawei.yang

4、Reboot, the AC3165 works