From: Sergey Vlasov <vsu@altlinux.ru>
To: community@altlinux.ru
Subject: Re: [Comm] Проблемы с Iola PLN
Date: Sat, 16 Jul 2005 22:27:35 +0400
Message-ID: <20050716182735.GA12954@procyon.home> (raw)
In-Reply-To: <42D93CCB.2080409@tula.net>
[-- Attachment #1: Type: text/plain, Size: 3650 bytes --]
On Sat, Jul 16, 2005 at 08:58:51PM +0400, Андрей Жмурин wrote:
> Заранее прошу на чайника сильно не замахиваться. Поиск по архивам
> не дал никакой информации, потому и пишу сюда.
>
> Имеем: из железа - однопортовый PCI-адаптер IolaPLN (надтональный
> xDSL-модем, изготавливается в Калуге), из софта - ALM2.4 и родные
> дрова, взятые с сайта - http://www.iola.ru/1251/support.htm
> (пробовал и 3.07, и 3.11-2).
>
> Поставил пакет с исходниками ядра, пакет с заголовками, gcc++ 2.95.
> Распаковал исходники, запустил make menuconfig, получил .config ядра,
> дал на него ссылку в includes (дрова Иолы очень хотели его там видеть).
Вот это уже неправильно - вместо исходников и заголовков того ядра,
которое на самом деле используется, были подсунуты какие-то другие.
Или вы установили именно это пересобранное ядро? Тогда это в принципе
правильно, за исключением того, что скрипты сборки модулей в этом
драйвере, как обычно, кривые.
> Откомпилил согласно документации, сделал depmod -a, modprobe ipln
Странно, что собранный таким образом модуль вообще загрузился...
> dmesg показал наличие записей про Iola на eth0 с правильным IP и MAC
> (он по IP у них ставится), но утилита конфигурации говорит, что
> появившийся eth0 не является открытым, потому что это вообще не IolaPLN.
>
> Активно подозреваю, что где-то сильно накосячил, но пока опыта не хватает
> понять, где? Если кто сможет ситуацию прояснить, буду признателен...
Больше всех накосячили разработчики драйвера - это же надо сделать
Makefile и скрипты вокруг, наводящие на мысли о подобном способе
сборки. А уж как они собирают модуль для ядер 2.6.x - это вообще
достойно занесения в сборник вредных советов (я-то надеялся, что с
2.6, где есть стандартная процедура для сборки сторонних модулей,
подобными извращениями больше никто заниматься не будет).
Вместо всего этого безобразия нужно:
0) Удалить модули, которые были собраны оригинальными скриптами, из
/lib/modules.
1) Поставить пакет kernel-headers-modules-std-up (версия и сборка
этого пакета должны точно соответствовать используемому ядру - если
ядро обновлялось из updates, то и этот пакет необходимо взять оттуда
же). Или kernel-headers-modules-std-smp, если используется SMP-ядро.
При этом автоматически вытянется по зависимостям пакет
kernel-headers-std-up и соответствующая версия компилятора (в данном
случае - gcc2.96).
2) Распаковать исходники драйвера и положить в каталог ipln/linux файл
Makefile следующего содержания:
===========================================================================
obj-m := ipln.o iplnusb.o
src ?= .
EXTRA_CFLAGS := -I$(src)/../common -DIPLN
-include $(TOPDIR)/Rules.make
===========================================================================
3) Находясь в этом же каталоге, выполнить команду вида:
make -C /usr/src/linux-2.4.26-std-up modules SUBDIRS=`pwd`
(имя каталога зависит от версии и варианта ядра).
4) Положить собранные модули ipln.o, iplnusb.o (или ipln.ko,
iplnusb.ko для ядер 2.6.x) куда-нибудь в /lib/modules/<версия_ядра>
(можно создать там подкаталог с любым разумным именем, чтобы не
смешивать эти файлы с установленными из пакетов).
5) Выполнить команду depmod -a.
После этого можно загружать модуль (modprobe ipln).
Кстати, похоже, этот модуль при загрузке читает файл /etc/ipln.cfg
(ещё одна вещь, которая в нормальных модулях делаться не должна) -
возможно, какие-то проблемы вызываются отсутствием или неправильным
содержимым этого файла.
В процессе борьбы с утилитой конфигурации может пригодиться strace,
чтобы посмотреть, что она пытается делать.
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
next prev parent reply other threads:[~2005-07-16 18:27 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-07-16 16:58 Андрей Жмурин
2005-07-16 18:27 ` Sergey Vlasov [this message]
2005-07-17 15:04 ` Андрей Жмурин
2005-07-17 16:25 ` [Comm] " Michael Shigorin
2005-07-18 12:39 ` Maxim Bodyansky
2005-07-18 13:11 ` Michael Shigorin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20050716182735.GA12954@procyon.home \
--to=vsu@altlinux.ru \
--cc=community@altlinux.ru \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
ALT Linux Community general discussions
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/community/0 community/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 community community/ http://lore.altlinux.org/community \
mandrake-russian@linuxteam.iplabs.ru community@lists.altlinux.org community@lists.altlinux.ru community@lists.altlinux.com
public-inbox-index community
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.community
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git