Raspberry Pi runs Linux in a small package.

Raspberry Pi — Networking

Raspberry Pi Network Hardware Support

The Raspberry Pi is a small single-board computer capable of running a variety of operating systems. See the hardware and background page for details on its physical characteristics.

Here you see an earlier Raspberry Pi with an SDCard and a Buffalo WLAN interface installed in the first picture. The module at the center at one end of the board is a dual USB port, an Ethernet port is at an adjacent corner of the board.

Top view of Raspberry Pi small Linux system.
Raspberry Pi Ethernet and USB connectors.

Amazon
ASIN: B07BC7BMHY

802.3 Ethernet

The on-board Ethernet is actually a built-in USB Ethernet interface combined with the USB controller. The Ethernet controller appears as device number 3 on USB.

Both USB and Ethernet support are provided by a LAN9512 chip detected and run by the smsc95xx kernel module.

It supports 10 and 100 Mbps, both half and full duplex, and auto-negotiates the combination of speed and mode with the switch.

If it does not correctly auto-negotiate the speed and duplex settings, this can be adjusted with the ethtool command. First, use ethtool to see the capabilities of the Raspberry Pi Ethernet interface and its current settings:

pi@raspberrypi ~ $ lsusb
Bus 001 Device 004: ID 413c:2107 Dell Computer Corp.
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. SMC9514 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

pi@raspberrypi ~ $ lsusb -t
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=dwc_otg/1p, 480M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/5p, 480M
	|__ Port 1: Dev 3, If 0, Class=Vendor Specific Class, Driver=smsc95xx, 480M
        |__ Port 3: Dev 4, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M

pi@raspberrypi ~ $ sudo ethtool eth0
Settings for eth0:
    Supported ports: [ TP MII ]
    Supported link modes:   10baseT/Half 10baseT/Full 
                            100baseT/Half 100baseT/Full 
    Supported pause frame use: No
    Supports auto-negotiation: Yes
    Advertised link modes: 10baseT/Half 10baseT/Full 
                           100baseT/Half 100baseT/Full 
    Advertised pause frame use: Symmetric Receive-only
    Advertised auto-negotiation: Yes
    Link partner advertised link modes: 10baseT/Half 10baseT/Full 
                                        100baseT/Half 100baseT/Full 
    Link partner advertised pause frame use: Symmetric
    Link partner advertised auto-negotiation: Yes
    Speed: 100Mb/s
    Duplex: Full
    Port: MII
    PHYAD: 1
    Transceiver: internal
    Auto-negotiation: on
    Supports Wake-on: pumbag
    Wake-on: d
    Current message level: 0x00000007 (7)
                           drv probe link

You could then add a few lines to the end of /etc/rc.local to correctly set the Ethernet parameters and then restart the network service. Or, more adventuresomely, create your own /etc/init.d/ethtool boot script and start it just before network in run levels 2 and 3 (full multi-user with text and graphics console, respectively).

However, you would only need to do all this in an unusual situation where your switch cannot reliably auto-negotiate speeds and duplex modes.

802.11 WLAN

Raspberry Pi Model 3 includes an on-board WLAN interface

pi@raspberrypi ~ $ ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,DYNAMIC,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
    link/ether b8:27:eb:03:6b:37 brd ff:ff:ff:ff:ff:ff
3: wlan0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
    link/ether b8:27:eb:56:3e:62 brd ff:ff:ff:ff:ff:ff

Make sure that your devices are detected. In the above command output, unlike what you see in the picture further up the page, I have plugged an Asus USB-N10 WLAN device into one of the USB ports. I have highlighted the network devices above. This situation provides two network devices: eth0 wired Ethernet and wlan0 802.11 WLAN.

Use the iwlist command to detect wireless networks. Here is the portion of the output showing my wireless access point, which is running WPA2-PSK only on 802.11bg channel 6. It's in a large list of nearby WiFi access points:

root@raspberrypi:~# iwlist scan
wlan0     Scan completed :
          Cell 01 - ....
          Cell 06 - Address: 00:1D:7E:2E:97:86
                    Channel:6
                    Frequency:2.437 GHz (Channel 6)
                    Quality=70/70  Signal level=-36 dBm
                    Encryption key:on
                    ESSID:"FBI_van4"
                    Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 18 Mb/s
                              24 Mb/s; 36 Mb/s; 54 Mb/s
                    Bit Rates:6 Mb/s; 9 Mb/s; 12 Mb/s; 48 Mb/s
                    Mode:Master
                    Extra:tsf=0000000000000000
                    Extra: Last beacon: 70ms ago
                    IE: Unknown: 00084642495F76616E34
                    IE: Unknown: 010882848B962430486C
                    IE: Unknown: 030106
                    IE: Unknown: 2A0104
                    IE: Unknown: 2F0104
                    IE: IEEE 802.11i/WPA2 Version 1
                        Group Cipher : CCMP
                        Pairwise Ciphers (1) : CCMP
                        Authentication Suites (1) : PSK
                    IE: Unknown: 32040C121860
                    IE: Unknown: DD09001018020014000000

          Cell 07 - ....
          Cell 26 - ....

Network Configuration

Raspbian is a derivative of Debian. This means that all the networking suggestions on this page should work the same way on any variation of Ubuntu Linux.

As with Ubuntu and many other Linux distribution families, a networkmanager daemon is available. My experience is that the network manager daemon causes far more problems than it solves, and the proper way to reconfigure and control IP networking is as follows:

pi@raspberrypi ~ $ sudo vim /etc/resolv.conf
pi@raspberrypi ~ $ sudo vim /etc/network/interfaces
pi@raspberrypi ~ $ sudo /etc/rc.d/network restart

The constant typing of sudo quickly becomes tiresome, and you learn to do administrative work this way:

pi@raspberrypi ~ $ sudo bash
root@raspberrypi:# vim /etc/resolv.conf
root@raspberrypi:# vim /etc/network/interfaces
root@raspberrypi:# /etc/rc.d/network restart
root@raspberrypi:# ^D

Static IP Network Configuration

Almost everything is done in /etc/network/interfaces except for DNS resolution:

pi@raspberrypi ~ $ cat /etc/resolv.conf
domain example.com
search example.com
nameserver 10.1.2.3

In the interfaces file, a line starting with "#" is a comment. "End-of-line comments" are not supported, comments must be dedicated lines of their own. Here is an annotated example for IPv4 only. A later section shows you how to set up 802.11i/WPA2 so the wlan0 interface can securely associate with the wireless network.

pi@raspberrypi ~ $ cat /etc/network/interfaces

# Define the interfaces to bring up automatically
auto lo eth0 wlan0

# Standard 127.0.0.1/8
iface lo inet loopback

# eth0 gets 10.1.1.232/24 routing via 10.1.1.254
iface eth0 inet static
	address 10.1.1.232
	netmask 255.255.255.0
	gateway 10.1.1.254

# eth0 gets 192.168.0.101/24 routing via 192.168.0.254
iface wlan0 inet static
	# Comments *can* be indented!
	# But there can be no content earlier in the line.
	# You don't have to indent the stanza for each
	# interface the way I have done it here, but
	# it does make the file easier to read.
	address 192.168.0.101
	netmask 255.255.255.0
	gateway 192.168.0.254

You can be more modern and use address/netmask instead of a separate line for the netmask as dotted quad:

pi@raspberrypi ~ $ cat /etc/network/interfaces

auto lo eth0 wlan0

iface lo inet loopback

iface eth0 inet static
	address 10.1.1.232/24
	gateway 10.1.1.254

iface wlan0 inet static
	address 192.168.0.101/24
	gateway 192.168.0.254

Let's say you wanted to have multiple virtual interfaces, so this one machine appears to be multiple IP hosts on the same LAN:

