Enable the Intel AC-8260 module

Hi Community member,

Now we are going to use the external Wi-Fi module(Intel AC-8260 M.2 key module) instead of internal Wi-Fi module on Development kit. But I could not work new wifi module. Could anyone provide advise to us?
Here is the way which I have done.

  1. Edit the ODMDATA value form 0x1090000 to 0x90000 on 2771-0000.conf.common file.

  2. Run the following command.
    sudo ./flash -r -k kernel-dtbs jetson-tx2 mmcblk0p1

  3. Boot the Jetson TX2 and get the kernel

  4. Change the kernel config.
    Enabled(Embeded) the “Generic IEEE 802.11 Networking Stack”
    Enabled(Embeded) the “Intel Wireless WiFi Next Gen AGN -Wireless-N/Advanced-N/Ultimate-N(iwlwifi)”

  5. Compile the kernel and copy the Image file to /boot directory on jetson TX2.

  6. Get the firmware for AC-9260 via “apt-get install linux-firmware”

  7. Reboot the Jetson TX2.

If you have any question, please let me know.
Best regards.
Kaka

Kaka_m,

If your device is detected by M.2 key, it should be listed in lspci (it is pcie based, right?).

Also, please share your full dmesg with us. Thanks.

Hi

Thank you for your response.
I could be recognized the Wi-Fi on M.2 key on development kit by following method.
1.Edit the ODMDATA value form 0x1090000 to 0x90000 on 2771-0000.conf.common file.
2.Flash the standard Jetpack 3.2.1 by command.
sudo ./flash jetson-tx2 mmcblk0p1

So, it seems that it could program the ODMDATA at first jetpack flashing but it could not update the ODMDATA after once flashing the jetpack.
Do you know the way to update the ODMDATA after flashing the jetpack?

Also, developmentkit can recognized this module by lspci but it could not be enabled the wifi even though used the kernel which enabled the Intel wifi like my previous post.

Best regards.
Kaka

Kaka_m,

“So, it seems that it could program the ODMDATA at first jetpack flashing but it could not update the ODMDATA after once flashing the jetpack.”

Actually, I am not sure what is this statement talking about.

It is necessary to reflash device if you want to update odmdata.

Hi

I apologize for your confusion. Now current status is that our development board could be recognized the wifi module with using the lspci command by changing the programming method. Here is the way to do on our side.

Successes Process

  1. Edit the ODMDATA value form 0x1090000 to 0x90000 on 2771-0000.conf.common file.
  2. Run the command of “sudo ./flash jetson-tx2 mmcblk0p1”

Failed Process

  1. Flash the jetpack by intell package.
  2. Edit the ODMDATA value form 0x1090000 to 0x90000 on 2771-0000.conf.common file.
  3. Run the command of “sudo ./flash -r -k kernel-dtbs jetson-tx2 mmcblk0p1”
    Note: At this time, ODMDATA was not updated.

So, would you please teach me the way to update the ODMDATA after installing the jetpack?
I have already known that we need to flash the device in order to update ODMDATA.

Also our development was recognized this module, but it cannot use the wifi module.
Would you please give me advice?

If you have any questions, please let me know.
Best regards.
Kaka

Kaka_m,

ODMdata is not part of DTB so “-k kernel-dtbs” is not needed when updating.

Is there any driver working with your device? Are you sure this driver is existing in our kernel?

Hi
Thank you for your response. I got it. If we update the ODMDATA, we should use the “./flash -r jetson-tx2 mmcblk0p1”.

Yes, I got it by using the “apt-get install linux-firmware” and found the wifi dirver named as “iwlwifi-9260-th-b0-jf-b0-3x.ucode” at “/lib/firmware” directory.

Best regards.
Kaka

Kaka_m,

That is a firmware but not a kernel module/driver. Take our native wifi for example, command “lsmod” would show brcm driver module and /lib/firmare directory also has another firmware for brcm phy.

Please make sure you’ve installed the driver.

Hi

Thank you for your response.
Now I confirm the driver for AC-9260, it seems that the iwlwifi driver is old because there is not contains the firmware for AC-9260. Here is the log file when called the modinfo iwlwifi.

