Tous les articles par jb

Compiler et configurer hostapd.

Qui n’a jamais rêvé d’avoir un réseau wifi au maximum de ses capacités de fonctionnement malgré plein de box voisines perturbant l’environnement?

Patch a appliquer ici.

Le script d’installation qui s’occupe de tout 😉 :

[code lang= »shell »]

#!/bin/bash
# Definition de quelques couleurs
red=’\e[0;31m’
redhl=’\e[0;31;7m’
RED=’\e[1;31m’
blue=’\e[0;34m’
BLUE=’\e[1;34m’
cyan=’\e[0;36m’
CYAN=’\e[1;36m’
NC=’\e[0m’ # No Colo

if [ $USER != "root" ]
then
echo -e $RED"Vous devez être root pour lancer ce progamme!"$NC
exit 1
fi

VERSION=2.5
apt-get install pkg-config make patch gcc libnl-genl-3-dev libnl-3-dev bridge-utils hostapd libssl-dev -y

brctl addbr br0
brctl addif br0 eth0
echo "DAEMON_CONF=\"/etc/hostapd/wlan0.conf" > /etc/default/hostapd
cd /usr/local/src/
wget http://w1.fi/releases/hostapd-${VERSION}.tar.gz
tar xzvf hostapd-${VERSION}.tar.gz

cd hostapd-${VERSION}/
wget http://jbsky.fr/Download/patch.hostapd
patch -p0 < patch.hostapd

cd ../hostapd-${VERSION}/hostapd
cp defconfig .config
cat << EOF >> .config
CONFIG_ACS=y
CONFIG_IEEE80211R=y
CONFIG_IEEE80211N=y
CONFIG_IEEE80211AC=y
CONFIG_DRIVER_NL80211=y

CONFIG_LIBNL32=y
CONFIG_LIBNL20=y
CONFIG_CTRL_IFACE=y
CONFIG_WPS=y
CONFIG_WPS2=y
CONFIG_P2P=y
CONFIG_AP=y
EOF
make
cp hostapd /usr/sbin/
cp hostapd_cli /usr/sbin/
[/code]

En général, les fichiers de configuration sont à placer dans /etc/hostapd/.

[code lang= »shell »]
interface=wlan0
# bridge=br0
driver=nl80211
ctrl_interface=/var/run/hostapd
ssid=Hotspot_2Ghz
ignore_broadcast_ssid=0
hw_mode=g
channel=11
auth_algs=1
wmm_enabled=1
ieee80211n=1
ht_capab=[LDPC][SHORT-GI-20][SHORT-GI-40][HT40-]
ieee80211ac=0

wpa=2
wpa_passphrase=password
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP
country_code=FR
[/code]

Réparer le boot Linux

Aujourd’hui, je me retrouve dans une impasse pour réparer la Debian. Au démarrage, j’ai à l’écran en première ligne,

modprobe:  can't change directory to '3.16.0-4-amd64' : No such file or directory. 
Gave up waiting for root device. Common problems:
- Boot args (cat /proc/cmdline)
    - Check rootdelay = (did the system wait long enough?)
    - check root =( did the system wait for the right device?)
- Missing modules (cat /proc/modules : ls /dev)
ALERT ! /dev/disk/by-uuid/411ca.....d69 does not exist.
Dropping to a shell!
modprobe:  can't change directory to '3.16.0-4-amd64' : No such file or directory. 
modprobe:  can't change directory to '3.16.0-4-amd64' : No such file or directory. 
modprobe:  can't change directory to '3.16.0-4-amd64' : No such file or directory. 
modprobe:  can't change directory to '3.16.0-4-amd64' : No such file or directory....

J’ai booté sur une clef usb avec une netinst debian 8, la même version que celle installé sur le pc pour « chrooté ».

[code lang= »shell »]
mount /dev/md0 /mnt
mount –bind /proc /mnt/proc
mount –bind /dev /mnt/dev
mount –bind /sys /mnt/sys
chroot /mnt
[/code]

J’ai vérifié que l’UUID incriminé existe bien avec blkid. Chez moi, j’ai remarqué que le lien suivant est corrompu:

[code lang= »shell »]
/initrd.img -> /boot/initrd.img-3.16.0-4-amd64
[/code]

J’ai rétabli correctemnt le lien par

[code lang= »shell »][/code]

root@a:~# cd /
root@a:~# ln -s boot/initrd.img-3.16.0-4-amd64 initrd.img

[code][/code]

 

Ensuite j’ai régénéré le initramfs :

# dpkg-reconfigure linux-image-3.2.0-2-686-pae

Source utile : http://kernel-handbook.alioth.debian.org/ch-initramfs.html
Mon linux redémarre nickel.