nixp.ru v3.0

23 октября 2017,
понедельник,
09:24:47 MSK

DevOps с компанией «Флант»
Tim написал 8 мая 2005 года в 08:38 (352 просмотра) Ведет себя неопределенно; открыл 32 темы в форуме, оставил 59 комментариев на сайте.

Слака 10.1

2.6.11.8

Все делаю так

Распаковываем как обычно:

tar -zxvf ltmodem-2.6-alk-v00.tar.gz

cd ./ltmodem-2.6-alk-v00

Теперь нужно немного подправить Makefile. Его шестая строка имеет

такой вид:

KERNEL_DIR := /usr/src/linux-2.6/

Эта переменная указывает на директорию с исходными текстами ядра, для

которого Вы хотите собрать модули. С помощью Вашего любимого редактора

измените путь в соответствии с расположением исходников ядра в Вашей

системе. Выходим из редактора, не забывая сохранить изменения.

Сейчас все готово для компиляции модулей, что мы и делаем командой

make

Если после завершения работы команды make Вы не получили сообщения об

ошибках (на Warning можно просто не обращать внимания), значит все

прошло успешно и в текущей директории должны появиться два нужных нам

модуля: ltserial.ko и ltmodem.ko.

Далее, создаем директорию для новых модулей и копируем их туда:

mkdir /lib/modules/`uname -r`/kernel/drivers/lucent

cp ./*.ko /lib/modules/`uname -r`/kernel/drivers/lucent/

( ! Обратите внимание на обратные кавычки ! )

Не забываем обновить список зависимостей модулей ядра командой:

depmod -a

И после этого можно проверить, загрузятся ли наши модули в память:

modprobe ltserial ( ! НЕ lt_serial ! )

Если все прошло молча, можно начинать радоваться и для пущей уверенности

дать команду lsmod, чтобы окончательно убедиться в том, что оба модуля

действительно в памяти:

lsmod

Module Size Used by

ltserial 8036 0

ltmodem 534320 1 ltserial

Теперь осталось лишь создать файл устройства в каталоге /dev для нашего

модема:

mknod --mode=660 /dev/ttyLT0 c 62 64

…и для удобства символическую ссылку на него:

ln -s /dev/ttyLT0 /dev/modem

Ну и наконец, заключительный этап: нужно сделать так, чтобы эти модули

подгружались автоматически при обращении к модему. Для этого в файл

/etc/modprobe.conf нужно просто добавить несколько строк:

alias /dev/modem ltserial

alias char-major-62 ltserial

alias /dev/tts/LT0 ltserial

На практике достаточно только второй строки, но все же лучше сделать

так, как рекомендуют авторы.

На этом все. Теперь модемом можно пользоваться. В качестве устройства

модема в Вашей программе/скрипте для дозвона нужно указать /dev/modem.

Но после перезагрузки компа, приходиться снова:

Теперь осталось лишь создать файл устройства в каталоге /dev для нашего

модема:

mknod --mode=660 /dev/ttyLT0 c 62 64

…и для удобства символическую ссылку на него:

ln -s /dev/ttyLT0 /dev/modem

т.к. kppp не видит модема…

В чем проблема?

Спасибо!

Genie
Но после перезагрузки компа, приходиться снова:

Теперь осталось лишь создать файл устройства в каталоге /dev для нашего

модема:

mknod --mode=660 /dev/ttyLT0 c 62 64

…и для удобства символическую ссылку на него:

ln -s /dev/ttyLT0 /dev/modem

т.к. kppp не видит модема…

В чем проблема?

подозрение на то, что у тебя установлено udev/devfs (при конфигурации ядра).

соответственно, /dev/ у тебя — виртуальная файловая система, которая, как и всё виртуальное, живёт только до перезагрузки.

либо отключить это самое, либо читать, как создавать эти устройства автоматически.

читать, если что, в каталоге /usr/src/linux/Documentation/filesystems/devfs/

Tim

Если это имеется ввиду,

/dev file system support (OBSOLETE) (DEVFS_FS)

This is support for devfs, a virtual file system (like /proc) which

provides the file system interface to device drivers, normally found

in /dev. Devfs does not depend on major and minor number

allocations. Device drivers register entries in /dev which then

appear automatically, which means that the system administrator does

not have to create character and block special device files in the

/dev directory using the mknod command (or MAKEDEV script) anymore.

This is work in progress. If you want to use this, you must read

the material in , especially

the file README there.

то это в ядро не включено…

metal

У тебя используется udev, а не devfs, смотреть в район /etc/udev

Tim

Что смотреть-то?

metal

В google, с ядром ничего толкового нет!