LINUX.ORG.RU

ThinkPad X220, audio mute led

 ,


1

1

В тред призываются владельцы ThinkPad X220 (особенно арчеводы). У вас диод на кнопке отключения звука работает? У меня вот нет, хотя кажется работал, не помню точно. Патчем на thinkpad_acpi заставил работать диод на кнопке micmute, а вот куда копать с диодом на audiomute не знаю.

P.S. Есть такая прекрасная вещь как ThinkPad USB Keyboard with trackpoint (P/N 55Y9082). Так вот на ней есть такие же кнопки. Есть ли способы заставить их работать, точнее диоды на них?

★★★★★

Последнее исправление: kernelpanic (всего исправлений: 1)
Ответ на: комментарий от anonymous

Ну, тут бы ещё неплохо проверить настройки и работу роутера, а то, может, проблема и не в адаптере вовсе.

Lighting ★★★★★
()
Ответ на: комментарий от Lighting

Тот, который подходит для твоего чипсета. Скорее всего 8192SE.

Хм, а я думал, что 8192ce-va4 или 8188ce? (просто в выводе lsmod у меня сейчас используется ядерный rtl8192ce).

anonymous
()
Ответ на: комментарий от anonymous

Ну, по крайней мере на Thinkwiki написано, что де

Chipset: Realtek RTL8192SE / RTL8188CE

Lighting ★★★★★
()
Ответ на: комментарий от Lighting

Ну да роутер у меня конечно дешевый (dlink dir-615, ревизия с2, с последней дефолтной прошивкой), но в винде все нормально почему-то работает.

anonymous
()
Ответ на: комментарий от Lighting

Может вы какие пакеты дополнительно поставили или это сразу все работает из коробки (может есть смысл переставить ubuntu или скачать live-cd и проверить)?

anonymous
()
Ответ на: комментарий от Lighting

Lighting

