Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: (РЕШЕНО)Ноутбук -- светодиод активности Wi-Fi / Bluetooth  (Прочитано 4388 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн tovit

  • Автор темы
  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Поиск по форуму и инету с самыми разнообразными вариантами запроса (в том числе и на английском) не дал результатов. Так что если уже обсуждалось -- ткните носом.

Описание: Ноутбук RoverBook Voyager V550 имеет 2 светодиода активности Wi-Fi / Bluetooth, которые в темной комнате напоминают прожектора...
Понимаю, что не в тему форума, но факт пригодиться -- в WinXP эти диоды светятся постоянно и равномерно мигают при активности одного из устройств. В Ubuntu 8.04.1 эти индикаторы лишь изредка мигали очень короткими импульсами и сей факт радовал... Но вот с обновлением до 8.10 пришла проблема -- теперь они ритмично мигают постоянно, что раздражает...

Проблема: мигание этих светодиодов.

Почему думаю, что это можно побороть:
1) До обновления такого спецэффекта не было;
2) При запуске X-ов, на экране входа, они просто ровно светятся. Т.е. их что-то запускает.
3) Замечено три различных варианта работы индикаторов.

Что пробовал сделать сам:
 -- выключить bluetooth (через службы и умерщвлением процессов с похожими названиями)*
 -- через BIOS -- можно только полностью выключить приемопередатчик ноута, что крайне не желательно, т.к. постоянно используется Wi-Fi

Заранее, спасибо за помощь.

*Я не слишком опытен в отношениях с Linuxом, сильно не пинайте...
« Последнее редактирование: 07 Апреля 2009, 18:27:34 от tovit »

Оффлайн dmig

  • Старожил
  • *
  • Сообщений: 1668
    • Просмотр профиля
Re: Ноутбук -- светодиод активности Wi-Fi / Bluetooth
« Ответ #1 : 02 Апреля 2009, 16:27:57 »
что сделать то надо?
просто погасить их?

управляются светодиоды скриптами acpi, можно закомментировать их включение там. можно сделать скрипт, который будет их просто гасить. мигание управляется драйверами самих светодиодов и, возможно, wifi/bluetooth (по крайней мере так было).

что говорит ls -r /sys/class/leds?

Оффлайн tovit

  • Автор темы
  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Re: Ноутбук -- светодиод активности Wi-Fi / Bluetooth
« Ответ #2 : 03 Апреля 2009, 09:10:42 »
нужно выключить или свести к минимуму их свечение/мерцание.

что говорит ls -r /sys/class/leds?
iwl-phy0:TX  iwl-phy0:RX  iwl-phy0:radio  iwl-phy0:assoc

Оффлайн dmig

  • Старожил
  • *
  • Сообщений: 1668
    • Просмотр профиля
Re: Ноутбук -- светодиод активности Wi-Fi / Bluetooth
« Ответ #3 : 03 Апреля 2009, 09:45:49 »
так, лучше вот так: ls -lr /sys/class/leds
короче, поиграйся с этими устройствами, посмотри, что покажет cat /sys/class/leds/устройство, посмотри у каких из них есть права на запись, попробуй с этими поделать echo 0 > /sys/class/leds/устройство (или 1), от рута ессно.

когда найдёшь, чем они управляются, можно будет просто записать команды в скриптик и выполнять его, когда свечение надоест (при старте - не поможет, они включаются динамически, при работе драйверов).

ещё, есть у меня подозрение, что у светодиодов есть режим просто горения, но как включить пока не представляю.

кстати, говоришь, очень яркие?
простейшее решение: берёшь матовый лак для ногтей, например, или белую краску (лучше специальную, как для моделей) и тупо закрашиваешь эти грёбаные светодиоды! :)
так ярко уже не будет.

Оффлайн MIxan

  • Активист
  • *
  • Сообщений: 285
  • Кто победил, тот и добро!
    • Просмотр профиля
    • Блог вебмастера
Re: Ноутбук -- светодиод активности Wi-Fi / Bluetooth
« Ответ #4 : 04 Апреля 2009, 09:09:04 »
Была такая же фигня, режилось тупым закрашиванием спец лаком)

Оффлайн tovit

  • Автор темы
  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Re: Ноутбук -- светодиод активности Wi-Fi / Bluetooth
« Ответ #5 : 04 Апреля 2009, 12:49:42 »
Нет, закрасить я мог и без форума ;) . Это плохое решение.

Я победил! :)

Спасибо, dmig за наводку где искать.

Опишу для истории как решилось.

Итак, была найдена папка /sys/class/leds где лежат символические ссылки куда-то (куда, я так и не понял, скорее всего что-то виртуализированное внутри системы).

root@laptop:/# cd /sys/class/leds
root@laptop:/sys/class/leds# ls

iwl-phy0:assoc  iwl-phy0:radio  iwl-phy0:RX  iwl-phy0:TX

root@laptop:/sys/class/leds#

У меня этих ссылок оказалось 4, как видно из вывода консоли.
Попытка отправить им команду, привела к ругани. о том что это простая папка.
root@laptop:/sys/class/leds# echo 0 > iwl-phy0\:assoc
bash: iwl-phy0:assoc: Is a directory
root@laptop:/sys/class/leds#

Не особо удивившись этому, я начал копать дальше.
Внутри каждой папки обнаружились одни и те же файлы:
root@laptop:/sys/class/leds/iwl-phy0:assoc# ls
~device 
/power 
~subsystem
brightness 
trigger 
uevent
(форматирование вывода я изминил)

