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


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: packard bell bg46  (Прочитано 10655 раз)

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

Оффлайн fyrchela

  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Re: packard bell bg46
« Ответ #15 : 07 Июля 2009, 23:07:55 »
к сожалению, не вышло :(

user@user-laptop:/lib/modules/2.6.30-020630-generic/kernel/drivers/acpi$ patch -p3 < /home/user/Desktop/p1.patch
can't find file to patch at input line 5
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/drivers/acpi/video.c b/drivers/acpi/video.c
|index 1bdfb37..1735c34 100644
|--- a/drivers/acpi/video.c
|+++ b/drivers/acpi/video.c
--------------------------
File to patch:

ну и на этом все...в папке drivers/acpi кстати действительно нет файла video.c, а есть video.ko

Оффлайн dmig

  • Автор темы
  • Старожил
  • *
  • Сообщений: 1668
    • Просмотр профиля
Re: packard bell bg46
« Ответ #16 : 08 Июля 2009, 10:06:15 »
к сожалению, не вышло :(

user@user-laptop:/lib/modules/2.6.30-020630-generic/kernel/drivers/acpi$ patch -p3 < /home/user/Desktop/p1.patch
can't find file to patch at input line 5
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/drivers/acpi/video.c b/drivers/acpi/video.c
|index 1bdfb37..1735c34 100644
|--- a/drivers/acpi/video.c
|+++ b/drivers/acpi/video.c
--------------------------
File to patch:

ну и на этом все...в папке drivers/acpi кстати действительно нет файла video.c, а есть video.ko

а ещё раз прочитать моё сообщение? в директории с исходниками ядра

вообще, советую почитать различные хауту как собирать, в т.ч. ядро, прежде чем что-то делать. вот по этой инструкции https://forum.ubuntu.ru/index.php?topic=59385.0 можно понять процесс, тут он будет аналогичным.

Оффлайн fyrchela

  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Re: packard bell bg46
« Ответ #17 : 08 Июля 2009, 11:00:08 »
прошу прощения и спасибо :)

Оффлайн dmig

  • Автор темы
  • Старожил
  • *
  • Сообщений: 1668
    • Просмотр профиля
Re: packard bell bg46
« Ответ #18 : 08 Июля 2009, 12:24:47 »
поправил первое сообщение в теме. теперь все инструкции там.

Оффлайн Skvo

  • Новичок
  • *
  • Сообщений: 2
    • Просмотр профиля
Re: packard bell bg46
« Ответ #19 : 28 Июля 2009, 23:52:32 »
Разобрался с кнопкой-сенсором 'eco':
- эта хрень целиком управляется биосом и отключить это возможным не представляется (по словам разработчика asus-laptop).
- действие режима eco: подсветка переключается до уровня 6 (из 0-8), если она ярче, throttling процессора устанавливается на 50% (не подтверждено). при отключении режима подсветка выставляется на уровень 8.
Поведение ECO прописано в DSDT:
"Method (_Q82" - обрабатывает события от нажатия кнопки ECO. Внутри его идёт вызов "Method (ECFN" - который обрабатывает само поведение экономическим режимом (ументшение подсветки и включением throttling у процессора).

Правда в Method (ECFN в первой же строчке идёт проверка на ОС, и если у нас чтото отличное от Windows Vista, то никаких действий предпринято не будет...

Теперь касательно подсветки: у матрицы 16 уровней. При обработке стандартных функциональных кнопок Fn+F6 и Fn+F7 в DSDT, тоже стоит проверка на ОС. Если у нас WindowsXP, то при регулировании подсветки будет доступны все 16 уровней, а если Vista - то только 8. В методах обработки этих функциональных клавиш "Method (_Q0F" и "Method (_Q10" для Висты идёт умножение устанавливаемого параметра на 2, из за этого в реальности из 16 уровней доступны только половина - это все чётные уровни...

По поводу throttling и Кнопки ECO - в DSDT для Висты выставляются разные значения, если мне не изменяет память, то при питании от сети - 50%, при питании от батареи 62,5%...

И соответственно твоя цитата по поводу невозможности удаления немного ошибочна. Удалить из DSDT несложно, но лучше наверное настроить на полноценную работу...

P.S. У меня аналогичный зверёк packard bell bg46 и ОС тоже альтернативная. Правда не Linux, а MacOS, но проблема была та-же с кнопкой ECO.  И путём правки DSDT она была решена...
« Последнее редактирование: 28 Июля 2009, 23:59:46 от Skvo »

Оффлайн dmig

  • Автор темы
  • Старожил
  • *
  • Сообщений: 1668
    • Просмотр профиля
Re: packard bell bg46
« Ответ #20 : 30 Июля 2009, 00:23:00 »
О как!

Настолько детально я код DSDT не разглядывал -- не видел этих проверок.
Можно пояснить по поводу throttling, это то, чем занимается cpufreq governor, т.е. выставление частоты или это ещё какой-то способ?

Как правил DSDT? Шил или подменял образ?
Я пробовал заменять DSDT штатным способом: положить свой DSDT.aml в образ initrd. Но регулировку подсветки это не выпрямляет.

ЗЫ с радостью повесил бы на кнопку eco какую-нить медиаклавишу. и светодиод её системе бы предоставил в пользование.

Оффлайн Skvo

  • Новичок
  • *
  • Сообщений: 2
    • Просмотр профиля
Re: packard bell bg46
« Ответ #21 : 30 Июля 2009, 10:35:37 »
О как!

Настолько детально я код DSDT не разглядывал -- не видел этих проверок.
Можно пояснить по поводу throttling, это то, чем занимается cpufreq governor, т.е. выставление частоты или это ещё какой-то способ?

Как правил DSDT? Шил или подменял образ?
Я пробовал заменять DSDT штатным способом: положить свой DSDT.aml в образ initrd. Но регулировку подсветки это не выпрямляет.
Для начала загляни в профильный форум по МасОS. Там в шапке выложены мои биосы с обновлённым DSDT заточенным под МакОС. а также там расписаны все отличия от оригинального биоса:
http://www.applelife.ru/noutbuki42/packard_bell_bg_46/13034.html

Во вторых вот тот самый dsdt из второй версии правленного биоса, можешь сам сравнить с оригиналом...
http://files.wyw.ru/3806504

Теперь про правку DSDT. В процессе тестирования изменений на том форуме про MacOS все пользовались внешним DSDT.aml, подгружаемым через загрузчик. Как только все баги отловили, я подменил его в биосе, и выложил прошивалку...

Теперь идём к проверкам на ОС.
В основном всё завязано на переменную OSFG. По умолчанию она равна нулю. Далее в методе MSOS идёт идентификация ОС и присваивание OSFG соответствующего значения. Вот кусок из оригинала:
       Method (MSOS, 0, NotSerialized)
        {
            If (CondRefOf (_OSI, Local0))
            {
                If (_OSI ("Windows 2001"))
                {
                    Store (OSXP, OSFG)
                }
                If (_OSI ("Windows 2006"))
                {
                    Store (OSVT, OSFG)
                }
                Return (OSFG)
          }
Как видишь если обнаруживается XP или Виста, то в OSFG присваивается соответствующее значение, в противном случае идёт возврат значения по умолчанию. И как я уже до этого говорил, в процедурах обработки функциональных кнопок и для уменьшения/увеличения яркости, и для работы ECO, есть проверки этой переменной (да и во многих других местах она имеется):
           If (LEqual (OSFG, OSVT))
Теперь про мои изменения и МакОС. Со значением OSFG по умолчанию под MacOS не работает сон. Точнее ноут усыпает, но никогда не просыпается. Приходилось полностью его выключать, и заного перезагружать ОС. Если в OSFG подставить те значения которые присваиваются Windowsм, то сон под МасОС начинает работать без проблем.
Из-за этого в модуле MSOS, операционка МакОС прикидывается XP:
       Method (MSOS, 0, NotSerialized)
        {
            If (CondRefOf (_OSI, Local0))
            {
                If (LOr (_OSI ("Darwin"), _OSI ("Windows 2001")))
                {
                    Store (OSXP, OSFG)
                }
Соответственно в других методах, к примеру по управлению ECO режимом, режим работы который был там прописан исключительно для Висты, дополнен работой с другими значениями OSFG...

Теперь про регулирование подсветки и моей МакОС. Как я выше говорил, в DSDT два метода работы завязанных на переменной OSFG. Вариант для Висты похоже общается с самой Оперрационкой и уже ОС регулирует яркость. Под МакОС штатная функция регулировки подсветкой на нашем ноутбуке не работает. Из-за этого метод для Висты под МакОС использовать невозможно...
Зато работает под МакОС второй имеющийся там метод - регулирование подсветки через функциональные клавиши без участия ОС. Вся регулировка идёт исключительно командами из DSDT, и вот этим методом мы и пользуемся. Единственное, что у меня там убраны ограничения на максимальный уровень при работе от батарей, и управление именно этим режимом подсветки добавлено в модуль работы Экономичного режима...

Касательно самой лампочки ECO - совсем просто. В DSDT пишем:
включение лампочки - SGPL (0x06, One, One)
выключение - SGPL (0x06, One, Zero)

Про throttling. Если я всё правильно понял, то этот режим завязан не на частоту, а на пропуск тактов...
Под виндой его включение хорошо видно через утилиту Rmclock, там же и устанавливаемые значения отображаются. Единственное, что для MacOS я поставил чтобы в обоих режимах и от батарей и от сети значения были одинаковые - 50%. А не то для висты выставлено на мой взгляд нелогично. От сети экономит проц сильнее, чем от батарии...

 
« Последнее редактирование: 30 Июля 2009, 10:49:28 от Skvo »

Оффлайн dmig

  • Автор темы
  • Старожил
  • *
  • Сообщений: 1668
    • Просмотр профиля
Re: packard bell bg46
« Ответ #22 : 30 Июля 2009, 11:19:54 »
Спасибо за ответ!
В ближайшее время займусь правкой DSDT.

Про троттлинг вот что говорят: (переход с en.wikipedia.org/wiki/Throttling) http://en.wikipedia.org/wiki/Dynamic_frequency_scaling. То есть, кнопка ECO нафик не нужна, g-p-m и governor делают то же самое и ничуть не хуже. Надо бы добавить ноуту AppKey :)

ЗЫ про лампочку я имел в виду так, чтобы через механизмы ядра (/sys/class/leds/...) можно было управлять этим светодиодом.

Оффлайн zl0i

  • Активист
  • *
  • Сообщений: 344
  • Как много веселых ребят и все делают велосипед...
    • Просмотр профиля
Re: packard bell bg46
« Ответ #23 : 31 Июля 2009, 23:21:30 »
Извиняюсь, что не совсем в тему. Но тут похоже собрались эксперты. У меня ноут samsung r60+, так вот там Фн кнопки "залипают", для себя я проблему решил патчем ядра, чтоб эти кнопки все-таки посылали событие "Отпустио" :), но думаю проще было бы решить правкой DSDT, возможно ли это? Я не разбираюсь в этих DSDT, но есть ли возможность сделать также, чтобы клавиши прикидывались, что они работают с win или хотябы напрямую через железо/BIOS? Такое решение было бы по крайней мере "изящнее", а не придумывать Ъвелосипед.
ВЕЛОСИПЕДОВ ДЛЯ ВСЕХ, ДАРОМ, И ПУСТЬ НИКТО НЕ УЙДЁТ ОБИЖЕННЫЙ!

Оффлайн andreym

  • Новичок
  • *
  • Сообщений: 20
    • Просмотр профиля
Re: packard bell bg46
« Ответ #24 : 29 Августа 2009, 03:50:03 »
Когда работал в Винде и общался в Windowsких форумах - то там все вопросы решались двумя путями.
1. Снести и переустановить Винду.
2. Найти волшебную прогу, которая все вопросы решит - стоит ее только проинсталлирорвать (чем больше ты знаешь волшебных прог - тем больше ты ГУРУ).
Перенося такой подход на Linux выходит вот что - ищем волшебный патч, который решит все наши проблемы, накладываем патч  и пересобираем ядро. Результаты как грится на лице.
Все же Linux концептуально предполагает другой подход. Суть которого состоит в следующем - если поцарапан люк заливной горловины бензобака то надо покрасить только его, а не всю машину.
Теперь собственно о проблеме. Убутну  не корректно определяет железо в части acpi  подсистемы и загружает далее модуль ядра   asus_laptop ( Packard Bell это дочка Acer,  а не Asus и почему грузится асусовский модуль - не могу сказать). Насколько я понимаю механизм работы, этот модуль воспринимает нажатия специальных клавиш (Fn+)  и формирует события, которые дальше обрабатывает acpid (демон acpi) запуская соответствующие скрипты. Так вот этот модуль мягко говоря выдает не правильные события (на регулировку яркости он вообще на каждое нажатие формирует два события, это можно посмотреть набрав в консоли acpi_listen и понажимать Fn+f3...12 и т.д.)  - отсюда неадекватное поведение системы. Это  касается всех ноутбуков в т.ч. и Samsung.
Таким образом первое, что надо сделать - найти адекватный модуль ядра. У производителя такого нет (или я не нашел) в общем ищем. Кто найдет бейте в рельс ( в смысле публикуйте на форуме). Дальше займемся настройкой скриптов acpi.


Оффлайн alm007

  • Новичок
  • *
  • Сообщений: 1
    • Просмотр профиля
Re: packard bell bg46
« Ответ #25 : 31 Августа 2009, 21:23:41 »
люди!!! сделайте жизнь проще!!!
у кого установлен и успешно работает эта замечательная ось на белке, сделай, плиз, образ акронисом и выложи в удобном месте.
ВОТ БУДЕТ РАДОСТЬ!!!
сгружу, залью и не буду париться.
хочется начать работать с убунтой и не тратить время.
БИГ СЕНКС

Оффлайн dmig

  • Автор темы
  • Старожил
  • *
  • Сообщений: 1668
    • Просмотр профиля
Re: packard bell bg46
« Ответ #26 : 08 Сентября 2009, 12:47:38 »
Теперь собственно о проблеме. Убутну  не корректно определяет железо в части acpi  подсистемы и загружает далее модуль ядра   asus_laptop
всё определяется корректно.
Цитировать
( Packard Bell это дочка Acer,  а не Asus и почему грузится асусовский модуль - не могу сказать).
тему сначала прочитать не судьба?
Цитировать
Насколько я понимаю механизм работы, этот модуль воспринимает нажатия специальных клавиш (Fn+)  и формирует события, которые дальше обрабатывает acpid (демон acpi) запуская соответствующие скрипты. Так вот этот модуль мягко говоря выдает не правильные события (на регулировку яркости он вообще на каждое нажатие формирует два события, это можно посмотреть набрав в консоли acpi_listen и понажимать Fn+f3...12 и т.д.)
а разобраться, что за события выдаются, не? всё там верно работает.
Цитировать
  - отсюда неадекватное поведение системы. Это  касается всех ноутбуков в т.ч. и Samsung.
откуда неадекватное поведение -- написано несколькими постами выше. если непонятно, в двух словах: биос кривой
Цитировать
Таким образом первое, что надо сделать - найти адекватный модуль ядра. У производителя такого нет (или я не нашел) в общем ищем. Кто найдет бейте в рельс ( в смысле публикуйте на форуме). Дальше займемся настройкой скриптов acpi.
не надо писать полную чушь, почитайте для начала хотя бы эту тему полностью.

модуль ядра работает отлично, а скрипты немного подпилить стоит: например отключить обработку специфичного для асуса события изменения яркости (есть и другое, который обрабатывает общий для всех скрипт), ещё неплохо бы подправить логику управления светодиодом wifi, поскольку для bluetooth в ядре .31 тоже появляется интерфейс rfkill и скрипт acpi, видя включённый bt, светодиод не выключает.

Оффлайн fvmt

  • Новичок
  • *
  • Сообщений: 1
    • Просмотр профиля
Re: packard bell bg46
« Ответ #27 : 10 Сентября 2009, 16:59:29 »
есть тут ещё владельцы? давайте разбираться вместе
работает, надо сказать, неплохо, но кое что придётся чинить:
Environment:
bg46, 3gb ram, остальное по дефолту.
OSs: ubuntu 8.04, 8.10, 9.04, 9.10
В независимости от настроек управления питанием, ноутбук не включает подсветку матрицы при открытии крышки и попытках его разбудить. Происходит это в случае, если ноут включенный в сеть от нее отключить и быстро захлопнуть крышку (Такое довольно часто происходит, т.к. я его постоянно с собой таскаю). И при дальнейших попытках с ним поработать ничего не получается. В отраженном свете на матрице еще что-то можно различить, но чрезвычайно сложно. Это даже не
# echo 0 >/sys/class/backlight/acpi_video0/brightness
а еще темнее. Помогает только полная перезагрузка. Повторяется на всех Ubuntuх, которые я перечислил в начале сообщения. Раздражает чрезвычайно. Порой даже приходят в голову дурные мысли свалить обратно на винду, чего не хотелось бы по ряду соображений. Может я не там копаю? Что-то гугл мне не помогает в данном случае.

Оффлайн dmig

  • Автор темы
  • Старожил
  • *
  • Сообщений: 1668
    • Просмотр профиля
Re: packard bell bg46
« Ответ #28 : 11 Сентября 2009, 12:19:50 »
так, интересный момент... проверю у себя...
а какое действие назначено на закрытие крышки?

Оффлайн KriM

  • Любитель
  • *
  • Сообщений: 78
    • Просмотр профиля
    • Сайт  отзывов
Re: packard bell bg46
« Ответ #29 : 18 Сентября 2009, 19:25:09 »
после pm-suspend такое тоже частенько бывает... (как описал fvmt)

 

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