pi@raspberrypi ~ $ cat /etc/network/interfaces

auto lo eth0 eth0:0 eth0:1 wlan0

iface lo inet loopback

iface eth0 inet static
	address 10.1.1.232/24
	gateway 10.1.1.254

# Only the address/netmask is needed for the virtual interface(s).
# The default route follows from the primary (physical) interface.
iface eth0:0 inet static
	address 10.1.1.233/24
iface eth0:1 inet static
	address 10.1.1.234/24
iface eth0:2 inet static
	address 10.1.1.235/24

iface wlan0 inet static
	address 192.168.0.101/24
	gateway 192.168.0.254

If, on the other hand, you want to run IPv6:

pi@raspberrypi ~ $ cat /etc/network/interfaces

auto lo eth0 wlan0

iface lo inet6 loopback

iface eth0 inet6 static
	address 2001:1800:1234:90::71/64
	gateway 2001:1800:1234:90::1

iface wlan0 inet6 static
	address 2001:1800:1234:91::71/64
	gateway 2001:1800:1234:91::1

Finally, you can have multiple IPv4 and multiple IPv6 addresses all at the same time. You just have to wait until after all the eth0 IP addresses have been assigned to set the default route for that interface.

pi@raspberrypi ~ $ cat /etc/network/interfaces

auto lo eth0 eth0:0 eth0:1 eth0:2 wlan0

iface lo inet6 loopback

iface eth0 inet static
	address 10.1.1.232/24
	up /sbin/ifconfig eth0 inet6 add 2001:1800:1234:90::71/64
	up /sbin/ifconfig eth0 inet6 add 2001:1800:1234:90::72/64
	up /sbin/ifconfig eth0 inet6 add 2001:1800:1234:90::73/6

iface eth0:0 inet static
	address 10.1.1.233/24
iface eth0:1 inet static
	address 10.1.1.234/24
iface eth0:2 inet static
	address 10.1.1.235/24
iface eth0 inet static
	up /sbin/route add default gw 10.1.1.254

iface wlan0 inet static
	address 192.168.0.101/24
	gateway 192.168.0.254

Let's check the results. As an ordinary user, /sbin isn't in our path. The first three IPv6 addresses were statically assigned and are globally routable. The fourth is automatically configured based on the last three octets of the MAC address, and is link-local, not forwarded by an IPv6 router.

pi@raspberrypi ~ $ /sbin/ifconfig
eth0      Link encap:Ethernet  HWaddr b8:27:eb:69:be:bb  
          inet addr:10.1.1.232  Bcast:10.1.1.255  Mask:255.255.255.0
          inet6 addr: 2001:1800:1234:90::73/64 Scope:Global
          inet6 addr: 2001:1800:1234:90::72/64 Scope:Global
          inet6 addr: 2001:1800:1234:90::71/64 Scope:Global
          inet6 addr: fe80::ba27:ebff:fe69:bebb/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:22943 errors:0 dropped:0 overruns:0 frame:0
          TX packets:10662 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:20160989 (19.2 MiB)  TX bytes:1791605 (1.7 MiB)

eth0:0    Link encap:Ethernet  HWaddr b8:27:eb:69:be:bb  
          inet addr:10.1.1.233  Bcast:10.1.1.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

eth0:1    Link encap:Ethernet  HWaddr b8:27:eb:69:be:bb  
          inet addr:10.1.1.234  Bcast:10.1.1.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

eth0:2    Link encap:Ethernet  HWaddr b8:27:eb:69:be:bb  
          inet addr:10.1.1.235  Bcast:10.1.1.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:55548 errors:0 dropped:0 overruns:0 frame:0
          TX packets:55548 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:14936316 (14.2 MiB)  TX bytes:14936316 (14.2 MiB)

