База знаний

www. IT-Mehanika .ru --  журнал доброго админа

VoIP-телефоны на чипах Yealink в Linux

Привожу целиком потрясающую статью написанную 2011-01-21 02:09:39 MooSE (http://www.ylsoftware.com) . Автору респект,уважуха и пожелание много пива !!!

читайте и наслаждайтесь :

Некоторое время назад автор этих строк стал обладателем USB VoIP трубки Skypemate USB-P1K и озадачился организацией нормальной работы этой трубки в Linux (используется Xubuntu 10.10 amd64). Skypemate USB-P1K является (как и большинство трубок такого класса) полным клоном трубки Yealink USB-P1K, и это заметно упростило задачу.

 

 


Skypemate USB-P1K

Как оказалось поддержка трубок на чипах yealink в Linux всё-таки есть, но входящий в состав ядра (по крайней мере в дистрибутивах на основе Ubuntu) модуль является очень старым и поддерживает только минимальный функционал (в частности не работает клавиатура). Далее будет показано как можно установить современную версию модуля yealink и так же организовать автоматическую сборку модуля для новых ядер через DKMS.

Первым делом "поднимемся" до суперпользователя:

sudo su -


Затем получим полный срез репозитория с исходными текстами модуля:

svn co --username guest --password readonly svn://devbase.homelinux.org:5070/voip/yealink-module


Установим необходимые для сборки модуля пакеты:

apt-get install linux-headers-generic linux-source dkms

Далее посмотрим в директорию "yealink-module/tags" и выберем подходящий срез. Автор этих строк выбрал самый новый (на момент написания статьи): "yld-20101214". Перейдём в директорию с выбраной версией:

cd yealink-module/tags/yld-20101214


Далее можно просто собрать модуль и установить его, но тогда придётся при каждом обновлении ядра пересобирать модуль вручную. Гораздо интереснее автоматизировать эту задачу, переложив её на плечи системы. Именно для этого и создавался механизм DKMS.

Создадим архив с необходимыми файлами (фактически дистрибутив исходных текстов модуля) и развернём его в директорию "/usr/src":

make dist && tar jxfv yealink-module-* -C /usr/src/


Теперь создадим файл "/usr/src/yealink-module-20101214/dkms.conf", который содержит правила сборки модуля через DKMS. Его содержание:

PACKAGE_NAME="yealink"
PACKAGE_VERSION="20101214"
CLEAN="rm -f *.*o"
BUILT_MODULE_NAME[0]="yealink"
DEST_MODULE_LOCATION[0]="/kernel/drivers/input/misc/"
REMAKE_INITRD="yes"
AUTOINSTALL="yes"


Добавим модуль в список обрабатываемых с помощью dkms:

dkms add -m yealink-module -v 20101214


Соберём модуль:

dkms build -m yealink-module -v 20101214


Установим его:

dkms install -m yealink-module -v 20101214


Теперь осталось выгрузить уже загруженный модуль и загрузить новый:

modprobe -r yealink && modprobe yealink


Теперь в системе установлен новый модуль и трубка работает гораздо лучше. Появилась возможность использовать клавиатуру и динамик звонка. Кроме того при установке новых ядер модуль будет автоматически собираться под новое ядро.

На этом всё. Приятной работы!

© 2011-01-21 02:09:39 MooSE (http://www.ylsoftware.com)

You have no rights to post comments