The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Настройка LED WiFi Broadcom ноутбука HP G5000 для отображения состояния RF-модуля (notebook linux led kernel patch)


<< Предыдущая ИНДЕКС Исправить src / Печать Следующая >>
Ключевые слова: notebook, linux, led, kernel, patch,  (найти похожие документы)
From: Владимиров Дмитрий <dima@vladimirov.org.> Newsgroups: email Date: Mon, 29 Jun 2008 17:02:14 +0000 (UTC) Subject: Настройка LED WiFi Broadcom ноутбука HP G5000 для отображения состояния RF-модуля ------------------- Исследование вопроса используя известный поисковик так и не привело к положительному результату, а именно, в ноутбуке HP G5000 не работала индикация состояния WiFi адаптера Broadcom BCM94311MCG (rev 01). Предлагается решение данного вопроса. Предполагается, что драйвера и firmware уже установлены (в моем случае это Slackware 12.1 и ядро 2.6.25.7), в этом состоянии светодиодный индикатор кнопки светит постоянно, в не зависимости от состояния RF-модуля. Dmesg, однако, исправно показывает изменение состояния радиомодуля адаптера при нажатии на кнопку. Этот недочет мы и постараемся исправить - заставим светодиодный индикатор кнопки отображать состояние RF-модуля адаптера. Если есть необходимость при загрузке не включать радиомодуль адаптера, следует раскомментировать 2 строки после "case B43_LED_RADIO_ALL:". Загрузить патч можно по ссылке: http://www.vladimirov.org/b43.patch --- drivers/net/wireless/b43/leds.c 2008-04-17 06:49:44.000000000 +0400 +++ drivers/net/wireless/b43/leds.c 2008-06-19 14:03:10.000000000 +0400 @@ -30,7 +30,7 @@ #include "leds.h" -static void b43_led_turn_on(struct b43_wldev *dev, u8 led_index, +void b43_led_turn_on(struct b43_wldev *dev, u8 led_index, bool activelow) { struct b43_wl *wl = dev->wl; @@ -47,7 +47,7 @@ spin_unlock_irqrestore(&wl->leds_lock, flags); } -static void b43_led_turn_off(struct b43_wldev *dev, u8 led_index, +void b43_led_turn_off(struct b43_wldev *dev, u8 led_index, bool activelow) { struct b43_wl *wl = dev->wl; @@ -158,6 +158,8 @@ led_index, activelow); break; case B43_LED_RADIO_ALL: +// b43info(dev->wl, "Switch off WiFi RF-module on startup\n"); +// b43_led_turn_off(dev, led_index, activelow); case B43_LED_RADIO_A: case B43_LED_RADIO_B: case B43_LED_MODE_BG: --- drivers/net/wireless/b43/leds.h 2008-04-17 06:49:44.000000000 +0400 +++ drivers/net/wireless/b43/leds.h 2008-06-19 14:01:13.000000000 +0400 @@ -44,6 +44,8 @@ void b43_leds_init(struct b43_wldev *dev); void b43_leds_exit(struct b43_wldev *dev); +void b43_led_turn_on(struct b43_wldev *dev, u8 led_index, bool activelow); +void b43_led_turn_off(struct b43_wldev *dev, u8 led_index, bool activelow); #else /* CONFIG_B43_LEDS */ --- drivers/net/wireless/b43/rfkill.c 2008-04-17 06:49:44.000000000 +0400 +++ drivers/net/wireless/b43/rfkill.c 2008-06-19 14:02:08.000000000 +0400 @@ -24,6 +24,7 @@ #include "rfkill.h" #include "b43.h" +#include "leds.h" #include <linux/kmod.h> @@ -50,6 +51,7 @@ struct b43_wl *wl = dev->wl; bool enabled; bool report_change = 0; + int i; mutex_lock(&wl->mutex); if (unlikely(b43_status(dev) < B43_STAT_INITIALIZED)) { @@ -62,6 +64,13 @@ report_change = 1; b43info(wl, "Radio hardware status changed to %s\n", enabled ? "ENABLED" : "DISABLED"); + if (enabled) { + for (i = 0; i <= 3; i++) + b43_led_turn_on(dev, i, i >> 1); + } else { + for (i = 0; i <= 3; i++) + b43_led_turn_off(dev, i, i >> 1); + } } mutex_unlock(&wl->mutex);

<< Предыдущая ИНДЕКС Исправить src / Печать Следующая >>

Обсуждение [ RSS ]
  • 1, grim (?), 14:14, 03/09/2008 [ответить]  
  • +/
    Как сим действом воспользоваться? я что-то не пойму
     
     
  • 2, Дима (??), 11:31, 01/10/2008 [^] [^^] [^^^] [ответить]  
  • +/
    Накладываем патч на дрова сетевухи, собираем. Дальше rmmod b43, insmod b43.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру