Voici la configuration pour les systèmes du type Debian pour se connecter au réseau des hot-spots FreeWifi :

/etc/network/interfaces :

1
2
3
4
5
6
7
iface freewifi inet dhcp
  wireless-essid FreeWifi
  wireless-rate 11M
  wireless-key off
  pre-up ifconfig ath0 mtu 1460 up
  post-up nohup /root/bin/freewifi.sh &
  post-down killall -q -KILL freewifi.sh

/root/bin/freewifi.sh :

1
2
3
4
5
6
7
8
9
10
11
#!/bin/bash
KEY='' # identifiant freewifi, aller sur wifi.free.fr si vous ne l'avez pas encore
PASSWORD='' # mot de passe freewifi
 
sleep 3
while true ; do
  wget --quiet --no-check-certificate --post-data\
  'login='"$KEY"'&password='"$PASSWORD"'&submit=Valider'\
  'https://wifi.free.fr/Auth' -O '/tmp/free'
  sleep 1000
done

Pour lancer la connexion avec une carte Atheros par exemple :

ifup ath0=freewifi

Qu'est-ce qu'il y a d'original là-dedans ? La connexion n'est pas fiable avec la valeur par défaut du paramètre MTU (Maximum Transmission Unit); les paquets de plus de 1,46 ko ne semblent pas passer à cause de la fragmentation (on peut facilement tester avec ping -s TAILLE -v serveur.foo); à 1460 octets la connexion est stable, et des sessions SSH ont duré plusieurs heures sans problème chez moi. Ensuite on fixe la vitesse de la carte wifi à 11 Mbit/s; la plupart des cartes ont une puissance d'émission supérieure aux vitesses plus basses, et de toute manière on n'aura jamais plus de quelques Mbits avec un hot-spot. Enfin, le réseau FreeWifi utilise un portail captif pour vous authentifier pour une durée assez courte (quelque chose comme 30 minutes); avec mon script post-up, l'authentification se fait de manière automatique et périodique.