|
Documentation NetBSD :Utilisation de l'IEEE 802.11 WaveLAN sous NetBSD |
wi* at pcmcia? function ? # Lucent WaveLAN IEEESi vous avez une version «ISA» de ces cartes, notez qu'il ne s'agit que d'un contrôleur PCMCIA sur carte ISA vous n'aurez donc qu'à configurer aussi un contrôleur PCMCIA dans votre noyau.
wi* at obio? #AirMacVérifiez, dans votre configuration noyau, que vous avez bien, pour les cartes Lucent :
wi* at pcmcia? function ? #Lucent WaveLan IEEE (802.11)
madmax# wiconfig -i wi0 NIC serial number: [ 98UT09331423 ] Station name: [ NetBSD WaveLAN/IEEE node ] SSID for IBSS creation: [ NetBSD IBSS ] Current netname (SSID): [ NetBSD IBSS ] Desired netname (SSID): [ ] Current BSSID: [ 00:00:00:00:00:00 ] Channel list: [ 2047 ] IBSS channel: [ 3 ] Current channel: [ 3 ] Comms quality/signal/noise: [ 0 27 27 ] Promiscuous mode: [ Off ] Port type (1=BSS, 3=ad-hoc): [ 3 ] MAC address: [ 00:60:1d:03:73:0f ] TX rate: [ 3 ] RTS/CTS handshake threshold: [ 2347 ] Create IBSS: [ Off ] Access point density: [ 1 ] Power Mgmt (1=on, 0=off): [ 0 ] Max sleep time: [ 100 ]La plupart des paramètres ci-dessus peuvent être modifiés à l'aide de ifconfig(8) et wiconfig(8) mais, pour la plus grande partie des portages, vous n'en aurez que peu à changer. Les valeurs par défaut, mode had hoc, correspondent à une utilisation rapide permettant de communiquer avec un autre périphérique WaveLAN, comme un ordinateur portable, pas forcément connecté à un réseau filaire. Elles sont adaptées pour faire des tests ou bien si vos besoins se limitent à un accès sans fil dans une petite limite avec un seul périphérique mobile. La plupart des utilisateurs voudront cependant utiliser le mode BSS (Basic Service Set : services de base). Il sert aux communications avec points d'accès, c'est à dire avec passerelle entre filaire et sans fil. (Le Lucent Wavepoint II a été testé; d'autres types peuvent ou non marcher). Pour passer la carte en mode BSS, utilisez ifconfig(8) avec une option «media» et sans «mediaopt adhoc» :
# ifconfig wi0 media DS11Rappelez-vous que vous pouvez avoir la liste des médias et leurs options avec «ifconfig -m wi0».
Considérons que ces autres valeurs par défaut fonctionnent, vous devriez voir «Current netname» prendre la valeur donnée par le point d'accès avec lequel communique votre carte. Si vous devez le changer, utilisez ifconfig(8) avec le mot clé «nwid» :
# ifconfig wi0 nwid foobarSi rien ne change, peut-être devrez-vous ajuster le canal de communication de votre carte (la ligne «Current channel» donnée par wiconfig(8). Il y a 14 canaux possibles. Nous avons été informé que les canaux 1 à 11 sont légaux en Amérique du Nord, 1 à 13 dans une grande partie de l'Europe, 10 à 13 en France et uniquement le 14 au Japon. En cas de doute, consultez la documentation fournie avec la carte ou avec le point d'accès. Assurez-vous que le canal choisi correspond à celui du point d'accès (ou de l'autre carte en réseau ad hoc). Par défaut, ce canal est le numéro 3 sur les cartes vendues en Amérique du Nord et dans une grande partie de l'Europe, 11 en France et 14 au Japon).
Lorsque vous obtenez une bonne communication avec la base (point d'accès) ou avec l'autre périphérique ad hoc, vous pouvez configurer wi0 de la même manière que toute interface réseau. Utilisez ifconfig(8), dhclient(8) ou tout ce que vous utiliseriez autrement. L'interface doit se comporter plus ou moins comme une interface ethernet.
Dans ce cas, la carte doit être configurée pour accepter la création d'un ensemble de périphériques. Utilisez l'option «-c» de wiconfig(8) :
# wiconfig wi0 -c 1Important: Pour que cela fonctionne, votre firmware doit être suffisamment récent. A partir de 6.04 semble être le minimum absolu, 6.06 a été déclaré non-fiable. 7.28 fonctionne.
Voici un exemple de configuration, issu de /etc/rc.conf, en mode BSS qui utilise ensuite DHCP pour obtenir une adresse :
ifconfig_wi0="nwid MON-ID media DS11" dhclient=yes
Si vous devez utiliser des commandes wiconfig(8) non accessibles par ifconfig(8), la configuration est légèrement plus compliquée car elle ne peut pas se faire à l'aide de la variable «ifconfig_wi0» de /etc/rc.conf.
Avec NetBSD 1.5.1 ou plus récent, vous pouvez modifier /etc/ifconfig.wi0 et y ajouter les lignes nécessaires. Par exemple :
!/usr/sbin/wiconfig wi0 -n MON-ID !/usr/sbin/wiconfig wi0 -p 1 !/usr/sbin/wiconfig wi0 -c 1 inet MON-IP netmask MASQUE-RÉSEAUCette caractéristique n'est pas gérée par les versions précédentes. A la place, vous devrez écrire les lignes requises, dans /etc/netstart, après la ligne :
ifconfig lo0 inet 127.0.0.1
Voici tout de même une chose intéressante à affiner : l'économie d'énergie. Elle ne fonctionne qu'avec le mode BSS (c'est à dire en communication avec un point d'accès) et en coopération avec le point d'accès. Le firmware de la carte IEEE WaveLAN doit être en version plus récente que 2.00 et la carte Lucent Wavepoint doit être en version plus récente que 2.03. (des mises à jour sont présentes sur le site web de Lucent mais, pour autant que nous le sachions, elles ne fonctionnent qu'avec Windows... une fois à jour, cependant, vous n'en aurez plus besoin).
Le mode économie d'énergie vous permet de préserver les piles de votre portable lorsque le trafic réseau est réduit. Les performances relevées sont assez bonnes. Pour le mettre en place, utilisez wiconfig(8) avec l'option -P (P majuscule) :
madmax# wiconfig -i wi0 -P 1Il faudra plus longtemps pour faire un ping mais la consommation sera moindre (les cartes sans fil dépensent énormément; cette option est recommandée si vous travaillez sans être branché au secteur). Cette opération peut s'exécuter par la ligne de commandes ou, si vous utilisez apmd(8), être gérée automatiquement avec des scripts dans /etc/apm/. Voyez apmd(8) pour plus de détails.
Voici des sripts rapidement écrits qui permettront de commencer :
Inscrivez ce qui suit dans /etc/apm/line :
#!/bin/sh
# recherche d'interfaces 'wi' (WaveLAN IEEE) pour annuler
# l'économie d'énergie.
INTERFACES=`/sbin/ifconfig -l -u`
for i in $INTERFACES; do
case $i in
wi*)
/usr/sbin/wiconfig -i $i -P 0
;;
esac
done
Puis ceci dans /etc/apm/battery :
#!/bin/sh
# recherche d'interfaces 'wi' (WaveLAN IEEE) pour activer
# l'économie d'énergie (uniquement celles qui sont utilisées)
INTERFACES=`/sbin/ifconfig -l -u`
for i in $INTERFACES; do
case $i in
wi*)
/usr/sbin/wiconfig -i $i -P 1
;;
esac
done
A condition que APM soit correctement configuré, la carte se mettra en mode économie d'énergie lorsque vous débrancherez le secteur et reprendra le mode normal lorsque vous le rebrancherez !
Dans certains cas, l'ordinateur a démarré sous Windows et la plage d'entrée-sortie de chaque périphérique trouvé par Windows a été examinée (la table de «ressources» du gestionnaire de périphériques). Une chose est sûre, le système audio possède un mode de compatibilité (dont NetBSD n'a pas besoin) qui utilise une partie de la plage que NetBSD alloue à wi0.
Comment faire ? Le plus facile est de forcer NetBSD à n'allouer à l'espace d'entrée-sortie qu'une plage spécifique d'adresses : trouvez un intervalle important non-utilisé par le portable (au moins 64 octets !) puis, dans votre fichier de configuration du noyau, indiquez où démarrer et combien allouer. Par exemple (ce cas peut ne pas fonctionner chez vous !), utilisons une plage de 256 octets à partir de l'adresse 0x600, en renseignant respectivement les options PCIC_ISA_ALLOC_IOSIZE et PCIC_ISA_ALLOC_IOBASE. Dans le fichier de configuration du noyau, vous aurez :
options PCIC_ISA_ALLOC_IOBASE=0x600 options PCIC_ISA_ALLOC_IOSIZE=0xffRappelez-vous que ces valeurs peuvent ne pas fonctionner chez vous ! Pour trouver vos valeurs propres, vous pouvez soit consulter la documentation (si vous la trouvez) soit, sous Windows, répertorier chaque plage utilisées par chaque périphérique et en choisir une qui n'est pas utilisée.
pcic1 at isa? port 0x3e2 iomem 0xcc000 iosiz 0x4000 options PCIC_ISA_ALLOC_IOBASE=0x300 options PCIC_ISA_ALLOC_IOSIZE=0x0ffDans le cas particulier de ce système, de nombreuses adresses ont été utilisées sans gain de cause. Windows a donné la solution car il utilisait 0xcc000 pour faire fonctionner la carte. Ces valeurs peuvent ne pas fonctionner chez vous !
|
|