Wprawdzie kiedyś już pisałem o WiFi w systemie Linux na przykładzie Raspberry Pi model B i Raspbiana opartego o system Debian Wheezy, to od tego czasu nie dość, że minęło już kilka lat, to mamy nową wersję systemu Debian (Jessie), oraz Raspberry Pi 3, z zintegrowanym układem WiFi, co chyba jest dobrą okazją do odświeżenia tego tematu…

WiFi w systemie Linux (Debian Jessie)

Oczywiście jak ktoś z Was korzysta z trybu graficznego to właściwie żadnego poradnika nie potrzebuje – wystarczy kliknąć w odpowiednią ikonę (w systemie Raspbian jest to górny prawy róg), wybrać sieć i podać hasło.

Ale ja jestem „serwerowym użytkownikiem Linuxa”, więc do okienek zaglądam niezmiernie rzadko (jak okna, to jednak wolę Windowsa ;-)), i dlatego w tym poradniku pokażę jak połączyć się z WiFi z poziomu konsoli.

Wheezy vs Jessie

W poradniku opartym o system Debian Wheezy właściwie całą konfigurację wykonywaliśmy w pliku:

/etc/network/interfaces

W systemie Debian Jessie wprawdzie nadal można umieścić niezbędne informacje w tym pliku, to zgodnie z nowymi wytycznymi główna konfiguracja znajduje się w pliku:

/etc/wpa_supplicant/wpa_supplicant.conf

Karta sieciowa

Na potrzeby tego poradnika będę korzystał z Raspberry Pi 3 model B, gdzie mamy zintegrowaną kartę WiFi, a jej obecność/działanie można sprawdzić np. za pomocą takiego polecenia „iwconfig”:

Webinsider.pl: iwconfig
wlan0     IEEE 802.11bgn  ESSID:off/any
          Mode:Managed  Access Point: Not-Associated   Tx-Power=1496 dBm
          Retry short limit:7   RTS thr:off   Fragment thr:off
          Power Management:on

Możemy też od razu przeskanować okolicę pod względem dostępnych sieci WiFi:

sudo iwlist wlan0 scan

Konfiguracja sieci WiFi

Gdy już wiemy z jaką siecią chcemy się połączyć, przystępujemy do jej konfiguracji w systemie:

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

W większości przypadków zawartość pliku będzie wyglądała tak:

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

network={
ssid="Nazwa_(SSID)_sieci_WiFi"
psk="Hasło_do_sieci_WiFi"
}

Szyfrowanie WEP, lub brak szyfrowania

Domyślnie typ szyfrowania/zabezpieczenia sieci jest ustawiony na WPA/WPA2, i jeśli tak skonfigurowana jest Wasza sieć, to nic nie musicie robić.

Jeśli Wasza sieć działa w standardzie WEP to zmieńcie to czym prędzej! Serio…

Jeśli jednak z jakichś przyczyn jesteście skazani na standard WEP, to pod nazwą sieci i hasłem do niej musicie dodać jeszcze jeden parametr:

key_mgmt=NONE

W przypadku gdy korzystanie z sieci otwartej (niezabezpieczonej hasłem) w konfiguracji podajecie tylko nazwę sieci, bez hasła.

Wprawdzie nie jest to konieczne, to ja zalecam jeszcze zerknąć do pliku „interfaces”:

sudo nano /etc/network/interfaces

Gdzie w moim przypadku linijki odpowiedzialne za sieć WiFi wyglądają tak:

auto wlan0
allow-hotplug wlan0
iface wlan0 inet manual
    wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

U Was zapewne będzie podobnie, bo pewnie nie będziecie mieli w standardzie linijki:

auto wlan0

Na koniec wystarczy zrestartować komputer/Raspberry Pi, lub:

sudo /etc/init.d/networking restart

Choć chyba lepiej:

sudo ifdown wlan0
sudo ifup wlan0

Jeśli wszystko zostało skonfigurowane poprawnie, to po chwili powinniście uzyskać połączenie, co sprawdzicie np. za pomocą polecenia:

iwconfig wlan0

raspberry-pi3_wifi_raspbian-jessie_ifconfig-wlan0

Webinsider.pl: iwconfig wlan0
wlan0     IEEE 802.11bgn  ESSID:"Nazwa_(SSID)_sieci_WiFi"
          Mode:Managed  Frequency:2.462 GHz  Access Point: 01:02:03:04:05:06
          Bit Rate=65 Mb/s   Tx-Power=1496 dBm
          Retry short limit:7   RTS thr:off   Fragment thr:off
          Power Management:on
          Link Quality=70/70  Signal level=-29 dBm
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

Zwracam uwagę na to, że karta/moduł WiFi w Raspberry Pi 3 pracuje w paśmie 2.4 GHz, więc jeśli korzystacie z pasma 5 GHz, to musicie w routerze wybrać tryb „dualband” (2.4 i 5 GHz), lub gdy Wasz router nie ma takiej opcji – 2.4 GHz.

Choć patrząc na sieci w okolicy widzę, że mimo upływu kilku lat od wprowadzania 5 GHz – sieci tego typu właściwie brak, więc bardzo prawdopodobne, że nawet nie musicie się tym tematem przejmować… ;-)

Stały adres IP

Podana powyżej konfiguracja dotyczy sytuacji, w których urządzenia w naszej sieci uzyskują adres IP z serwera DHCP (np. odpowiednio skonfigurowanego routera).

Jeśli z jakichś przyczyn w swojej sieci musicie konfigurować adresy bezpośrednio po stronie klienta, to wprawdzie można to zrobić klasycznie (jak w Debian Wheezy), choć chyba pewniejszą metodą będzie modyfikacja pliku „dhcpcd.conf”:

sudo nano /etc/dhcpcd.conf

I np. gdzieś na końcu dodajecie linijki:

interface wlan0
static ip_address=192.168.0.100/24
static routers=192.168.0.1
static domain_name_servers=192.168.0.1

Gdzie 192.168.0.1 to IP Waszego routera.

Jednakże zalecam spróbować trochę uwspółcześnić swoją konfigurację sieci, i nadawanie adresów IP dla poszczególnych klientów powierzyć serwerowi DHCP, którym może być np. Wasz router.

(!) Zgłoś błąd na stronie
Pomogłem? To może postawisz mi wirtualną kawę?
LUTy dla D-Cinelike (DJI Mini 3 Pro, DJI Avata, OSMO Pocket) od MiniFly
Wdrożenie Omnibusa w sklepie na WooCommerce
Jak (legalnie) latać dronem w Kategorii Otwartej
Patryk