User Tools

Site Tools


doc:appunti:hardware:raspberrypi_car

This is an old revision of the document!


Raspberry Pi Car Device

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

FIXME 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: (FIXME)

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

wpa_supplicant o hostap, mapping automatico

Si vuole un sistema automatico per decidere se attivare l'interfaccia WiFi in modo managed oppure master, in teoria il mapping fornito da /etc/network/interfaces di Debian dovrebbe essere lo strumento adeguato.

dnsmasq

doc/appunti/hardware/raspberrypi_car.1376061011.txt.gz · Last modified: 2013/08/09 17:10 by niccolo