Configuring Linux
13 August 2013

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

После покупки мыши 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 -r ~/source
для удаления каталога с исходным кодом.
Перезагрузим систему, при загрузке выбрав новое ядро.
После загрузки системы мышь работает.
Наверняка, это инструкция может помочь и для другой продукции DNS. Почему значение HID_MAX_USAGES влияет на поддержку оборудования я сам до конца не понимаю. Буду рад услышать грамотные объяснения в комментариях.

+6
11.3k 12
Comments 9