[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/