Инструменты пользователя

Инструменты сайта



// Thinkpad T530: совмещённый порт наушников и микрофона

Модель имеет совмещённый порт для подключения наушников с микрофоном (TRRS). Ниже посмотрим, что делать когда нет такой гарнитуры.

// Линейка Thinkpad становится всё более унылой

Походу Lonovo только «кирпичиный» дизайн не трогает. А всё остальное делает всё более казуальным. Судя по:

Итак:

  • Расплодили серию. Хрен пойми чем отличаются W/T/L, а ещё, типа недобуки: X/Carbon X1/etc
  • Уход легендарного T61 и переход к линеке Txyz (первые представители T400/T500), ознаменовалось ознаменовался завершением эры 4:3 экранов на ноутбуках. Теперь и здесь засилье wide-screen 16:9. Для видео удобно. Для работы - не очень. Даже интернеты: половина сайтов оставляет уйму места по бокам. Возможно широкий экран удобен для людей работающих с таблицами с огромным числом столбцов… Не знаю. Точно, что не спрос порождает предложение, а маркетоидный бред навязывает моду. Главное накормить непотребством, но так, что бы это вызвало «ВАУ!»
  • К серии x30 (T430, T530, etc) линейка лишилась своей классической узнаваемой клавиатуры в угоду модной-молодёжной чиклектной (она же островная). Да фиг с ним, но раскладка вызывает недоумение: привет PrtScr (хоть и поборолся), при этом PgUp/PgDown стали в более удобных позициях /хотя теми же средствами что и PrnScr их можно забиндить на нужное поведение/), ряд Fx клавиш без разделения на группы.
  • В серии x40 трекпоинт лишился своих кнопок. Волна негодования была, судя по всему, такой, что в x50 их вернули. Без дублирования кнопок снизу под тачпадом (но сенсорные остались).
  • Серия x30 последняя где используется ThinkLight. Оставили только подсветку клавиатуры. Кому как, а для меня это было одной из причин выбора Thinkpad. Особенно удобно, когда рядом блокнот в котором нужно сделать пометки по ходу работы.
  • Серия x40 так же ознаменовалась ликвидацией защелки. Мне она кажется удобной. Некоторым - рудиментом… Пока маленький сын не попытается открыть :)
  • Снова клавиатура. С линейки 540 (да, касается только 15.6« модели) они вкорячили полноразмерную клавиатуру. Тем самым нарушив центровку основного поля ввода относительно экрана, ровно как и расположение тачпада. Кому так жизненно необходим цифровой блок на ноутбучной клавиатуре??? У меня на обычной он покрывается пылью, а тут просто растрата места.
  • А вот динамики при этом решили заменить на полное непотребство. Да и 530 они не ахти, но фоном послушать можно. Точно не скажу, но с какой-то модели динамик а) монофонический и б) направлен вниз, в стол! Они что, решили стол или другую рабочую поверхность использовать как резонатор? Сабвуфер?

На фоне этого выглядит забавно это (тут свежее обсуждение):

Смотрится как эдакая попытка срубить бабла с того, что уже было, но было успешно слито. Если вообще будет сделано. А если сделано, то качественно. Воистину:

- Как сделать человеку хорошо?
- Нужно должно делать плохо, а потом просто перестать.

Походу, остаётся только Dell Latitude, со своими тараканами и нечеловеческими ценами. Радует только то, что на мою текущую модель T530 валом запчастей и в пределы производительности я ещё не упирался.

// Thinkpad T530: клавиатура

Уже были стоны и жалобы от меня по поводу несколько убогой клавиатуры, точнее раскладки, точнее расположению PrtScr кнопки. Но… или жри кактус или исправляй. Я, обычно, выбираю второй вариант.

Если коротко, команда ниже забиндит PrtScr и сделает из неё Menu (aka Compose) клиавишу:

sudo setkeycodes b7 127

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

Эту команду помещаем в /etc/rc.local или в аналогичный.

Кому нужно подробностей и альтернативных вариантов - смотрим под катом.

В современных системах почти все устройства ввода обслуживаются evdev. В пару с ними трудится udev. Последний может помочь первому в части переопределения сканкодов клавиш.

Собственно все инструкции описаны в:

less /lib/udev/hwdb.d/60-keyboard.hwdb

Вот выдержки, которых достаточно для настройки:

#  - AT keyboard DMI data matches:
#      evdev:atkbd:dmi:bvn*:bvr*:bd*:svn<vendor>:pn<product>:pvr*
#    <vendor> and <product> are the firmware-provided strings
#    exported by the kernel DMI modalias.

Эта часть описывает шаблон выбора для AT клавиатур. Да, встроенная клавиатура в T530 это AT клавиатура. Привет NKRO из коробки :) Но об этом дальше.

Следующая часть описывает шаги, которые нужно выполнить после настроек.

# To update this file, create a new file
#   /etc/udev/hwdb.d/70-keyboard.hwdb
# and add your rules there. To load the new rules execute (as root):
#   udevadm hwdb --update
#   udevadm trigger /dev/input/eventXX
# where /dev/input/eventXX is the keyboard in question. If in
# doubt, simply use /dev/input/event* to reload all input rules.

Итак, определяем что у нас за клавиатура, смотрим выхлоп dmesg:

...
[    2.282100] input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input3
...

С вероятностью 147% оно всегда будет так. Запоминаем (особенно последнюю цифру):

/devices/platform/i8042/serio0/input/input3

Теперь определяем сканкод клавиши (подставляем цифру в конце, которую запомнили выше, т.е. input3event3):

sudo evtest /dev/input/event3

Получаем такой выхлоп:

