How to add a Dual WiFi Bluetooth card to a Jetson Nano (Intel 8265)
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
Here are my affiliate links:
WiFi / Bluetooth Card
Antennas
- CHAOHANG: New 2 x 6dBi RP-SMA Dual Band 2.4GHz 5GHz + 2 x 35cm M.2(NGFF)Cable Antenna Mod Kit No Soldering use for NGFF Wireless Cards & M.2(NGFF) 3G/4G Cards
- As an alternative you can substitute film 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
Related articles
- Jetson Nano USB Headless WiFi Setup (Edimax-EW-7811UN) - a simpler way to get WiFi working for beginners
- Jetson Nano Resource Guide
- My post on Jetson Nano USB Login shows how to establish a headless connection if you need to debug WiFi issues
References
- Jetson Nano + Intel Wifi and Bluetooth [1]