Jetson/Network Adapters

From eLinux.org
Jump to: navigation, search

Ethernet

Jetson TK1 comes with a 1Gbps Ethernet adapter (RTL8111GS Realtek 10/100/1000Base-T "Gigabit Ethernet" LAN port) that works right out-of-the-box for local networking. It listens for an IP address from a DHCP server, thus you can plug it directly into your router and it should start working and use internet through your router.

It is also possible to install extra Ethernet ports either as a mini-PCIe card (eg: Dual Gigabit LAN (untested) or as a USB Ethernet dongle.

Wifi / Wireless 802.11

Wifi can be added to Jetson TK1 either as a mini-PCIe card (eg: 802.11n Wifi + Bluetooth combo) or as a USB Wifi dongle. Wifi adapters generally need 2 things in order to work on Linux:

  1. driver support in the Linux kernel, and
  2. correct firmware file installed in "/lib/firmware/".

So you have several options for getting a Wifi card to work on your device:

  • The easiest method is to use The Grinch community kernel (created by user Santyago) that has both kernel support and firmware for a huge range of Wifi adapters.
  • NVIDIA's stock L4T kernel only has drivers for a few Wifi adapters and does not contain their firmware, so if you are using a supported Wifi adapter (eg: Intel 7260), you just need to copy the Wifi firmware file into "/lib/firmware/" (shown here).
  • You can build your own custom L4T kernel with support just for your specific devices.

See the Troubleshooting section below if your Wifi card is not being detected.

Wifi adapters tested on Jetson TK1

The following table shows various Wifi USB & mini-PCIe devices that were tested on Jetson TK1 (often using "The Grinch" kernel or a kernel with added driver support).

Chip Vendor Driver Working? Type DeviceID Dual-Band Antennas 802.11n 802.11ac BT Version BT Driver Notes
7260 HMW Intel iwlwifi Yes mini-PCIe 8086:08b1 Yes 2 Yes Yes 4 NA Requires "sudo modprobe -r iwlwifi ; sudo modprobe iwlwifi" at boot. One user reported problems.
AR928X Atheros ath9k Yes mini-PCIe 168C:002a Yes 2 Yes No No NA AW-NE773/AR5BHB92
AR9285 Atheros ath9k Yes mini-PCIe 168C:002b Yes 2 Yes No No NA AR5B95
AR9380 Atheros ath9k Yes mini-PCIe 168c:3110 Yes 3 Yes No ? NA WPEA-128N; AR5BHB112
AR9382 Atheros ath9k Yes mini-PCIe 168c:0030 Yes 2 of 3 populated Yes No ? NA WPEA-121N/W; AR5BHB116
AR9462 Atheros ath9k Yes mini-PCIe 168c:0034 Yes 2 Yes No 4 bluez AzureWave 2110/AR5B22
AR9462 Atheros ath9k Yes mini-PCIe 168c:0034 Yes 2 Yes No 4 bluez Killer Wireless N-1202/AR5B22
AR9485 Atheros ath9k Yes mini-PCIe ? No ? Yes No ? bluez NA
BCM4352 Broadcom wl No mini-PCIe 14e4:43b1 Yes 2 Yes Yes 4 bluez No binary blob available (to my knowledge)
RT3090 Ralink rt2800pci Yes mini-PCIe 1814:3090 No 2 Yes No No NA NA
RTL8187 Realtek rtl8187 Yes USB 0bda:8187 NA Disass Yes No No NA USB
RTL8187SE Realtek r8187se Yes mini-PCIe 10de:0e12 No 2 No No No NA NA
RTL8188CUS Realtek rtl8192cu Yes USB 0bda:8176 NA 1 Yes No No NA USB
RTL8188EU Realtek 8188eu Yes USB 0bda:8179 NA 1 Yes No No NA USB
RTL8191SU Realtek r8712u Yes USB 0bda:8172 NA 1 Yes No No NA USB
RTL8812AU Realtek 8812au Yes USB 0bda:0811 NA 1 Yes Yes No NA USB dongle use patched driver Media:Rtl8812au.zip

For example, if you have an rtl8192cu chipset based adapter (eg: the $10 Edimax EW-7811Un 150Mbps Wireless 802.11n USB nano adapter), then either install The Grinch kernel, or:

  • Download & unzip Media:rtl8192cufw.bin.zip,
  • Then copy this firmware driver into the "/lib/firmware/rtlwifi" folder on the device using root permissions.
  • Finally, set the Wifi settings either through your Desktop Environment's NetworkManager GUI or from command-line by editing "/etc/wpa_supplicant.conf" with root permissions, as shown here.

Also see this thread on how to enable wifi modules.

2G / 3G / 4G Cellular modem

A "broadband wireless modem" can be added to Jetson TK1, either as a mini-PCIe card (eg: 3G Modem + GPS combo (untested)) or as a USB Broadband Wireless dongle.

Tuning performance

Dropped Packets

To increase TCP/UDP networking performance, increase the socket buffer sizes (in this case to 32MB, performed at boot):

 sudo sysctl -w net.core.rmem_max=33554432
 sudo sysctl -w net.core.wmem_max=33554432
 sudo sysctl -w net.core.rmem_default=33554432
 sudo sysctl -w net.core.wmem_default=33554432

Jumbo Frames

Many networking applications are more efficient if they take advantage of packets with large MTU (>1500 bytes). Jumbo frames are supported on the Jetson's onboard Realtek RTL8111GS NIC.

 sudo ifconfig eth0 mtu 9000

Troubleshooting

Network adapter isn't being detected

If your network adapter is not detected, even when you search through the "dmesg" log, try installing the linux-firmware package then rebooting:

sudo apt-get install linux-firmware
sudo reboot

Also try searching the web for the Linux source code of the driver for your card. For example, many Intel-based Wifi cards can follow the iwlwifi page to install appropriate firmware binaries into "/lib/firmware". Some network adapters will require you to build a custom L4T kernel and flash it to your board (typically wiping your whole system in the process). NVIDIA is still preparing documentation on how best to perform this.

Observed Networking Speeds

The following table shows observed speed of various Wifi USB & mini-PCIe devices that were tested using Iperf, a tool which measures network performance. Test were conducted on Jetson TK1 when using The Grinch kernel (created by user Santyago). The test configures the host as a wired connection to a 1 gigabit per second network with access to a WAP. The client Jetson then connects to the WAP. Average of 10 runs. Speed measurements are in Mega bits per second (Mbps).

Device Vendor Chip Type 802.11n 802.11ac Wired Notes
Built-in NVIDIA RTL8111GS wired 919 eth0
7260 HMWG Intel 7260 HMW mini-PCIe 63
EW-7811Un Edimax RTL8188CUS USB 5 Observed 13Mbps on Ookla speed test ; Could be a configuration issue

List of desired Wifi chipset drivers

NVIDIA is collecting a list of the most common Wifi drivers to ensure they will soon be easily available for Jetson TK1. Here is the current list of drivers intended to support:

  • Atheros ath9k
  • Broadcom b43 (bcm4322, bcm4312, bcm4321, bcm43142)
  • Intel iwlwifi (7260, 6205, 6230, 6235)
  • Intel iwlwifi (2230 for mini-PCIe, 1000)
  • Ralink rt2800usb
  • Ralink rt3090
  • Realtek rtl8187
  • Realtek rtl8188 (rtl8188cus for USB at http://www.adafruit.com/products/1030)
  • Realtek rtl8192 (rtl8192cu for USB and rtl8192ce for mini-PCIe)
  • Realtek r8712u
  • Ralink Technology, Corp. RT5370 Wireless Adapter

(In addition to mac80211).

Add your driver to the list if it is not shown.