Все заработало наконец-то. Я просто был не очень внимательным видимо. На стандартном ядре убунты действительно при нажатии кнопки микрофона acpi_listen выводит то, что у вас на скриншоте. Диод тоже теперь горит (скомпилировал модуль thinkpad_acpi.ko с учетом патча). Вообщем, спасибо, что помогли. Ну и последний, наверное, вопрос у меня к вам: у меня помимо стандартного ядра еще стоит дебиановское ядро с zen патчами (http://liquorix.net/). Так вот, там почему-то при нажатии кнопки микрофона acpi_listen ничего не выводит. Не знаете как это можно исправить (или хотя бы подсказать почему acpi_listen молчит)?

anonymous
()
Ответ на: комментарий от anonymous

Пожалуйста.

Ну и последний, наверное, вопрос у меня к вам: у меня помимо стандартного ядра еще стоит дебиановское ядро с zen патчами (http://liquorix.net/). Так вот, там почему-то при нажатии кнопки микрофона acpi_listen ничего не выводит. Не знаете как это можно исправить (или хотя бы подсказать почему acpi_listen молчит)?

Не подскажу. Можешь конфиги сравнить, а лучше спросить на форуме ликёрикса.

Lighting ★★★★★
()
Ответ на: комментарий от Lighting

Lighting

Я наверное уже достал, но все-таки ёще раз вас скастую. Где того на хоботе (ветка по x220 очень большая) упоминалось о мерцании подсветки экрана. На thinkwiki.ru есть даже видео, показывающее что имеется:

http://www.youtube.com/watch?v=apLyrzH-qNA

Правда это для ips матрицы. Хотелось бы узнать, вы не в курсе на tn такое есть? Для винды на том же thinkwiki.ru упоминается утилита для настройки частоты подсветки экрана. Для линукса есть что-то похожее?

anonymous
()
Ответ на: комментарий от anonymous

Это для какой-то из нескольких IPS матриц(да ещё только не на максимальном уровне подсветки), вроде. На X220 с TN ничего подобного не замечал. Насчёт изменения частоты подсветки не подскажу.

Lighting ★★★★★
()
Последнее исправление: Lighting (всего исправлений: 1)
27 сентября 2012 г.

Чем дело закончилось?
Если актуально, то могу создать топик-инструкцию по допилу\настройке X220 для Debian6 (+backports+kernel3.2.testing). А так, по существу вопроса топикстартера, допиливается thinkpad_acpi модуль - для включения дублирования ACPI событий для юзерспейса.
Может быть имеет смысл где-то в другом месте разместить, а здесь ссылку повесить?

з.ы.
Lenovo ThinkPad X220 (429058G)
Что не работало «из коробки»:
1. Fn+F8
2. Fn+F6
3. MicMute + MicLed
4. При включении Mute и изменении громкости доп.клавишами MuteLed гаснет, но программно звук не включается.

sptim
()
Ответ на: комментарий от sptim

Нового ничего не появилось.

Если актуально, то могу создать топик-инструкцию по допилу\настройке X220 для Debian6

В wiki тут напиши.

kernelpanic ★★★★★
() автор топика
Ответ на: комментарий от sptim

sptim

Если актуально, то могу создать топик-инструкцию по допилу\настройке X220 для Debian6 (+backports+kernel3.2.testing).

Да, было бы неплохо и, как написал ТС выше, размести эту инструкцию в местной вики.

anonymous
()
Ответ на: комментарий от kernelpanic

Попробую. Но если есть желание - можешь закомментировать строку 3489 в файле thinkpad_acpi.c ( //*send_acpi_ev = false; ) (ф-ия hotkey_notify_hotkey). Пересобрать модуль и попробовать.

sptim
()
Ответ на: комментарий от sptim

Как-то не подумал, разумеется это для исходников ядра 3.2, а так, вся функция выглядит так:

static bool hotkey_notify_hotkey(const u32 hkey,
				 bool *send_acpi_ev,
				 bool *ignore_acpi_ev)
{
	/* 0x1000-0x1FFF: key presses */
	unsigned int scancode = hkey & 0xfff;
	*send_acpi_ev = true;
	*ignore_acpi_ev = false;

	/* HKEY event 0x1001 is scancode 0x00 */
	if (scancode > 0 && scancode <= TPACPI_HOTKEY_MAP_LEN) {
		scancode--;
		if (!(hotkey_source_mask & (1 << scancode))) {
			tpacpi_input_send_key_masked(scancode);
			*send_acpi_ev = false; // Вот эту строку необходимо закомментировать!
		} else {
			*ignore_acpi_ev = true;
		}
		return true;
	}
	return false;
}

sptim
()
Ответ на: комментарий от kernelpanic

Местная wiki огорчает возможностями оформления, но тем не менее начал писать, черновик находится здесь (для тех, кто не хочет ждать завершения - основное по патчу я уже написал): www.linux.org.ru/wiki/en/User:sptim/Debian6_on_ThinkPad_X220

sptim
()

блин, я же как-то все это заставлял работать по ThinkWiki. Но теперь у меня убунта и я хуже виндузятников.

RedPossum ★★★★★
()
Ответ на: комментарий от RedPossum

Всё работает или можно настроить в других дистрибутивах (как раз по схеме из ThinkWiki), но не в Debian6, где события физически отфильтровываются и до юзерспейса не доходят. Я даже сырцы ядра 3.6rc поглядел - имхо будет та же петрушка, если собрать без поддержки «устаревшей» схемы организации ACPI событий ибо ничего не изменилось в этом плане.

sptim
()
Ответ на: комментарий от sptim

sptim

Из вашей статьи на вики:

static void hotkey_notify(struct ibm_struct *ibm, u32 event)
{
...
		/* Legacy events */
		if (!ignore_acpi_ev &&
		    (send_acpi_ev || hotkey_report_mode < 2)) {

			// sptim: Do nothing in Debian6 (without /proc/acpi/event)
			//acpi_bus_generate_proc_event(ibm->acpi->device, 
			//			     event, hkey);

			// sptim: True generation (with bus id).
			acpi_bus_generate_netlink_event(
					ibm->acpi->device->pnp.device_class,
					ibm->acpi->device->pnp.bus_id,
					event, hkey);
		}
...
}

Вот спасибо. Наконец-то в ubuntu c ядром liquorix комбинация Fn+F8 через acpi_listen начала генерить событие.

Из вашей статьи на вики:

Из-за особенностей конфигурации ядра Debian (конфигурационных опций - в ядре не включена поддержка ACPI_PROCFS и ACPI_PROCFS_EVENT, соответственно события ibm/hotkey посылаемые на /proc/acpi/event начисто фильтруются), т.е. при отсутствии реализации обработки клавиши в системе - свои обработчики уже не навесить - в это упиралось большинство вопросов в интетрнет на тему как заставить работать функциональные клавиши.

Вот на стандартном ядре убунты все работает (Fn+F8 генерит событие), наверное из-за того, что поддержка ACPI_PROCFS и ACPI_PROCFS_EVENT включена, в то время как на ядре liquorix поддержка ACPI_PROCFS включена, а ACPI_PROCFS_EVENT - нет.

anonymous
()
Ответ на: комментарий от anonymous

На здоровье. Проверяется легко, реализована или нет поддержка легаси механизма - наличие «файла» /proc/acpi/event - если нет, то в ядре её просто нет. А в модуле я эмулирую эти события через посыл другого вида событий (сетевые). Правильнее было бы конечно поправить ядро, но уже и так много времени потратил на этот вопрос, допишу вот вики и хватит.

sptim
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.