Старые нетбуки и новая федора

Итак, знакомая принесла свой eee pc 1005PE на предмет установки туда скайпа. Стояла там fedora 13, и снова пришллось решать проблему встроенного микрофона. Решается она просто, на самом деле. Надо просто знать, что микрофон там НЕ стерео. И надо просто в настройках pulseaudio выключить один канал. После этого все начинает работать.

Но решая эту проблему, я неожиданно заметил, что вышла (и уже давно :)) новая федора. В руках возник зуд, и началась эпопея обновлений….

Сначала обновил eee pc 1005PE с 13-й федоры на свежую 15-ю. Пошел по пути описанному на https://fedoraproject.org/wiki/Upgrading/ru.

Воспользовался замечательным пакетом PreUpgrade. Все прошло на удивление гладко и скучно. Никаких неожиданностей, кроме того, что после перезагрузки система загрузилась в гноме (он там стоя оказывается 🙂 и обновился) и я долго не мог понять, что я вижу и как с ЭТИМ бороться. Перезагрузка в родном ХФЦЕ вернуло душевное спокойствие. Нетбук был проапгрейжен, скайп настроен. И тут возникла дураня мысль обновить остальной парк нетбуков.

На очереди был eee pc 1005HA

Там все пошло не так как хочется 🙂 Там стояла 12-я федора и разбиение дисков не позволило воспользоваться пакетом PreUpgrade. Прямо все как написано в описании к нему в Вики к федоре (https://fedoraproject.org/wiki/How_to_use_PreUpgrade/ru).

Я собрал буквально все грабли, какие там описаны и поскольку в 12-й федоре почему то не работала проводная сеть (вот ведь! Заметил это только через полтора года :)) то обновиться чере преупгрейд — не удалось. Пришлось идти по пути полной лоботомии, т.е. сохранять хомяка на внешнем компьютере, по ВиФи (медленно и печально), ставить все с нуля и закачивать все это обратно… 35Г по ВиФи —  скучный и неинтересный процесс.

Кстати, на 12-й федоре НЕ удалось починить микрофон, надо менять pulseaudio на свежий… Я как обычно пошел ленивым путем и поменял дистрибутив.

Когда заработал eee pc 1005HA на свежей 15-й федоре, мне пришла в голову светлая мысль, а не обновить ли заодно eee pc 900?

Этот маленький недобук уже давно валяется без дела, практически ничей. На нем я не пытался идти по пути апгрейда, там все равно не было ничего полезного. Его я просто поднял с ливеобраза, процесс занял 15 минут. Аж страшно 🙂 Поднялось ВСЕ. Звук, видео, скайп заработал сразу, там видмио правильный микрофон. Чудес конечно не случилось и fullHD видео показывает как слайдшоу, но авишки идут на ура. Теперь у меня есть мелкий ноут для офисных работ и скайпа, отдам его жене…

Ну и как апофеоз апгрейда — eee pc 901 и fedora 15.
Тут я снова решил попробовать PreUpgrade. Долго-долго я освобождал место, все ему было мало. И вот когда он все скачал, меня настигло разочарование, про которое если и пишут гденибудь, то мелкими буквами и по нерусски 🙂 Оказывается нельзя обновиться более чем через один выпуск. О чем мне и сообщили, когда все уже было скачено и процесс перешел в завершающую стадию… В результате — старая установка не запустилась, а новая — вываливалась со словами — низзя, давай по очереди. Выход — лоботомия… К счастью, на 901 у еня было нормальное разбиение дисков и хомяк жил на отдельном диске. При установкея просто не разрешил его форматировать и все спаслось.

