This is an old revision of the document!
−Table of Contents
Raspberry Pi Car Device
Riferimenti web:
Dongle USB Edimax
Ci vuole una versione custom di hostpad….
wpa_supplicant
/etc/network/interfaces
:
allow-hotplug wlan0 # WiFi in Client (Managed) mode iface wlan0 inet manual wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf # If network stanza has not "id_str", wpa_supplicant will use "default". iface default inet dhcp
C'è un problema: l'opzione
wpa-roam
deve essere associata ad una interfaccia fisica (es. iface wlan0 …
) e di tipo manual
, non viene accettata su un'istanza di interfaccia logica (es. iface master …
) oppure di tipo dhcp
. L'istanza di wpa_supplicant
lanciata in questo modo cerca quindi un'eventuale istanza di interfaccia logica col nome specificato dalla stringa id_str
wpa_supplicant.conf
, altrimenti utilizza la stringa default
(esempio sopra, che causa la configurazione via DHCP).
Una conseguenza di tutto questo è che non si riesce a lanciare wpa_supplicant
in modalità roaming utilizzando un nome logico, ad esempio ifup wlan0=managed
, in quanto il cliente DHCP non viene eseguito.
hostap
Al bootstrap il Raspberry funziona per default in modo managed (station) in roaming (vedi paragrafo precedente), si vuole un sistema semplice per passare al modo master (access point).
La modalità master si ottiene con il software hostapd, i file di configurazione sono:
/etc/hostapd/hostapd.conf
/etc/default/hostapd
Le funzioni di Access Point si configurano in /etc/hostapd/hostapd.conf
, le impostazioni diverse dal default sono: ()
driver=rtl871xdrv ssid=PiCar country_code=IT channel=7 auth_algs=1 wmm_enabled=0 wpa=1 # TODO: usare un file di password? wpa_passphrase=MySecret wpa_key_mgmt=WPA-PSK wpa_pairwise=TKIP rsn_pairwise=CCMP
Volendo avviare hostapd al bootstrap basterebbe togliere il commento in /etc/default/hostapd
:
#DAEMON_CONF="/etc/hostapd/hostapd.conf"
tuttavia noi si vuole avviare l'interfaccia manualmente, quindi si imposta in /etc/network/interfaces
:
allow-hotplug wlan0 # WiFi in Access Point (Master) mode. # Activate with: ifdown wlan0; ifup wlan0=master iface master inet static address 192.168.5.1 netmask 255.255.255.0 up start-stop-daemon --start --oknodo --quiet --exec /usr/sbin/hostapd --pidfile /var/run/hostapd.pid -- -B -P /var/run/hostapd.pid /etc/hostapd/hostapd.conf >/dev/null || true down start-stop-daemon --stop --oknodo --quiet --exec /usr/sbin/hostapd --pidfile /var/run/hostapd.pid || true
in questo modo è possibile usare i comandi per fermare o avviare l'interfaccia nella modalità Master:
ifdown wlan0 ifup wlan0=master