How to add a Dual WiFi Bluetooth card to a Jetson Nano (Intel 8265),

jetson-nano-intel-dual-wifi-500.jpg

To keep things simple, I showed in a previous post how to add WiFi to a Jetson Nano using a USB adapter. In this post I'll show advanced users how to upgrade to an Intel Dual Band Wireless card that will also provide Bluetooth functionality.

Requirements

For the instructions below you will need the following:

  • Intel Dual Band Wireless-AC 8265 adapter
  • A set of antennas

Optionally I would recommend buying:

  • Kapton tape
  • A toolkit if you don't have one already.

Where to buy

WiFi / Bluetooth Card

Antennas

Kapton Tape

The card goes under the module that the heatsink is attached to. It wouldn't hurt to protect the card and stabilize the antenna wires with some Kapton tape.

Toolkit

This is the kit I use to deal with all the various sized screws in my electronics projects. It's especially handy when dealing with the Nano.


Step 1 - Attach the antennas to the card (carefully!)

This is the hardest part of the whole setup. In fact I messed this up once so I can't stress enough that you need to be careful and patient. It's not easy to plug the U.FL connectors from the antennas into the card.

All I can suggest is that you steady the two parts together using either tape or some clips. Then press the two pieces together by pinching them between your thumb and forefinger. Once they are together, put them in a safe place so you don't accidentally knock them out again.

If you get beyond this part you can move to the next step.

Step 2 - Remove the SOM (System on a Module)

The Jetson Nano Developer Kit is made up of two parts: the carrier board (where the GPIO pins, USB connectors etc sit) and the SOM (System on a Module) board.

The SOM is the part that the heatsink is attached to. You need to remove its two screws, and pop it out of the arms that are holding it. Why? Because the dual card needs to plug in under it.

Step 3 - Insert the card

You will see a screw where the card goes. Remove it, insert the card and replace the screw. Thread the antenna wires off to the side.

If you plan to put the Nano in a case, it will be convenient to have the wires going out the side.

I would recommend putting the Kapton tape on the wires to hold them in place and protect the card from any potential shorts when the SOM is put back in place.

Step 4 - Put the SOM back

Pop the SOM back into place. Make sure it is snapped back into the support arms and screw it back into place. If you are using the type of antenna that screw on to the wires, add them now.

Step 5 - Power up the Nano

If you were already using a USB WiFi adapter, leave it plugged in for now.

Step 6 - Login to the Nano

If you have a monitor and keyboard attached to the Nano, just go into the desktop and add the new card. If you want to set it up headless, I will show you how to do that in the next step.

Step 7 - Remote login for headless setup

Remote login to the Nano (substituting YOU and HOSTNAME):

ssh YOU@HOSTNAME.local

Step 8 - List your WiFi devices

Run the following from the command line:

nmcli

Because I have the USB adapter plugged in and now the Intel card, I see two wlan adapters on my Nano.

wlan1: connected to [MYNETWORK]
        "Realtek 802.11n WLAN Adapter"
        wifi (rtl8192cu), 74:##:##:##:##:##, hw, mtu 1500
        ip4 default
        inet4 192.168.0.10/24
        route4 0.0.0.0/0
        route4 192.168.0.0/24
        inet6 ::####:####:####:####/64
        inet6 ::####:####:####:####/64
        inet6 fe80::####:####:####:####/64
        route6 ::/64
        route6 ff00::/8
        route6 fe80::/64
        route6 fe80::/64

wlan0: disconnected
        "Intel Wireless 8265 / 8275 (Dual Band Wireless-AC 8265)"
        wifi (iwlwifi), ##:##:##:##:##:##, hw, mtu 1500

Step 9 - Add the card to a network

As you can see from the results, the USB adapter is connected on wlan1. But the Intel card on wlan0 is not connected. I will show you how to add it to a network using the command line.

At home I have both a 2.4Ghz and 5Ghz network. It's a little tricky setting both adapters to the same network when you are logged in over WiFi. So I decided to put the Intel card on my 5G network.

Run the following command (substituting NETWORK and PASSWORD). If you want to do like I did - make NETWORK the name of your 5G network:

sudo nmcli dev wifi connect (NETWORK) password (PASSWORD) ifname wlan0

At this point I would reboot, using this command:

sudo shutdown -r now

If you have a USB adapter plugged in you can remove it. But there is no harm in leaving it plugged in as a way to connect over a second network.

Step 10 - Remote login through the new card

If you setup your new Intel card to be on a different network, switch your laptop / PC to that network. Then see if you can remote login over that network.

Step 11 - Verify the new card is working

If you could remote login over the card, it's safe to assume that it is working. If you are having issues, connect over previous means and run this command again.

nmcli

If thing are working you should see the device connected on wlan0.

wlan0: connected to [MYNETWORK-5G]
        "Intel Wireless 8265 / 8275 (Dual Band Wireless-AC 8265)"
        wifi (iwlwifi), ##:##:##:##:##:##, hw, mtu 1500
        ip4 default
        inet4 192.168.0.11/24
        route4 0.0.0.0/0
        route4 192.168.0.0/24
        inet6 ::####:####:###:####/64
        inet6 ::####:####:####:####/64
        inet6 ####::####:####:####:####/64
        route6 ::/64
        route6 ff00::/8
        route6 fe80::/64
        route6 fe80::/64

Step 12 - Verify Bluetooth is working

Run the following at the command line:

hcitool dev

If the Bluetooth adapter is working and available, you should see its address listed (each address is unique):

Devices:
    hci0    38:##:##:##:##:##

Step 13 - Run bluetoothctl

Your Nano image should already have bluetoothctl installed.

At the command line, run the following:

bluetoothctl

You should see a response like this (substituting your devices address and hostname):

[NEW] Controller 38:##:##:##:##:## jet1 [default]
Agent registered
[bluetooth]#

Step 14 - Show Bluetooth adapter info

From within the bluetoothctl app, you can check the status of your bluetooth adapter using the show command:

[bluetooth]# show

You should see a result similar to this:

Controller 00:##:##:##:##:## (public)
    Name: jet1
    Alias: jet1
    Class: 0x00000000
    Powered: yes
    Discoverable: no
    Pairable: yes
    UUID: Generic Attribute Profile (00001#01-0000-1000-8000-############)
    UUID: PnP Information           (00001#00-0000-1000-8000-############)
    UUID: Generic Access Profile    (00001#00-0000-1000-8000-############)
    Modalias: usb:v1#############
    Discovering: no

Step 15 - Find Bluetooth devices

You can scan for all of the Bluetooth devices within range of the Nano:

[bluetooth]# scan on

Response:

Discovery started
[CHG] Controller 38:##:##:##:##:## Discovering: yes
...
[NEW] Device F8:##:##:##:##:## Desertbots's iPhone
[NEW] Device A4:##:##:##:##:## Desertbot’s MacBook Pro

To stop the scanning, turn it off:

[bluetooth]# scan off
Discovery stopped

References



About the Author

Mitch Allen works for a robotics company in New England.