Newbie question: bring up wireless in System Settings / Network ?

Wireless connection is suddenly gone. I’m not sure if the issue has anything to do with running Kernel Configuration (following JetsonHacks process).

On GUI’s System Settings/Network, I only see two entries under Network: Wired and Network proxy. I remember there was another entry for wireless. But it’s gone.

Any idea on how to bring up the wireless?

If you can switch back to the original kernel, run under that kernel, and copy “/proc/config.gz” somewhere for later reference, then you’ll have a way of comparing the current kernel configuration to the original configuration. Then switch back to your new kernel. There is a good chance something you left out is responsible. I’d recommend copying this current kernel’s “/proc/config.gz” for reference as well.

When you compile a new kernel always start with the configuration you were running, and only then edit other configuration items. “/proc/config.gz” is a reflection of the running kernel’s config.

You may check (here with output from my TX2 running standard R28.1):

#support for Broadcom BCM4354 chip 
zcat /proc/config.gz | grep BCM4354
CONFIG_BCM4354=y

#support for Broadcom Dongle Host Driver
zcat /proc/config.gz | grep BCMDHD
CONFIG_BCMDHD=m
CONFIG_BCMDHD_SDIO=y
# CONFIG_BCMDHD_PCIE is not set
CONFIG_BCMDHD_FW_PATH="/lib/firmware/brcm/fw_bcmdhd.bin"
CONFIG_BCMDHD_NVRAM_PATH="/lib/firmware/brcm/nvram.txt"
CONFIG_BCMDHD_HW_OOB=y
# CONFIG_BCMDHD_DISABLE_MCC is not set
CONFIG_BCMDHD_CUSTOM_SYSFS_TEGRA=y
CONFIG_BCMDHD_CUSTOM_NET_PERF_TEGRA=y
# CONFIG_BCMDHD_QMONITOR is not set
CONFIG_BCMDHD_ES4_NVRAM_PATH="/lib/firmware/brcm/nvram_murata_4359_b1_es4.txt"

There is some firmware loaded by module bcmdhd in /lib/firmware/bcrm:
fw_bcmdhd.bin : binary firmware
nvram.txt : some config

For reference about that firmware, I see:

tail -2 /lib/firmware/brcm/fw_bcmdhd.bin 
Y[EG(wuN���X�4354a1-roml/sdio-ag-p2p-pno-aoe-pktfilter-keepalive-sr-mchan-pktctx-proptxstatus-ampduhostreorder-lpc-pwropt-txbf-wl11u-mfp-tdls-nvotpccode-tx2-emb Version: 7.35.221.21 (r697384) CRC: 6eb4b602 Date: Thu 2017-05-04 13:51:42 IST Ucode Ver: 986.10802 FWID: 01-58d9d0b3

There is also a file /lib/firmware/bcm4354.hcd, but I think this is for bluetooth and not relevant here.

Thank you guys.

I ran the commands “zcat /proc/config.gz | grep BCM4354” and “zcat /proc/config.gz | grep BCMDHD”. The results are the same. I also checked the files under /lib/firmware/bcrm. Two files,
fw_bcmdhd.bin
nvram.txt

I don’t see the file “/lib/firmware/brcm/nvram_murata_4359_b1_es4.txt” as defined by
CONFIG_BCMDHD_ES4_NVRAM_PATH
in the /proc/config.gz
But perhaps okay without that file (same as shown in Honey_Patouceul’s comment).

Also double check the .config under /usr/src/kernel/kernel-4.4/ where JetsonHacks places the new kernel. The settings are the same.

By the way, apparently I also lost the mount of SD Card on TX2.

How did you get your original kernel config before editing to add modifications? Also, what is your “uname -r”?

@linuxdev, I recompiled the kernel following JetsonHacks procedure.
http://www.jetsonhacks.com/2017/07/31/build-kernel-ttyacm-module-nvidia-jetson-tx2/
Accordingly, “uname -r” shows my customized tag. In my case, it’s 4.4.38-jmr3-v0.5

The only extra step I did was to run the Kernel Configuration GUI “make xconfig” from /usr/src/kernel/kernel-4.4 and check marked a camera module (enable IMX219). Then ran JetsonHack’s makeKernel.sh and copyImage.sh scripts.

Another symptom of the Wi-Fi problem is the missing of wlan0 device.

$ sudo ifconfig wlan0 up
wlan0: ERROR while getting interface flags: No such device

$ sudo iw dev wlan0 scan
command failed: No such device (-19)

That article seems to mention edits to config, but not initial config. You probably had correct edits to an otherwise non-valid starting config. Always start with a “.config” file matching your current running system. I’m attaching an R28.1 TX2 original config, but CONFIG_LOCALVERSION is not yet set.
config-4.4.38-tegra_tx2.txt (139 KB)

Separately, if you add a custom local version (“jmr3-v0.5” in this case) then kernel modules intended for the default kernel will not load.
If the wireless requires kernel modules that are not available in source form, then your kernel with custom version will not be able to load those modules.

I recompiled the kernel (re-run JetsonHacks scripts) and all sudden WIFI worked!

Well, I manually edited .config and changed CONFIG_VIDEO_IMX219=m to CONFIG_VIDEO_IMX219=y to enable Sony IMX219 sensor. Earlier I used Kernel Configuration GUI to enable IMX219, which ended up with “CONFIG_VIDEO_IMX219=m” in the .config file (and WIFI was gone after compilation, though I truly doubt the correlation between them).

@linuxdev, thanks for the config dump. I did the comparison yesterday with another TX2 but didn’t see any substantial difference.

@snarky, I think what you said make sense. What puzzled me is that how to collects all the modules needed. Currently I can only rely on the scripts, such as JetsonHacks’, to build the kernel.

Anyway, magically the WIFI is back.

By the way, my TX2 is unable to detect 5GHz WIFI (802.11ac). I have a AT&T NVG599 running dual bands. My TX2 only sees the 2.4GHz network. Although the TX2 product claims to support 802.11ac, I heard that TX2 is not yet ready for 5GHz. Just thought of bring it up to confirm.

“uname -r” is determined by appending CONFIG_LOCALVERSION to the kernel version. Modules are always searched for at:

/lib/modules/$(uname -r)/

…change kernel version, or change CONFIG_LOCALVERSION, and modules will no longer be found unless you’ve copied them over to the new “uname -r”. If you changed some parts of the kernel which may have changed “uname -r”, then it is possible copied modules won’t work correctly on that kernel.

I don’t know much about WiFi, I tend to stay away from it.

@linuxdev, what you said makes sense. If the modules access is inconsistence in the loading, some uses /lib/modules/$(uname -r)/ while others perhaps point to another fixed version, the operation would fail for sure. You made a good point.

My TX2 is a spare system barely in use. No new code has been put on the system yet, other than experimenting the scripts from JetsonHacks package.
http://www.jetsonhacks.com/2017/07/31/build-kernel-ttyacm-module-nvidia-jetson-tx2/
I’d say it’s worth the effort for NVidia R&D team to take a serious look into the WiFi sub-system in the next L4T release. Apparently something buggy is in the wireless interface.

Follow the link for creating Jetson TX2 as Wireless Access Point or Wireless Hotspot.