Hello all Что такое ACPI Events? А то поставил на ноут линукс и некоторые кнопки не работают (встроенного плеера, уровень звука и т.д.) В тех поддержке посоветовали настроить ACPI Events... Спасибо.
Это такая геморройная фигня, так как на эти клавиши ещё нет графических конфигурялок. :-(
Если кратко, то acpi events--это строки, которые появляются в файле /proc/acpi/event, когда нажимаются соотв. клавиши. Их обрабатывает сервис acpid, он также их дублирует в сокет /var/run/acpid.socket
Слушай, не можешь объяснить поподробнее? А то я при загрузке дал параметр acpi_generic_hotkey, модуль hotkey загрузил, а дальше что? А то из acpi-hotkey.txt не очень понятно. Буду благодарен за помощь.
Ты в /var/log/acpid заглядывал? Там обычно полсе нажатия какой либо кнопки должно отображаться как этот эвент называеться. По крайней мере так оно работаеть на азусе A6W, и потом скрипт в /etc/acpi/event/скрипт отредактировал. А на самсунге nv5000 достаточно было модуль подгррузить.
Так и не понятно, в чём преимущество использования этого generic hotkey перед тем же asus_acpi для ноутов asus. Просмотрев ссылку с columbia.edu такое впечатление, что наоборот там надо чего-то настраивать, чтоб acpi events заработали, а при загрузке соотв. модуля (напр. asus_acpi для asus) acpi events сразу работают и можно сразу же acpid настраивать. Чего-то я не понимаю...
Это кусок кода из азас модуля. Тут видно что он работает только с
железом которое тут прописсано.
struct asus_hotk {
struct acpi_device *device; //the device we are in
acpi_handle handle; //the handle of the hotk device
char status; //status of the hotk, for LEDs, ...
struct model_data *methods; //methods available on the laptop
u8 brightness; //brightness level
enum {
A1x = 0, //A1340D, A1300F
A2x, //A2500H
D1x, //D1
L2D, //L2000D
L3C, //L3800C
L3D, //L3400D
L3H, //L3H, but also L2000E
L4R, //L4500R
L5x, //L5800C
L8L, //L8400L
M1A, //M1300A
M2E, //M2400E, L4400L
M6N, //M6800N
M6R, //M6700R
P30, //Samsung P30
S1x, //S1300A, but also L1400B and M2400A (L84F)
S2x, //S200 (J1 reported), Victor MP-XP7210
xxN, //M2400N, M3700N, M5200N, S1300N, S5200N, W1OOON //(Centrino)
END_MODEL
} model; //Models currently supported
u16 event_count[128]; //count for each event TODO make this better
};
/* Here we go */
#define A1x_PREFIX "\\_SB.PCI0.ISA.EC0."
#define L3C_PREFIX "\\_SB.PCI0.PX40.ECD0."
#define M1A_PREFIX "\\_SB.PCI0.PX40.EC0."
#define P30_PREFIX "\\_SB.PCI0.LPCB.EC0."
#define S1x_PREFIX "\\_SB.PCI0.PX40."
#define S2x_PREFIX A1x_PREFIX
#define xxN_PREFIX "\\_SB.PCI0.SBRG.EC0."
Хоткей модуль призван работать на любом лаптопе и если acpi было собранно должным образом то все нужный кнопки должны работать без проблем. Мелкософт использует похожий модуль и если на твоем лаптопе фн кнопки работает на винде без дополнительного драйвера, то нужно оформить багрепорт.
Выяснилось, что у меня на asus a3500l при включённом generic hotkey driver работают почему-то только 2 acpi кнопки.
Про все остальные в логах acpid тишина.
Почитал по ссылке из columbia.edu => включил дебуггинг. При этом выпадает немыслимая куча сообщений.
Пробовал грепить, напр, так:
(я нажал кнопку в 4:00:00 часов) Видно, что это что-то связанное с делом.
А вот дальше не очень понятно как. Пробовал по аналогии с докой команды типа:
echo '0:_SB::_SB_.PCI0.SBRG.EC0_.ACAP:_BCM:128:136' > /proc/acpi/hotkey/event_config
Но никакой реакции. И не очень понятно, что там в полях должно быть.
Какие будут предложения? Может пора сдаться и отказаться от generic hotkey driver на моём ноуте? Мне-то он и не нужен.