Raspberry PI et Celestron (Phase 1)

Objectif:

– Configurer le Raspberry en mode AP + Nat. OK
Installer le service Telescope Server Stellarium pour piloter le Telescope (Nexstar/LX2000). OK
– Permettre de visualiser via une webcam l’image du chercheur
– Permettre d’Astrophotographie depuis de le Raspberry (avec PI CAM NoIR)

Etape 1: Configuration réseau du PI avec connexion type Wired et Wireless

Ajouter dans le fichier de configuration /etc/dhcpcd.conf des lignes suivantes:

# On blacklist la config de wlan0 depuis le fichier et 
# on la fait depuis /etc/network/interface
denyinterface wlan0
# Depuis Jessie la config Manuelle de l'interface Eth0 
# peut se faire ici
interface eth0
static ip_address=192.168.100.128/24
static routers=192.168.100.254
static domain_name_servers=8.8.8.8

Ajouter dans le fichier /etc/network/interfaces

 iface wlan0 inet static
  address 10.0.0.1
  netmask 255.255.255.0
  network 10.0.0.0
  broadcast 10.0.0.255

Etape 2: Installer hostapd

apt-get install hostapd

Editer le fichier /etc/hostapd/hostapd.conf et ajouter ces lignes

interface=wlan0
# Pour la ligne Driver attention au choix (celui-ci est pour moi)
driver=rtl871xdrv 
ssid=<votre SSID ICI>
hw_mode=g
country_code=FR
channel=6
ieee80211n=1
wmm_enabled=1
ht_capab=[HT40][SHORT-GI-20][DSSS_CCK-40]
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=2
wpa_passphrase=<votre_passphrase_ici>
wpa_key_mgmt=WPA-PSK
wpa_ptk_rekey=600
wpa_pairwise=TKIP
rsn_pairwise=CCMP

Editer le fichier /etc/default/hostapd et completer la ligne

DAEMON_CONF="/etc/hostapd/hostapd.conf"

Lancer ensuite le service hostapd au moyen de la commande

sudo service hostapd start

Si comme moi votre carte wifi est mal/pas supporté par hostpad, trois solutions possibles
 – en acheter une nativement compatible avec le services hostapd  ($$$)
 – adapter le code pour que votre carte puisse fonctionner ( …StOl ?… )
 – recuperer le driver du constructeur et compiler le hostpad local (…rapide..)

Pour ma part, solution 3 rapide et pratique à la fois.

lsusb va montrer la ref et des infos techniques sur la carte

pi@raspberrypi:~/src $ lsusb 
Bus 001 Device 004: ID 050d:2103 Belkin Components F7D2102 802.11n N300 Micro Wireless Adapter v3000 [Realtek RTL8192CU]
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Téléchargement du drivers officiel chez Realtek pour mon dongle Wifi.
La compilation se fait rapidement, un peu de préparation

 cd ~/ && mkdir src && cd src
 sudo unzip 0001-RTL8188C_8192C_USB_linux_v4.0.2_9000.20130911.zip
 cd RTL8188C_8192C_USB_linux_v4.0.2_9000.20130911
 cd wpa_supplicant_hostapd
 sudo tar -xvf wpa_supplicant_hostapd-0.8_rtw_r7475.20130812.tar.gz
 cd wpa_supplicant_hostapd-0.8_rtw_r7475.20130812
 cd hostapd
 sudo make

On passe en mode “Krados”, normalement, il faudrait faire un beau paquet Debian, etc et Blah Blah, mais la franchement….pas le temps

 cp -p /usr/sbin/hostapd /usr/sbin/hostapd.orig
 cp -p ./hostpad /usr/sbin/hostapd

“ReLancer” le service hostpad devrait fonctionner normalement maintenant.

Etape 3 : Installer dnsmasq

apt-get install dnsmasq

On ajoute ensuite les fonctions de base

interface=wlan0
dhcp-range=10.0.0.10,10.0.0.30,6h
server=8.8.8.8
server=8.8.4.4
dhcp-authoritative

Lancer le service dnsmasq.

Etape 4: Configurer iptables

Il existe plusieurs moyen de charger la configurer d’iptable et l’activation du NAT.

Editer le fichier /etc/sysctl.conf et dé-commenter la ligne

net.ipv4.ip_forward=1

Editer le fichier /etc/iptables.ipv4.nat

# Generated by iptables-save v1.4.21 on Mon Jul  4 08:32:58 2016
*filter
:INPUT ACCEPT [557:44498]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [282:26716]
-A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i wlan0 -o eth0 -j ACCEPT
COMMIT
# Completed on Mon Jul  4 08:32:58 2016
# Generated by iptables-save v1.4.21 on Mon Jul  4 08:32:58 2016
*nat
:PREROUTING ACCEPT [15:2557]
:INPUT ACCEPT [15:2557]
:OUTPUT ACCEPT [4:384]
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -o eth0 -j MASQUERADE
COMMIT
# Completed on Mon Jul  4 08:32:58 2016

Editer le fichier /etc/network/interfaces et ajouter

up iptables-restore < /etc/iptables.ipv4.nat

Reboot du raspberry et tout devrait fonctionner à savoir

– Voir un SSID avec le nom défini dans le hostapd.conf
– Se connecter a ce SSID avec la clé du hostapd.conf
– Récupérer une IP du subnet du dnsmaq.conf
– Avoir une résolution DNS (via l’ip du wlan0)
– Acces au LAN et au WAN. (Nat)

Sinon….Google est mon ami….