[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[openbsd] ipw fuckup
День добрый,
делюсь с несчастливыми сообладателями этого говна:
ipw0 at pci1 dev 2 function 0 "Intel PRO/Wireless 2100" rev 0x04: irq
11, address какой-то
несчастливым обладателям наверняка знакомо такое:
dmesg | grep 'ipw0: fatal firmware error' | wc -l
150
мой наколенный рецепт...
/etc/syslog.conf:
kern.* |/usr/local/sbin/ipw-watch.pl
/etc/sudoers:
_syslogd ALL=NOPASSWD: /sbin/dhclient -q ipw0
_syslogd ALL=NOPASSWD: /sbin/ifconfig ipw0 down
_syslogd ALL=NOPASSWD: /usr/bin/pkill -1 syslogd
/usr/local/sbin/ipw-watch.pl:
#!/usr/bin/perl -w
use strict;
while (<>) {
if ( (/ipw0: fatal firmware error/) or (/ipw0: device timeout/)) {
system("/usr/bin/sudo","/sbin/ifconfig","ipw0","down");
system("/usr/bin/sudo","/sbin/dhclient","-q","ipw0");
system("/usr/bin/sudo","/usr/bin/pkill","-1","syslogd");
}
}
строчку с dhclient, понятное дело, сношать по вкусу. передёргивать
syslogd НАДО. либо, как-то иначе писать перловку. без kill -1 через
3-4 срабатывания конструкция перестаёт работать.
--
Igor "CacoDem0n" Grabin, http://violent.death.kiev.ua/
--
To unsubscribe send a mail to openbsd+unsubscribe@uaoug.org.ua
For retrieval all messages in the archive go to http://www.uaoug.org.ua/archive/