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