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….

hostap

Si vuole che il Raspberry possa funzionare in modo master (access point), ma che sia facile passare al modo managed (station) in roaming.

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 basta mettere in /etc/default/hostapd qualcosa del genere:

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

/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.

dnsmasq

doc/appunti/hardware/raspberrypi_car.1376060335.txt.gz · Last modified: 2013/08/09 16:58 by niccolo