wlan0     Link encap:Ethernet  HWaddr 08:60:6e:63:7b:80  
          inet addr:192.168.0.101  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::a60:6eff:fe63:7b80/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:20454 errors:0 dropped:137 overruns:0 frame:0
          TX packets:21550 errors:0 dropped:2 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:6502212 (6.2 MiB)  TX bytes:4679310 (4.4 MiB)

pi@raspberrypi ~ $ /sbin/route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.1.1.254      0.0.0.0         UG    0      0        0 eth0
0.0.0.0         192.168.0.254   0.0.0.0         UG    0      0        0 wlan0
10.1.1.0        0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 wlan0

pi@raspberrypi ~ $ /sbin/route -n -A inet6
Kernel IPv6 routing table
Destination                    Next Hop                   Flag Met Ref Use If
2001:1800:1234:90::/64         ::                         U    256 0     0 eth0
fe80::/64                      ::                         U    256 0     0 wlan0
fe80::/64                      ::                         U    256 0     0 eth0
::/0                           ::                         !n   -1  1    11 lo
::1/128                        ::                         Un   0   9 44264 lo
2001:1800:1234:90::71/128      ::                         Un   0   1     0 lo
2001:1800:1234:90::72/128      ::                         Un   0   1     0 lo
2001:1800:1234:90::73/128      ::                         Un   0   1     0 lo
fe80::a60:6eff:fe63:7b80/128   ::                         Un   0   1     0 lo
fe80::ba27:ebff:fe69:bebb/128  ::                         Un   0   1     0 lo
ff00::/8                       ::                         U    256 0     0 wlan0
ff00::/8                       ::                         U    256 0     0 eth0
::/0                           ::                         !n   -1  1    11 lo

DHCP for Automatic IP Network Configuration

This is very simple. DHCP will handle changes to /etc/resolv.conf, just put the following in the interfaces file:

pi@raspberrypi ~ $ cat /etc/network/interfaces
auto lo eth0 wlan0

iface lo inet loopback

iface eth0 inet dhcp

iface wlan0 inet dhcp

To ensure that the DHCP server consistently assigns a desired IP address, specify that IP address for the interface's MAC address. Here is the change to make on the DHCP server:

user@dhcp-server ~ $ cat /etc/dhcpd.conf
option domain-name "example.com";
option domain-name-servers 10.1.1.100;
default-lease-time 21600;
max-lease-time 43200;
ddns-update-style none;

subnet 10.1.1.0 netmask 255.255.255.0 {
	# This is the server for this subnet.
	authoritative;
	# Default gateway and netmask:
	option routers 10.1.1.100;
	option subnet-mask 255.255.255.0;
	# 24 hours by default, 48 hours max:
	default-lease-time 86400;
	max-lease-time 172800

	# Make one client appear at a fixed address.
	host raspberrypi {
		hardware ethernet  b8:27:eb:69:be:bb;
		fixed-address 10.1.1.232;
	}
}

802.11i — 802.11 WLAN plus WPA2 Security

Let's set up WPA2-PSK security!

Add a stanza to the specification for the wlanN device:

pi@raspberrypi ~ $ cat /etc/network/interfaces

auto lo eth0 wlan0

iface lo inet loopback

iface eth0 inet dhcp

iface wlan0 inet dhcp
	wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

Then specify the ESSID, key management, protocol and pre-shared key in the referenced file, which must be readable only by root:

root@raspberrypi:~# ls -l /etc/wpa_supplicant
total 44
-rwxr-xr-x 1 root root   945 Nov 12 22:33 action_wpa.sh
-rwxr-xr-x 1 root root 25907 Nov 12 22:33 functions.sh
-rwxr-xr-x 1 root root  4696 Nov 12 22:33 ifupdown.sh
-rw------- 1 root root   171 Apr 19 13:44 wpa_supplicant.conf

root@raspberrypi:~# cat /etc/wpa_supplicant/wpa_supplicant.conf

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
	ssid="your essid here"
	key_mgmt=WPA-PSK
	proto=WPA2
	psk="your passphrase here"
}