Теперь про камни в почках.. э, по подводные камни 🙂
На eee pc 901 модуль WiFi сделан на неподдерживаемом до сих пор оборудовании.
Отсюда камень первый -не стоит бездумно делать yum update сразу после установки! Сначала возникает конфликт на уровне ядра, того, что стоит и что собирается поставиться. Система с ливеобраза умеет общаться с местным ВиФи, вот путь то ядро и поживет, пока в руках не окажется проводная сеть. Ибо — на совсем новом ядре НЕТ соответвующего модуля (https://fedoraproject.org/wiki/Eee_PC).
Это совсем не критично, если есть сеть по проводу — все можно починить. Если нет таковой — лучше отложить обновление или аккуратно запускать с —exclude=kernel. Если очень хочется обновиться — то по проводной сети. В 2 приема.
1. Делаем yum update kernel. Обновляем ядро, удаляем старые ядра. ВиФи — гаснет. Проводная сеть — остается.
2. Делаем yum install akmod-rt2860. Тут надо быть готовым к тому, что в зависимостях потянется КУЧА пакетов.
3. запускаем akmods —force и /usr/libexec/plymouth/plymouth-update-initrd
Первая команда делает и устанавливает модуль в ядро, вторая — правит initrd. Делать надо обе, иначе не сработает ничего. После этого имеем живой ВиФи и можно про шнурок снова забыть. Главно не забывать при следующем обновлении снова повторить это. Ну если ядро смениться, конечно.

http://wiki.russianfedora.ru — тут можно поискать  больше ответов на вопросы, а можно спросить меня 🙂

Кстати, первый камень оказался и последним, больше проблем не заметил.

Вывод — старые нетбуки вполне комфортно живут на новом линуксе 🙂 Достаточно быстрЫ, как всегда удобны и легки. Не надо ждать чудес, типа fullHD видео, но они и не предназначены для этого.

Но 6 часов автономной работы и вес в 900 грамм… это хорошо.

Как обычно — отвечу на вопросы, поправлю ошибки и неточности, если мне на них укажут.

Двупальцевое управление решается по рецепту Fedora 13, тачпад, двупальцевое управление. отсюда.

Fedora 13, тачпад, двупальцевое управление

Я уже начинаю злится… Федорцы в очередной раз спрятали настройки, теперь у них HAL не в моде, теперь рулит udev.

Тут цензура порезала все, что я думаю про них и их родственников.

Теперь предыстория. Как я уже писал ( Очередной Еж на препарации ) мне достался на улучшение очередной ежик. И все там было хорошо и замечательно, кроме одного. Старый добрый метод настройки тачпада через HAL  —  не работал. Сколько я не бился — не было никакого двупальцевого управления, а что особенно бесило — не было Tap-to-click, реакции на одиночный/двойной щелчок по тачпаду. За введнеие такого поведения по умолчанию надо убивать.

Но, отринем эмоции, вернемся к тачпаду.

Что правим — файлы конфигурации X11
лежат ?/usr/share/X11/xorg.conf.d/50-synaptics.conf
копируем этот файл в /?etc/X11/xorg.conf.d/00-synaptics.conf

Я на всякий случай переименовал его. И удалил секцию
Identifier «touchpad button overlap»
что то она мне не понравилась.

Перетащенный файл подвергся правке. Вот что вышло

Section «InputClass»
Identifier «touchpad catchall»
Driver «synaptics»
MatchIsTouchpad «on»
MatchDevicePath «/dev/input/event*»
Option «SHMConfig» «true»
Option «EmulateTwoFingerMinZ» «60»
Option «EmulateTwoFingerMinW» «7»
Option «VertTwoFingerScroll» «1»
EndSection

Section «InputClass»
Identifier «tap-by-default»
MatchIsTouchpad «on»
Option «TapButton1» «1»
EndSection

Как говорится — легко видеть, что включен SHMConfig, теперь с помощью synclient можно смотреть и настраивать тачпад.

Включен двупальцевый скролл.

Заработал клик по тачпаду.
На очереди — тонкая настройка времени двойного клика, и двупальцевые жесты. Пока недосуг 🙂
Asus Eee PC 1005HA, synaptics, двупальцевое управление

Input device configuration
Пара ссылок для справки, чтобы не подумали, что я выдумал все.

Присылайте комментарии и вопросы с рецептами.

Asus Eee PC 1005HA, synaptics, двупальцевое управление

Когда я покупал Asus Eee PC 1005HA, я не мог даже подумать, что в этом, более старшем представителе семейства ежей, нет управления тачпадом посредством многопальцевых комбинаций. При установке на него Федоры 11 как то не очень обращал внимание на невозможность двухпальцевых жестов, просто возникало чувство глухого раздражения. И вот, система поставлена, необходимые приложения — установлены, а тачпад — не настроен и по прежнему раздражает. Поиск по разным форумам не привел к рецепту, единственную надежду внушало упоминание на каком то форуме, что кто то, вроде, где то взял дрова для офтопичной системы и там были жесты, как то — прокрутка круговыми движениями и двупальцевое управление.

Изучение мана по synaptics привело к тому, что я окончательно перестал понимать, отчего же оно не желает работать. Все включено, а не работает.

<merge key=»input.x11_options.VertTwoFingerScroll» type=»string»>1</merge>

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

EmulateTwoFingerMinZ — вот этот параметр оказался силой нажатия
и изучение вывода synclient -m 100 (-m мониторинг тачпада 100мс) привело к пониманию, что по умолчанию стоит какое то запредельное число, типа 255.
Как я не давил на тачпад — больше 70 не получалось.

Команда synclient EmulateTwoFingerMinZ=60 немедленно включило мне двупальцевый интрефейс. Привычная система управления тачпадом вернулась в семью 🙂

Настала очередь двупальцевых кликов, очень удобно — клик двумя пальцами=нажатие правой конпки мыши, или, что еще более удобно — нажатие двух кнопок сразу, или колеса мышиного.
Обычно это приводит к вставке буфера обмена. На небольшой клавиатуре и без мыши — привычная и удобная штука.
<merge key=»input.x11_options.TapButton1″ type=»string»>1</merge>
<merge key=»input.x11_options.TapButton2″ type=»string»>2</merge>
<merge key=»input.x11_options.TapButton3″ type=»string»>3</merge>

Вот эти строки включают как раз реакцию на нажатие 2-мя пальцами.

TapButton1 — что делать по нажатию 1-го пальца. 1 в значении — просто клик, левой кнопкой мыши.
TapButton2 — что делать по нажатия 2-х пальцев. 2 в значении — правая кнопка мыши. Всякие контекстные меню и прочее. Я поставил 3, кажется, пишу сейчас не имея перед глазами пациента…
TapButton3 -завести не удалось. Не определяет синаптековский тачпад на PC 1005HA количество пальцев… Я конечно еще побьюсь немного, но что то мне подсказывает, что не выйдет ничего.

PS
Как уже было замечено синаптековский тачпад на этом буке — не определяет количество пальцев. Зато определяет толщину пальца 🙂

EmulateTwoFingerMinW — вот этот параметр. Буковка w в выводе  synclient -m 100.

По умолчание было где -то 7 — так и оставил. Владельцам тонких и нежных пальчиков, а также пальцев-сарделек — на заметку 🙂

Итак, что получилось в конечном итоге

Убедимся что тачпад — правильный

$ lshal | grep info.product | grep Tou
должен дать
info.product = «SynPS/2 Synaptics TouchPad» (string)
Если это так, то

cat /etc/hal/fdi/policy/10-synaptics.fdi

<?xml version=»1.0″ encoding=»ISO-8859-1″?>
<deviceinfo version=»0.2″>
<device>
<match key=»info.product» contains=»SynPS/2 Synaptics TouchPad»>
<merge key=»input.x11_options.SHMConfig» type=»string»>True</merge>
<merge key=»input.x11_options.TapButton1″ type=»string»>1</merge>
<merge key=»input.x11_options.TapButton2″ type=»string»>3</merge>
<merge key=»input.x11_options.EmulateTwoFingerMinZ» type=»string»>60</merge>
<merge key=»input.x11_options.EmulateTwoFingerMinW» type=»string»>7</merge>
<merge key=»input.x11_options.VertTwoFingerScroll» type=»string»>1</merge>
</match>
</device>
</deviceinfo>

Путь куда этот файл класть /etc/hal/fdi/policy/
называется, как легко видеть, 10-synaptics.fdi

PPS
Круговое управление прикручивать не стал, никогда его не пользовал, решил не экспериментировать.

Некоторые полезности на русском языке

Тонкая настройка при помощи synclient

Монитор synclient может отображать силу нажатия и положение пальца на тачпаде в реальном времени, позволяя точно задавать опции synaptics под свои нужды. Для работы synclient требуется чтобы опция SHMConfig была установлена в on или true.

Вы можете запустить монитор synaptics следующей командой:

$ synclient -m 100

где -m активирует монитор, а следующее за опцией число задаёт интервал обновления в миллисекундах.

Этот монитор предоставляет информацию о текущем состоянии вашего тачпада. Например, если вы двигаете тачпадом указатель мыши, то значения x и y в мониторе synclient будут изменяться. Таким образом вы можете легко узнать виртуальные размеры вашего тачпада, которые задаються в опциях LeftEdge, RightEdge, BottomEdge и TopEdge.

Аббревиатуры расшифровываются следующим образом:

time

время в секундах с начала логирования.

x, y

координаты x/y пальца на тачпаде. Точка отсчёта — верхний левый угол.

z

давление. Характеризует вашу силу нажатия на тачпад при работе с ним.

f

количество пальцев, которые сейчас прикасаются к тачпаду.

w

ширина пальца.

l,r,u,d,m,multi

состояния левой(left), правой(right), (верхней)up, (нижней)down, (средней)middle и многофункциональной (multi) кнопок. Нажатое состояние отражается единицей, ненажатое — нулём.

gl,gm,gr

для тачпадов с подключаемым устройством (guest device) эти параметры соответствуют его состоянию кнопок: левой(guest left), средней(guest middle) и правой (guest right). Кнопки могут быть нажаты(1) или не нажаты(0).

gdx, gdy

координаты x/y подключаемого устройства (guest device).

Если какое-то значение постоянно равно нулю, это означает что ваше устройство не поддерживает его.

Если графа f отображает максимальное значение 1, но есть необходимость в использовании двухпальцевого режима, в таком случае обратите внимание на опции EmulateTwoFingerMinW,EmulateTwoFingerMinZ и EmulateMidButtonTime.

Статейка, как обычно, описывает личный опыт, не претендует на энциклопедическую полноту и наверняка содержит ошибки и неточности. Я надеюсь, что коментарии к ней помогут улучшить и углУбить 🙂

Небольшое, но важное замечание!

В приведенных кодах, например в примере /etc/hal/fdi/policy/10-synaptics.fdi ВСЕ КАВЫЧКИ — ОДИНАКОВЫЕ! Все кавычки — те, что на клавише Э русской. При копипасте получается полная фигня, и от этого может не работать ничего! Сам напоролся, будьте внимательны. Очень помогает подсветка синтаксиса 🙂