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
