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などの前後にあるスペースを削除のこと)

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です