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.11ac 5GHz Gigabit Wifi + Bluetooth BLE combo (untested), or 802.11n Wifi + Bluetooth combo (untested)) or as a USB Wifi dongle. Some Wifi adapters have worked fine while others haven't. See the Troubleshooting section if your Wifi card is not being detected.
Wifi adapters known to be working for Jetson TK1
- Edimax EW-7811Un 150Mbps Wireless 802.11n USB nano adapter for $10. Unzip Media:rtl8192cufw.bin.zip then copy this firmware driver to "/lib/firmware/rtlwifi" using root permissions. You can set the Wifi WPA parameters through command-line by editing "/etc/wpa_supplicant.conf" with root permissions, or through your Desktop Environment's NetworkManager GUI.
Wifi adapters known not to be working for Jetson TK1
(Probably just requires the correct firmware or kernel module installed)
2G / 3G / 4G Cellular modem
Troubleshooting & Tuning
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".
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
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