Чего-то с этими включениями/выключениями дело мутное. Вот описание для ipw2100 (http://ipw2100.sourceforge.net/README.ipw2100): rf_kill read - 0 = RF kill not enabled (radio on) 1 = SW based RF kill active (radio off) 2 = HW based RF kill active (radio off) 3 = Both HW and SW RF kill active (radio off) write - 0 = If SW based RF kill active, turn the radio back on 1 = If radio is on, activate SW based RF kill NOTE: If you enable the SW based RF kill and then toggle the HW based RF kill from ON -> OFF -> ON, the radio will NOT come back on Так, похоже я был не прав. Всё таки включение/выключение WiFi карточки у меня работает и управляет ею именно rf_kill. 0 - означает, что карточка включена любое положительное число - что выключена Вручную проверил, вроде действительно работает. Т.е. изначально у меня в rf_kill записан 0 и карточка работает. Если я пишу в rf_kill единицу, то как минимум iwlist eth1 scan никаких сетей не видит (реальное выключение карточки я естественно проверить не могу, только по косвенным признакам) Если я опять пишу в rf_kill нолик, то всё опять работает. Ну а в addon-ipw-killswitch.c я вижу: /* Setting status of the killswitch */ static int set_killswitch (gboolean status) { ... // Пишем правильно, т.е status = true (включить), то пишем // 0, false (выключить) - пишем 1. if (status) { ret = fputc (0, f/*.../rf_kill*/); } else { ret = fputc (1, f/*.../rf_kill*/); } ... } /* Getting status of the killswitch */ static int get_killswitch () { ... if (fgets (buf, sizeof (buf), f/*.../rf_kill*/) == NULL) ... kill_status = strtol (buf, NULL, 10); // А вот и проблема - читаем неправильно, если в rf_kill записан 0, // то должны возвращать 1 (а возвращаем 0), а вот если любое другое // число - должны возвращать 0 (а возвращаем 1) ret = (kill_status) ? 1 : 0; // т.е. должно быть //ret = (kill_status) ? 0 : 1; ... return ret; } -- Sergey N. Yatskevich