3 папки и 3 файла. Нас интересует только brightness, именно в него нужно передавать 0 чтобы погасить светодиоды.

Но тут есть тонкость, методом пробу и ошибок, выяснилось, что нужно отсылать 0 в два устройства (по крайней мере для моего ноутбука).

2 команды (выполняемые последовательно) выключающие индикатор активности Wi-Fi/Bluetooth на ноутбуке RoverBook Voyager V550 под Ubuntu 8.10
выполняются из root

1) переводит индикатор в состояние постоянного свечения.
echo 0 > /sys/class/leds/iwl-phy0\:assoc/brightness

2) выключает индикатор.echo 0 > /sys/class/leds/iwl-phy0\:radio/brightness
После выполнения этих команд, только один индикатор мерцает раз в секунду короткими импульсами (иначе мигали 2 с интервалом в пол секунды вспышками по пол секунды), но это уже победа, тем более, что этот индикатор расположен под рукой и его не замечаешь.



Теперь заключительный вопрос: Как добавить эти команды в автозагрузку? т.к. после перезагрузки их нужно выполнять повторно и от имени root'а.
« Последнее редактирование: 04 Апреля 2009, 17:03:07 от tovit »

Оффлайн dmig

  • Старожил
  • *
  • Сообщений: 1668
    • Просмотр профиля
Re: Ноутбук -- светодиод активности Wi-Fi / Bluetooth
« Ответ #6 : 04 Апреля 2009, 15:45:59 »
создать скрипт в /etc/init.id (например из /etc/init.d/skeleton),
потом sudo update-rc.d имя_скрипта start 80 2345

Пользователь решил продолжить мысль 04 Апреля 2009, 15:49:16:
Нет, закрасить я мог и без форума ;) . Это плохое решение.
кстати, более правильное идеологически. поскольку слишком яркие индикаторы -- это баг дизайна (или его реализации).
« Последнее редактирование: 04 Апреля 2009, 15:49:16 от dmig »

Оффлайн tovit

  • Автор темы
  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Re: Ноутбук -- светодиод активности Wi-Fi / Bluetooth
« Ответ #7 : 04 Апреля 2009, 19:24:06 »
sudo gedit /etc/init.d/leds-off.sh
содержимое
#!/bin/bash

# Выключаем мигалки на ноуте

echo 0 > /sys/class/leds/iwl-phy0\:assoc/brightness
echo 0 > /sys/class/leds/iwl-phy0\:radio/brightness

дальше
sudo update-rc.d leds-off.sh start 80 2345.
update-rc.d: error: expected runlevel [0-9S] (did you forget "." ?)
usage: update-rc.d [-n] [-f] <basename> remove
       update-rc.d [-n] <basename> defaults [NN | SS KK]
       update-rc.d [-n] <basename> start|stop NN runlvl [runlvl] [...] .
-n: not really
-f: force
:-\

Оффлайн dmig

  • Старожил
  • *
  • Сообщений: 1668
    • Просмотр профиля
Re: Ноутбук -- светодиод активности Wi-Fi / Bluetooth
« Ответ #8 : 04 Апреля 2009, 20:39:29 »
точно, ошибка, вот так надо:
sudo update-rc.d leds-off.sh start 80 2 3 4 5

Оффлайн tovit

  • Автор темы
  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Re: Ноутбук -- светодиод активности Wi-Fi / Bluetooth
« Ответ #9 : 04 Апреля 2009, 23:48:29 »
sudo update-rc.d leds-off.sh start 80 2 3 4 5
Use of uninitialized value $level in string ne at /usr/sbin/update-rc.d line 243.
Use of uninitialized value $level in pattern match (m//) at /usr/sbin/update-rc.d line 244.
update-rc.d: error: expected runlevel [0-9S] (did you forget "." ?)
usage: update-rc.d [-n] [-f] <basename> remove
       update-rc.d [-n] <basename> defaults [NN | SS KK]
       update-rc.d [-n] <basename> start|stop NN runlvl [runlvl] [...] .
-n: not really
-f: force
На каком языке написан этот скрипт? Perl?

Из кода интуитивно (ни когда не писал на Perl, но чутьё+опыт не подвели) стало понятно, что есть bug.
Решился он путем добавления в конце точки.
sudo update-rc.d leds-off.sh start 80 2 3 4 5 .
 Adding system startup for /etc/init.d/leds-off.sh ...
   /etc/rc2.d/S80leds-off.sh -> ../init.d/leds-off.sh
   /etc/rc3.d/S80leds-off.sh -> ../init.d/leds-off.sh
   /etc/rc4.d/S80leds-off.sh -> ../init.d/leds-off.sh
   /etc/rc5.d/S80leds-off.sh -> ../init.d/leds-off.sh

Чуть позже, любопытство одолело меня и гугл выдал вот это. Нырнув еще чуть глубже, нашел это, где так же, один из способов обхода проблемы является дописывание вконец точки, так же, там есть ссылка на файл исправления, который вызвал логичный вопрос -- как его применять? не вручную же... думаю, существует программная реализация, т.к. нотация очень логичная и строгая, или писать свою?



автозапуск не сработал :( .
Временно выкрутился -- стал владельцем обоих файлов brightness и вынес кнопочку запускающую скрипт на главную панель.
« Последнее редактирование: 05 Апреля 2009, 11:49:30 от tovit »

 

Страница сгенерирована за 0.019 секунд. Запросов: 20.