I found this a little confusing, as the iwconfig command uses the parameter essid while the wpa_supplicant.conf file must leave off the "E" for ssid.

Notice that WPA-PSK means WPA generically, you then specify the WPA2 parameter to limit the interface to using WPA2 only. Otherwise, the interface will prefer WPA2 but silently roll back to WPA if that is all that the access point supports. Of course, that's quite likely what you want.

Watch both the console output and the syslog messages carefully to spot your confusion over the precise form of these parameters! Syslog caught some errors for me that I wasn't seeing on the command line.

See man wpa_supplicant.conf for details on other key management schemes, including WPA-EAP and IEEE 802.1x.

Bringing it up, we see this on the console:

root@raspberrypi:~# ifup wlan0
Internet Systems Consortium DHCP Client 4.2.2
Copyright 2004-2011 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/

Listening on LPF/wlan0/08:60:6e:63:7b:80
Sending on   LPF/wlan0/08:60:6e:63:7b:80
Sending on   Socket/fallback
DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 7
DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 12
DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 8
DHCPREQUEST on wlan0 to 255.255.255.255 port 67
DHCPOFFER from 192.168.0.1
DHCPACK from 192.168.0.1
bound to 192.168.0.101 -- renewal in 781090135 seconds.

At the same time, the following is sent to Syslog. Notice that it starts dhclient but then 9 seconds pass in this case before wpa_supplicant negotiates the WPA2-PSK association with the access point. Then another 10 seconds pass until dhclient tries again and this time immediately gets an IP assignment. That's the result of the varying intervals between the DHCP transmissions.

Apr 19 13:44:51 raspberrypi wpa_supplicant[12160]: nl80211: Could not configure driver to use managed mode
Apr 19 13:44:53 raspberrypi dhclient: Internet Systems Consortium DHCP Client 4.2.2
Apr 19 13:44:53 raspberrypi dhclient: Copyright 2004-2011 Internet Systems Consortium.
Apr 19 13:44:53 raspberrypi dhclient: All rights reserved.
Apr 19 13:44:53 raspberrypi dhclient: For info, please visit https://www.isc.org/software/dhcp/
Apr 19 13:44:53 raspberrypi dhclient:
Apr 19 13:44:53 raspberrypi dhclient: Listening on LPF/wlan0/08:60:6e:63:7b:80
Apr 19 13:44:53 raspberrypi dhclient: Sending on   LPF/wlan0/08:60:6e:63:7b:80
Apr 19 13:44:53 raspberrypi dhclient: Sending on   Socket/fallback
Apr 19 13:44:53 raspberrypi dhclient: DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 7
Apr 19 13:45:00 raspberrypi dhclient: DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 12
Apr 19 13:45:02 raspberrypi wpa_supplicant[12165]: wlan0: Trying to associate with 00:1b:11:43:c4:f0 (SSID='FBI_van4' freq=2422 MHz)
Apr 19 13:45:02 raspberrypi wpa_supplicant[12165]: wlan0: Association request to the driver failed
Apr 19 13:45:02 raspberrypi wpa_supplicant[12165]: wlan0: Associated with 00:1b:11:43:c4:f0
Apr 19 13:45:02 raspberrypi wpa_supplicant[12165]: wlan0: WPA: Key negotiation completed with 00:1b:11:43:c4:f0 [PTK=CCMP GTK=CCMP]
Apr 19 13:45:02 raspberrypi wpa_supplicant[12165]: wlan0: CTRL-EVENT-CONNECTED - Connection to 00:1b:11:43:c4:f0 completed (auth) [id=0 id_str=]
Apr 19 13:45:02 raspberrypi ifplugd(wlan0)[1581]: Link beat detected.
Apr 19 13:45:02 raspberrypi ifplugd(wlan0)[1581]: Executing '/etc/ifplugd/ifplugd.action wlan0 up'.
Apr 19 13:45:02 raspberrypi ifplugd(wlan0)[1581]: client: /sbin/ifup: interface wlan0 already configured
Apr 19 13:45:02 raspberrypi ifplugd(wlan0)[1581]: Program executed successfully.
Apr 19 13:45:12 raspberrypi dhclient: DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 8
Apr 19 13:45:12 raspberrypi dhclient: DHCPREQUEST on wlan0 to 255.255.255.255 port 67
Apr 19 13:45:12 raspberrypi dhclient: DHCPOFFER from 192.168.0.1
Apr 19 13:45:12 raspberrypi dhclient: DHCPACK from 192.168.0.1
Apr 19 13:45:12 raspberrypi dhclient: bound to 192.168.0.101 -- renewal in 781090135 seconds.
Apr 19 13:45:13 raspberrypi sshd[12104]: Received signal 15; terminating.
Apr 19 13:45:13 raspberrypi sshd[12250]: Server listening on 0.0.0.0 port 22.
Apr 19 13:45:13 raspberrypi ntpd[3301]: Listen normally on 17 wlan0 192.168.0.101 UDP 123
Apr 19 13:45:13 raspberrypi ntpd[3301]: peers refreshed

