Как я познакомил мышь DNS Extreme M-1 c Xubuntu 12.04.2 LTS

в 17:46, , рубрики: linux, Ubuntu, Убунтариум, метки: ,

После покупки мыши DNS Extreme M-1 выяснилось, что в операционной системе Xubuntu 12.04.2 LTS она не работает, а на официальном сайте в рубрике «Вопрос-ответ» написано, что любой Linux данную мышь не поддерживает.

Команда lsusb показывала мышь, как

Bus 003 Device 002: ID 04d9:a067 Holtek Semiconductor, Inc. 

Интенсивно погуглив около дня, было найдено интересное решение на одном из иностранных форумов.
Откроем терминал (по-умолчанию сочетание Ctrl+Alt+T).
Выполним

sudo apt-get install fakeroot kernel-wedge build-essential makedumpfile kernel-package libncurses5 libncurses5-dev

для установки необходимых пакетов для сборки ядра.
Дальше выполним

mkdir ~/source
cd ~/source
apt-get source linux-image-$(uname -r)

для получения исходного кода текущего ядра. Исходный код ядра 3.2.48 занимает примерно 98,7 Мб. Придётся немного подождать.
Наберём

cd linux

и нажмём клавишу Tab для автозаполнения полного имени папки, после чего нажмём Enter.
Выполним

gedit include/linux/hid.h

и найдём в файле строчку #define HID_MAX_USAGES (Для поиска можно воспользоваться сочетанием Ctrl+F). Изменим числовое значение на 64000.
Выполним

cp -vi /boot/config-`uname -r` .config

для подготовки конфигурационного файла нашей текущей операционной системы.
Также далее можно выполнить

export CONCURRENCY_LEVEL=#

для ускорения процесса компиляции. # необходимо заменить на число большее на 1, чем число ядер центрального процессора.
Выполним

make-kpkg clean

для подготовки директории к компиляции.
Запустим компиляцию кастомного ядра

fakeroot make-kpkg --initrd --append-to-version=-sk kernel-image kernel-headers

Внимание! Процесс компиляции может занять длительное время (на процессоре Intel U5400 моего ноутбука пришлось подождать чуть больше, чем 4 часа).
После окончании операции перейдем в каталог исходного кода ядра, где нас будут ждать два deb-пакета.

cd ~/source

Дальше перейдём к процессу установки кастомного ядра.
В файловом менеджере перейдем по пути /lib/modules. Откроем терминал и выполним

cd ~/source

Далее выполним

sudo dpkg -i linux-image-*.deb    
sudo dpkg -i linux-headers-*.deb

Имена пакетов можно узнать при вводе команды нажав Tab, используя автозаполнение.
Выполним дальше

sudo update-initramfs -c -k НУЖНО_ЗАМЕНИТЬ)

Заменять нужно на имя новой папки, которая появилась в файловом менеджере. У меня она называлась 3.2.48-sk.
Обновим grub

sudo update-grub

Для тех кто использует burg необходимо ещё обновить и burg

sudo update-burg

Для удаления более не нужных пакетов выполним

sudo apt-get remove fakeroot kernel-wedge build-essential makedumpfile kernel-package libncurses5 libncurses5-dev

но я их оставил на месте, мало ли что.
Выполним

rm ~/source

для удаления каталога с исходным кодом.
Перезагрузим систему, при загрузке выбрав новое ядро.
После загрузки системы мышь работает.
Наверняка, это инструкция может помочь и для другой продукции DNS. Почему значение HID_MAX_USAGES влияет на поддержку оборудования я сам до конца не понимаю. Буду рад услышать грамотные объяснения в комментариях.

Автор: 8xandr

Источник


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js