...
Event: time 1487483975.506795, type 4 (EV_MSC), code 4 (MSC_SCAN), value b7
Event: time 1487483975.506795, type 1 (EV_KEY), code 99 (KEY_SYSRQ), value 0
Event: time 1487483975.506795, -------------- SYN_REPORT ------------

Смотрим строку с MSC_SCAN, значение сканкода поле value - b7 искомый сканкод.

Кстати, клавиша определяется как KEY_SYSRQ, но работает только как PrtScr. Для SysRq функциональностью ThinkPad T530: доступ к Break, Pause, Scroll Lock и SysReq.

Далее нам нужно имя клавиши (и код заодно), которые используются внтри ядра. Смотрим в

/usr/include/linux/input-event-codes.h

нужную клавишу. Имя для udev - нижним регистром имя макроопределения, без префикса KEY_. Для setkeycodes - dec значение.

Клавиша меню это:

#define KEY_COMPOSE             127

Имеем:

  1. Имя для udev: compose
  2. Код для setkeycodes: 127

Пишем правило для udev (/etc/udev/hwdb.d/70-thinkpath-t530-keyboard.hwdb):

70-thinkpath-t530-keyboard.hwdb
evdev:atkbd:dmi:bvn*:bvr*:bd*:svn*:pn*:pvr*
  KEYBOARD_KEY_6b=compose                    # map PrtScr to Menu

Так как у нас только одна AT клавиатура, и другую подключить нельзя, то правило выше вполне имеет право на жизнь, но при желании можно уточнить как-то так:

evdev:atkbd:dmi:bvn*:bvr*:bd*:svnLENOVO*:pn*T530*:pvr*
  KEYBOARD_KEY_6b=compose

Изменения примутся после перезагрузки, так как я не нашёл способ переприменить правила к встроенной клавиатуре. Реаттачатся все, кроме неё (по инструкции из 60-keyboard.hwdb).

Что бы применить сразу:

sudo setkeycodes b7 127

тут всё понятно: b7 - узнанный сканкод. 127 - числовое значение KEY_COMPOSE.

После этого, всё, что использует драйвер evdev, будет воспринимать кнопку PrtScr как Menu. Трюк с setkeycodes будет работать везде, где используется evdev. Стоит отметить, что сканкод платформо-специфичен. Под платформой понимается: AT PS/2, USB HID и т.п. Об этом планирую в другой статье рассказать.

Естественно после всех манипуляций выше вы лишаетесь кнопки Print Screen, но его функциональность в части снятия скриншотов это просто условность и можно настроить окружение так, что бы работала другая комбинация. А можно переназначить другую клавишу аналогичным способом. К примеру, F12. Лично я её использую очень редко. В терминале она вообще эмулируется Shift+F2 (для F11 - Shift+F1)

Полезные ссылки на тему:

  1. man 8 setkeycodes
  2. man 1 loadkeys - если хочется магии в консоли.

// ThinkPad T530: доступ к Break, Pause, Scroll Lock и SysReq

Начиная с Tx30 Lenovo дропнули старую клавиатуру на ноутбуках серии ThinkPad, что очень грустно, так как новая в части предоставляемой раскладки просто не выдерживает критики. Одно расположение клавиши Print Screen чего только стоит - ощущение, что клавиатура для ярых скриншотеров, не меньше. С другой стороны, расположение PgUp/PgUp значительно более удобнее, нежели на классике.

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

Клавиша Комбинация
Break Fn+B
SysRq Fn+Shift
Scroll Lock Fn+K
Pause Fn+P

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

Собственно вопрос, а чего бы эти значения не нанести на сами клавиши?

// Батареи для Lenovo Thinkpad T530

Всегда хочется, что бы ноутбук смог проработать в автономке подольше. Тут помимо оптимизации энергопотребления (статей посвящённых этому вопросу в интернетах уйма) иногда встаёт вопрос более ёмкой батареи. Причём актуальность автономной работы часто перекрывает некоторые неудобства, связанные с весом и габаритами.

// Thinkpad T530 BIOS Update

Снова мемориз.

  1. Находим BIOS тут или по модели тут. Скачиваем ISO. Не смущаемся наличием в описании разных Windows.
  2. Используем руководство отсюда. В частности, как использовать GRUB2, что бы не шить ISO никуда. У меня не сработало - зависание программы прошивальщика после первого подтверждения своих намерений. Помог способ с загрузочной флешкой. Конспективно:
    ./geteltorito.pl -o xxx.img xxx.iso 
    sudo dd if=xxx.img of=/dev/sdX
    • Перезагружаемся, выбираем флешку как источник загрузки и грузимся с неё. Дальше всё понятно.

Опционально проверяем версию BIOS и время релиза из системы:

sudo dmidecode -s bios-version
sudo dmidecode -s bios-release-date

// ThinkPad T530, WiFi и DEAUTH_LEAVING

После экспериментов с роутером Zyxel Keenetic 4G II (прошил неофициальную прошивку серии V1 (V1.11.RU.NDMS), на родной серии V2 непредсказуемо работал multicast IPTV) заметил, что WiFi стал работать как-то нестабильно (затыки с сайтами, постоянный реконнект у мессенджеров). Временами, но стабильно, стал вылазить диалог с просьбой ввести пароль от точки. Будто бы порвалась связь и не получилось подключиться с какого-то количества попыток.

Размышляя, что менял (ну кроме самой прошивки), вспомнил, что я переключил WiFi с режима 11b/g на режим 11b/g/n (раньше прошивка читалки не могла цепляться, если AP в таком режиме, после прошивку исправили, а настройки так и остались). Действительно, когда я переключил роутер обратно в режим 11b/g, то всё стало на свои места, так что не прошивка виновата. Казалось бы - решение найдено, но такой путь - не наш метод (хотя… если ничто другое не помогает, то лучше синица в руках, чем журавль в небе).