filename: /lib/modules/4.4.38/kernel/drivers/net/wireless/iwlwifi/iwlwifi.ko
license: GPL
author: Copyright(c) 2003- 2015 Intel Corporation ilw@linux.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-5.ucode
firmware: iwlwifi-6050-5.ucode
firmware: iwlwifi-6000-4.ucode
alias: pci:v00008086d00000892svsd00000462bcsci
alias: pci:v00008086d00000893svsd00000262bcsci
alias: pci:v00008086d00000892svsd00000062bcsci
alias: pci:v00008086d00000894svsd00000822bcsci
alias: pci:v00008086d00000894svsd00000422bcsci
alias: pci:v00008086d00000895svsd00000222bcsci
alias: pci:v00008086d00000894svsd00000022bcsci
alias: pci:v00008086d0000088Fsvsd00005260bcsci
alias: pci:v00008086d0000088Esvsd00004860bcsci
alias: pci:v00008086d0000088Esvsd0000446Abcsci
alias: pci:v00008086d0000088Esvsd00004460bcsci
alias: pci:v00008086d0000088Fsvsd0000426Abcsci
alias: pci:v00008086d0000088Fsvsd00004260bcsci
alias: pci:v00008086d0000088Esvsd0000406Abcsci
alias: pci:v00008086d0000088Esvsd00004060bcsci
alias: pci:v00008086d00000887svsd00004462bcsci
alias: pci:v00008086d00000888svsd00004262bcsci
alias: pci:v00008086d00000887svsd00004062bcsci
alias: pci:v00008086d00000890svsd00004822bcsci
alias: pci:v00008086d00000890svsd00004422bcsci
alias: pci:v00008086d00000891svsd00004222bcsci
alias: pci:v00008086d00000890svsd00004022bcsci
alias: pci:v00008086d00000896svsd00005027bcsci
alias: pci:v00008086d00000896svsd00005025bcsci
alias: pci:v00008086d00000897svsd00005017bcsci
alias: pci:v00008086d00000897svsd00005015bcsci
alias: pci:v00008086d00000896svsd00005007bcsci
alias: pci:v00008086d00000896svsd00005005bcsci
alias: pci:v00008086d000008AEsvsd00001027bcsci
alias: pci:v00008086d000008AEsvsd00001025bcsci
alias: pci:v00008086d000008AFsvsd00001017bcsci
alias: pci:v00008086d000008AFsvsd00001015bcsci
alias: pci:v00008086d000008AEsvsd00001007bcsci
alias: pci:v00008086d000008AEsvsd00001005bcsci
alias: pci:v00008086d00000084svsd00001316bcsci
alias: pci:v00008086d00000084svsd00001216bcsci
alias: pci:v00008086d00000083svsd00001326bcsci
alias: pci:v00008086d00000083svsd00001226bcsci
alias: pci:v00008086d00000083svsd00001306bcsci
alias: pci:v00008086d00000083svsd00001206bcsci
alias: pci:v00008086d00000084svsd00001315bcsci
alias: pci:v00008086d00000084svsd00001215bcsci
alias: pci:v00008086d00000083svsd00001325bcsci
alias: pci:v00008086d00000083svsd00001225bcsci
alias: pci:v00008086d00000083svsd00001305bcsci
alias: pci:v00008086d00000083svsd00001205bcsci
alias: pci:v00008086d00000886svsd00001317bcsci
alias: pci:v00008086d00000886svsd00001315bcsci
alias: pci:v00008086d00000885svsd00001327bcsci
alias: pci:v00008086d00000885svsd00001325bcsci
alias: pci:v00008086d00000885svsd00001307bcsci
alias: pci:v00008086d00000885svsd00001305bcsci
alias: pci:v00008086d00000089svsd00001316bcsci
alias: pci:v00008086d00000089svsd00001311bcsci
alias: pci:v00008086d00000087svsd00001326bcsci
alias: pci:v00008086d00000087svsd00001321bcsci
alias: pci:v00008086d00000087svsd00001306bcsci
alias: pci:v00008086d00000087svsd00001301bcsci
alias: pci:v00008086d00000091svsd00005226bcsci
alias: pci:v00008086d00000091svsd00005225bcsci
alias: pci:v00008086d00000091svsd00005221bcsci
alias: pci:v00008086d00000091svsd00005207bcsci
alias: pci:v00008086d00000091svsd00005206bcsci
alias: pci:v00008086d00000091svsd00005205bcsci
alias: pci:v00008086d00000091svsd00005201bcsci
alias: pci:v00008086d00000090svsd00005216bcsci
alias: pci:v00008086d00000090svsd00005215bcsci
alias: pci:v00008086d00000090svsd00005211bcsci
alias: pci:v00008086d0000008Bsvsd00005317bcsci
alias: pci:v00008086d0000008Bsvsd00005315bcsci
alias: pci:v00008086d0000008Asvsd00005327bcsci
alias: pci:v00008086d0000008Asvsd00005325bcsci
alias: pci:v00008086d0000008Asvsd00005307bcsci
alias: pci:v00008086d0000008Asvsd00005305bcsci
alias: pci:v00008086d00000082svsd00001305bcsci
alias: pci:v00008086d00000082svsd00001304bcsci
alias: pci:v00008086d00000082svsd00004820bcsci
alias: pci:v00008086d00000085svsd0000C228bcsci
alias: pci:v00008086d00000085svsd0000C220bcsci
alias: pci:v00008086d00000082svsd0000C020bcsci
alias: pci:v00008086d00000085svsd00001316bcsci
alias: pci:v00008086d00000085svsd00001318bcsci
alias: pci:v00008086d00000085svsd00001311bcsci
alias: pci:v00008086d00000082svsd00001328bcsci
alias: pci:v00008086d00000082svsd00001326bcsci
alias: pci:v00008086d00000082svsd00001321bcsci
alias: pci:v00008086d00000082svsd00001308bcsci
alias: pci:v00008086d00000082svsd00001307bcsci
alias: pci:v00008086d00000082svsd00001306bcsci
alias: pci:v00008086d00000082svsd00001301bcsci
alias: pci:v00008086d00004239svsd00001316bcsci
alias: pci:v00008086d00004239svsd00001311bcsci
alias: pci:v00008086d00004238svsd00001118bcsci
alias: pci:v00008086d00004238svsd00001111bcsci
alias: pci:v00008086d0000422Csvsd00001326bcsci
alias: pci:v00008086d0000422Csvsd00001321bcsci
alias: pci:v00008086d0000422Csvsd00001307bcsci
alias: pci:v00008086d0000422Csvsd00001306bcsci
alias: pci:v00008086d0000422Csvsd00001301bcsci
alias: pci:v00008086d0000422Bsvsd00001128bcsci
alias: pci:v00008086d0000422Bsvsd00001121bcsci
alias: pci:v00008086d0000422Bsvsd00001108bcsci
alias: pci:v00008086d0000422Bsvsd00001101bcsci
alias: pci:v00008086d0000423Dsvsd00001316bcsci
alias: pci:v00008086d0000423Dsvsd00001216bcsci
alias: pci:v00008086d0000423Dsvsd00001311bcsci
alias: pci:v00008086d0000423Dsvsd00001211bcsci
alias: pci:v00008086d0000423Csvsd00001326bcsci
alias: pci:v00008086d0000423Csvsd00001321bcsci
alias: pci:v00008086d0000423Csvsd00001221bcsci
alias: pci:v00008086d0000423Csvsd00001306bcsci
alias: pci:v00008086d0000423Csvsd00001206bcsci
alias: pci:v00008086d0000423Csvsd00001301bcsci
alias: pci:v00008086d0000423Csvsd00001201bcsci
alias: pci:v00008086d0000423Bsvsd00001011bcsci
alias: pci:v00008086d0000423Asvsd00001021bcsci
alias: pci:v00008086d0000423Asvsd00001001bcsci
alias: pci:v00008086d00004236svsd00001114bcsci
alias: pci:v00008086d00004236svsd00001014bcsci
alias: pci:v00008086d00004236svsd00001111bcsci
alias: pci:v00008086d00004236svsd00001011bcsci
alias: pci:v00008086d00004235svsd00001104bcsci
alias: pci:v00008086d00004235svsd00001004bcsci
alias: pci:v00008086d00004235svsd00001101bcsci
alias: pci:v00008086d00004235svsd00001001bcsci
alias: pci:v00008086d00004235svsd00001124bcsci
alias: pci:v00008086d00004235svsd00001024bcsci
alias: pci:v00008086d00004235svsd00001121bcsci
alias: pci:v00008086d00004235svsd00001021bcsci
alias: pci:v00008086d00004237svsd00001316bcsci
alias: pci:v00008086d00004237svsd00001216bcsci
alias: pci:v00008086d00004237svsd00001315bcsci
alias: pci:v00008086d00004237svsd00001215bcsci
alias: pci:v00008086d00004237svsd00001314bcsci
alias: pci:v00008086d00004237svsd00001214bcsci
alias: pci:v00008086d00004237svsd00001311bcsci
alias: pci:v00008086d00004237svsd00001211bcsci
alias: pci:v00008086d00004232svsd00001326bcsci
alias: pci:v00008086d00004232svsd00001226bcsci
alias: pci:v00008086d00004232svsd00001325bcsci
alias: pci:v00008086d00004232svsd00001225bcsci
alias: pci:v00008086d00004232svsd00001324bcsci
alias: pci:v00008086d00004232svsd00001224bcsci
alias: pci:v00008086d00004232svsd00001321bcsci
alias: pci:v00008086d00004232svsd00001221bcsci
alias: pci:v00008086d00004232svsd00001306bcsci
alias: pci:v00008086d00004232svsd00001206bcsci
alias: pci:v00008086d00004232svsd00001305bcsci
alias: pci:v00008086d00004232svsd00001205bcsci
alias: pci:v00008086d00004232svsd00001304bcsci
alias: pci:v00008086d00004232svsd00001204bcsci
alias: pci:v00008086d00004232svsd00001301bcsci
alias: pci:v00008086d00004232svsd00001201bcsci
depends:
intree: Y
vermagic: 4.4.38 SMP preempt mod_unload aarch64
parm: debug:debug output mask (uint)
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_8K:enable 8K amsdu size (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 (default: Y) (bool)
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)

Do you know the way to update this module?

Best regards.
Kaka

Please check with Intel for newer driver. Thanks.

FYI, drivers and firmware are usually downloaded separately (though quite often changing a driver causes a need to change firmware).

Hi All,

Thank you fro your advises.
I could work the AC-8260 on my development board.

Best regards.
Kaka