[sisyphus] Сегодняшнее обновление: hal + NetworkManager

Sergey N. Yatskevich =?iso-8859-1?q?syatskevich_=CE=C1_mail=2Eru?=
Сб Ноя 22 16:17:35 MSK 2008


> Странно, дело в том, что я смотрю и меняю состояние именно через
> /sys/class/net/eth1/device/rf_kill и у меня связь именно такая:
>     0 - сети видны (т.е. карточка включена)
>     1 - сети не видны (т.е. - выключена)
Наверное путаница возникает из-за того, относительно чего считать включён/выключен.
Если относительно выключателя, то тогда логика нормальная:
     1 - выключатель (RF killswitch) активен (но раз он активен
         то сама карточка получается выключенной)
     0 - выключатель неактивен (и карточка включена)

А если посмотреть на спецификацию интерфейса org.freedesktop.Hal.Device.KillSwitch 
(http://people.freedesktop.org/~david/hal-spec/hal-spec.html#interface-device-killswitch),
то видно, что он рассматривает всё относительно самой карточки (GetPower/SetPower, т.е.
подано писание на девайс или нет) и тогда получается, что hald-addon-ipw-killswitch
действительно должен инвертировать состояние, полученное из /sys/class/net/eth1/device/rf_kill
чтобы отобразить его на интерфейс org.freedesktop.Hal.Device.KillSwitch.

Более того, если бы я проектировал ipw2100 то я тоже так бы сделал. В самом деле, если
у меня два выключателя, которые контролируют состояние какого-то устройства, то чтобы
выдать максимум информации с помощью минимума средств я взял бы целое число, каждый
бит которого отвечал бы за состояние одного из переключателей (например 0-й за SW
killswitch, а 1-й за HW killswitch) и у меня всё получилось бы шоколадно SW и HW
killswitch'и включаются и выключаются независимо, что и отражается этим целым числом,
    0 - оба выключены (контролируемый девайс включён)
    1 - SW killswitch включён, а HW - выключен (девайс выключен)
    2 - SW killswitch выключен, а HW - включён (девайс выключен)
    3 - и SW и HW killswitch'и включены (девайс выключен)

Т.е. собственно контролируемое устройство работает только тогда, когда оба выключателя
выключены. Во всех остальных случаях оно отключено. Всё логично.

А откуда взялась вот эта информация?
> в /sys/class/net/iface/device/rf_kill (а начиная с 2.6.27
> в /sys/class/net/iface/device/rfkill/rfkill[0-9]*/state)
> наоборот 0 - off, 1 - on
И относительно чего здесь понимается off/on - относительно карточки или её
выключателя(лей).

-- 
Sergey N. Yatskevich <syatskevich на mail.ru>
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 197 байтов
Описание: Эта часть сообщения подписана цифровой подписью
Url     : <http://lists.altlinux.org/pipermail/sisyphus/attachments/20081122/d2d4ae82/attachment-0001.bin>


Подробная информация о списке рассылки Sisyphus