Then, every ten minutes, we see something like this:

Apr 19 13:47:24 raspberrypi wpa_supplicant[12165]: wlan0: WPA: Group rekeying completed with 00:1b:11:43:c4:f0 [GTK=CCMP]
Apr 19 13:57:24 raspberrypi wpa_supplicant[12165]: wlan0: WPA: Group rekeying completed with 00:1b:11:43:c4:f0 [GTK=CCMP]
Apr 19 14:07:24 raspberrypi wpa_supplicant[12165]: wlan0: WPA: Group rekeying completed with 00:1b:11:43:c4:f0 [GTK=CCMP]
Apr 19 14:17:24 raspberrypi wpa_supplicant[12165]: wlan0: WPA: Group rekeying completed with 00:1b:11:43:c4:f0 [GTK=CCMP]

You can verify the settings with the ifconfig, iwconfig and wpa_cli commands, be aware that iwconfig cannot handle the WPA/WPA2 information and will claim that the mode is "open" meaning no encryption. The output of wpa_cli corrects this:

root@raspberrypi:~# ifconfig wlan0
wlan0     Link encap:Ethernet  HWaddr 08:60:6e:63:7b:80  
          inet addr:192.168.0.101  Bcast:192.168.0.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:10918 errors:0 dropped:37 overruns:0 frame:0
          TX packets:10325 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:4052552 (3.8 MiB)  TX bytes:4156283 (3.9 MiB)

root@raspberrypi:~# iwconfig wlan0
wlan0     IEEE 802.11bg  ESSID:"FBI_van4"  Nickname:"rtl_wifi"
          Mode:Managed  Frequency:2.422 GHz  Access Point: 00:1B:11:43:C4:F0   
          Bit Rate:54 Mb/s   Sensitivity:0/0  
          Retry:off   RTS thr:off   Fragment thr:off
          Encryption key:off
          Power Management:off
          Link Quality=100/100  Signal level=100/100  Noise level=0/100
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

root@raspberrypi:~# wpa_cli status
Selected interface 'wlan0'
bssid=00:1b:11:43:c4:f0
freq=2427
ssid=FBI_van4
id=0
mode=station
wifi_generation=4
pairwise_cipher=CCMP
group_cipher=CCMP
key_mgmt=WPA2-PSK
wpa_state=COMPLETED
ip_address=192.168.0.101
address=08:60:6e:63:7b:80
uuid=931a67c6-9a69-536a-a243-3d6ae3974543

Select a Raspberry Pi topic:

Which model and how much memory?

$ cat /sys/firmware/devicetree/base/model
$ grep MemTotal /proc/meminfo
Raspberry Pi starter kit with aluminum case
Amazon B07XTRFD3Z
Back to the Linux / Unix page Radio Topics