Faciliter la connexion filaire/WiFi pour les portables intégrés

De Wiki Dane (ex wikitice)
Aller à : navigation, rechercher

Pour les portables intégrés le passage d'une connexion filaire à une connexion WiFi est parfois long et fastidieux quand la machine attend une réponse DHCP sur une interface puis sur l'autre. La solution consiste à faire un script « unefois » qui reconfigure les interfaces pour utiliser le mécanisme bond du paquet ifenslave.

Sources : https://wiki.debian.org/Bonding

Script :

Le script ci-dessous correspond à la mise en place de ce mécanisme pour deux types de portables, ayant des cartes réseau, différentes et étant dans deux parcs distincts. « t2mini » et « t2asus »

#!/bin/bash
 
# Mise en place du Wifi
apt-get update
installed=""
 
# Cas des machines du parc « t2mini » ayant une carte Broadcom
if appartient_au_parc "t2mini" "$NOM_HOTE"; then
    # On cherche si les paquets Broadcom sont installés
    installed=`aptitude search b43 | grep ^i`
    echo "Portable HP Mini, installation des paquets Wifi et b43"
    if [ -z "$installed" ]; then
       apt-get -q -y install wireless-tools wpasupplicant firmware-b43-installer b43-fwcutter libnl-3-200 libnl-genl-3-200 libreadline5 ifenslave
    fi
    installed="oui"
fi
 
# Cas des machines du parc « t2asus » ayant une carte Intel
if appartient_au_parc "t2asus" "$NOM_HOTE"; then
    # On cherche si les paquets Broadcom sont installés
    installed=`aptitude search iwlwifi | grep ^i`
    echo "Portable Asus, installation des paquets Wifi et iwlwifi"
    if [ -z "$installed" ]; then
        apt-get -q -y install wireless-tools wpasupplicant firmware-iwlwifi libnl-3-200 libnl-genl-3-200 libreadline5 ifenslave
    fi
    installed="oui"
fi
 
# Le fichier « interfaces » est déjà modifié ? 
confreseau=`cat /etc/network/interfaces | grep bond-master`
 
if [[ -z "$confreseau" ]] && [[ -n "$installed" ]]; then
echo "Mise en place des fichiers d'interface réseau"
# Arrêt du service réseau
service networking stop
 
# Écriture du fichier « interfaces »
echo "
auto bond0
iface bond0 inet dhcp
    bond-slaves eth0
    bond-mode 1
    bond-miimon 100
    bond-primary eth0
 
allow-hotplug wlan0
iface wlan0 inet manual
    bond-master bond0
    bond-mode 1
    bond-miimon 100
    bond-give-a-chance 10
    wpa-bridge bond0
    wpa-key-mgmt WPA-PSK
    wpa-proto WPA
    wpa-group CCMP
# Mettre son SSID
    wpa-ssid mon_ssid
# Mettre son mot de passe
    wpa-psk mon_mot_de_passe
" > /etc/network/interfaces
# On redémarre le service réseau
service networking restart