[Hardware] Re: DKU-5 кабель.

Sergey Vlasov vsu на altlinux.ru
Чт Авг 18 17:35:46 MSD 2005


On Thu, Aug 18, 2005 at 03:07:41PM +0300, Dolgov OV wrote:
> On Thu, 18 Aug 2005 15:07:15 +0400  Sergey Vlasov wrote:
> > Вроде бы есть какие-то драйверы и для ядер 2.4.x:
> > http://gate.brimson.com/downloads/
> 
> Скачал ti_usb-1.1-1.src.rpm ...
> 
> Как его собрать?! Он ищет исходники ядра (знаю, что надо всего лишь
> заголовки, но как ему это в спеке объяснить?)

Чтобы не разбираться, чего там хочет его configure, можно собрать так:

1) apt-get install kernel-headers-modules-std-up (версия и сборка
пакета должны точно соответствовать используемому ядру - т.е., если
брали ядро из updates, за этим пакетом нужно идти туда же).

2) Распаковать src.rpm и лежащий внутри него ti_usb-1.1.tgz (можно
было сразу качать .tgz).

3) Положить в подкаталог ti_usb-1.1/src файл Makefile следующего
содержания:

=======================================================================
obj-m := ti_usb.o
list-multi := ti_usb.o
ti_usb-objs := ti_usb_3410_5052.o ti_usb_serial.o

include $(TOPDIR)/Rules.make

ti_usb.o : $(ti_usb-objs)
	$(LD) -r -o ti_usb.o $(ti_usb-objs)
=======================================================================

4) Выполнить в этом подкаталоге команду:

  make -C /usr/src/linux-<версия> modules SUBDIRS=$(pwd)

5) Положить получившийся ti_usb.o в /lib/modules/$(uname -r),
выполнить depmod -a.

С модулем в принципе всё, но нужно ещё создавать файлы устройств в
/dev - тут ситуация усложняется тем, что этот модуль использует
динамический major (что вполне естественно - официального диапазона
номеров для него никто не выделял), поэтому при каждой его загрузке
файлы в /dev нужно создавать заново.  В принципе там есть некий скрипт
make_devices, но приворачивать его придётся самостоятельно.  Возможно,
проще будет взять какой-нибудь major из диапазона "local/experimental
use" (60-63, 120-127, 240-254) и передавать его модулю через параметр
major, например, добавив в modules.conf:

  options ti_usb major=62

Тогда устройства с этим major достаточно создать только один раз.

В 2.6 с этим проще, поскольку, во-первых, драйвер ti_usb_3410_5052 для
2.6 интегрирован с остальной подсистемой usb-serial (и использует
устройства /dev/ttyUSB*, как и другие аналогичные драйверы),
во-вторых, для 2.6 есть udev, поэтому большая часть проблем с
динамическими major исчезает.  Проблема с драйверами usb-serial для
2.4 в том, что интерфейсы usb-serial недоступны для модулей,
собираемых отдельно от ядра (фактически ti_usb_serial в этом драйвере
является в основном копией usbserial.c из ядра с переименованными
функциями, чтобы избежать конфликтов с версией из ядра), поэтому
возникает необходимость в собственном major.
-------------- next part --------------
z'╣ЛmjшZr··э╡г+╧╤чtж╕zz-jЖ╒∙╕Еy<╘y╙i√'╤*'Ч≤)╡('jш╚y(Ё{_=o+^╟7╛rz-jЖ╒∙╕ЕyJЕ├шiЪЫb╡ш√ыb·Лk╩Зb╔ЙФj)┘╙ща╙чЩ╚miхfz{lЪm4ГO5СЪ8s╥8iЪз╤ж°├g╖╣╦╖


Подробная информация о списке рассылки Hardware