wlanctl-ng
どうしてこううまくいかないことだらけなのだろう。
全くいやになってしまう。
iwconfigでkey:となってしまうことについては、
/sbin/wlanctl-ng wlan0 lnxreq_autojoin ssid=authtype=sharedkey /sbin/wlanctl-ng wlan0 dot11req_mibset mibattribute=dot11WEPDefaultKey0=xx:xx:xx:xx:xx
としてやることで設定はできるようだ。
問題は/etc/init.d/wlan startとしてwlancfg-ssidの設定を使った動作などをさせたときに
正常に機能してくれないこと。未だにどの順序でやると設定が生きてくれるのかが謎。
さらにはWEPKeyを文字列で使っている私などは非常に苦労するのがHexで渡さなくていけないという点。
nwepgenというプログラムが付属しているが、どういう訳かこれでは正常に動かない。
orinoco_csで動いているマシンがあって、KEY=WEPKeyと設定しているデバイスをiwconfigで確認するとKEY:****-****-**と
文字列のWEPKeyがHexで表現されているのがわかる
しかしながら、これを自分で用意するとなると大変だ。途方に暮れるかもしれない。
幸いよいProgramSourceがNetで公開されていたため、私は助かりました。
カナダでインターネットというページにその答えがある。
切れるといけないので、写しをいただいておくことにする。
#include < stdio.h >
#include < string.h >
main() {
int i, n;
char str[30];
printf("WEP key : ");
scanf("%s", str);
printf("Input String : %sn", str);
n = strlen(str);
printf("String Len : %dn", n);
printf("Output String : ");
for (i=0; i< n-1; i++) {
printf("%x:", (int)str[i]);
}
printf("%xn", (int)str[n-1]);
return 0;
}includeのファイル明前後にスーペースがあり、コンパイル時にエラーになりまくって困ったが、何とか気がつき無事に使えた。
ありがたいです。(コピーして使うときはstdio.hなどの前後にあるスペースを削除のこと)