Bug 2784 - PLIP handling is broken
Summary: PLIP handling is broken
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: modutils (show other bugs)
Version: unstable
Hardware: all Linux
: P4 major
Assignee: Dmitry V. Levin
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-07-27 20:26 MSD by Denis Ovsienko
Modified: 2005-07-13 15:45 MSD (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Denis Ovsienko 2003-07-27 20:26:41 MSD
В файле /lib/modutils/macros написано следующее:
pre-install plip modprobe parport_pc; echo 7 >/proc/parport/0/irq
1. Я не видел машины, на которой /proc/parport бы существовал. Из-за этого modprobe plip не может быть выполнен, так как pre-install script failed.
2. Зачем прятать явное IRQ7? Если человеку нужно, он напишет options parport_pc irq=7 в /etc/modules.conf.
Одним словом, давайте выносить эту строку (и pre-install pcmcia_core service pcmcia start тоже) из /lib/modutils/macros
---

---

Comment 1 Dmitry V. Levin 2003-07-28 01:26:20 MSD
Ok, я уберу эту строку, посмотрим, что получится.
Я не буду трогать строку про pcmcia, ибо это совсем другая история.
Comment 2 Dmitry V. Levin 2003-07-28 01:26:20 MSD
Ok, я уберу эту строку, посмотрим, что получится.
Я не буду трогать строку про pcmcia, ибо это совсем другая история.
Comment 3 Denis Ovsienko 2003-07-28 03:18:31 MSD
Чтобы сохранить задуманный в /lib/modutils/macros эффект, можно нарисовать в /etc/modules.conf следующее:

below plip parport_pc
below parport_pc parport
options parport_pc irq=7
Параметры io & dma заранее угадать нельзя, у меня, например, io=0x378 dma=3, но прерывание, как правило, 7, если порт не отключен в BIOS setup.
Строку для pcmcia_core, кстати, кто-то (инсталлятор? kudzu?) вешает в /etc/modules.conf в виде
pre-install pcmcia_core CARDMGR_OPTS=-f /etc/rc.d/init.d/pcmcia start
Выходит, зря старается?
Comment 4 Denis Ovsienko 2003-07-28 03:18:31 MSD
Чтобы сохранить задуманный в /lib/modutils/macros эффект, можно нарисовать в /etc/modules.conf следующее:

below plip parport_pc
below parport_pc parport
options parport_pc irq=7
Параметры io & dma заранее угадать нельзя, у меня, например, io=0x378 dma=3, но прерывание, как правило, 7, если порт не отключен в BIOS setup.
Строку для pcmcia_core, кстати, кто-то (инсталлятор? kudzu?) вешает в /etc/modules.conf в виде
pre-install pcmcia_core CARDMGR_OPTS=-f /etc/rc.d/init.d/pcmcia start
Выходит, зря старается?
Comment 5 Dmitry V. Levin 2003-08-16 00:12:28 MSD
Implemented in modutils >= 2.4.25-alt2
Comment 6 Dmitry V. Levin 2003-08-16 00:12:28 MSD
Implemented in modutils >= 2.4.25-alt2
Comment 7 Denis Ovsienko 2003-08-19 14:05:17 MSD
вот и отлично
Comment 8 Denis Ovsienko 2003-08-19 14:05:17 MSD
вот и отлично
Comment 9 Sergey Vlasov 2003-12-07 15:54:43 MSK
В результате этих исправлений теперь при загрузке модуля lp имеем ругань:

parport_pc: irq specified without base address.  Use 'io=' to specify one

Безвредно, но неприятно.

Кроме того, строка "below parport_pc parport" не нужна - у модуля parport_pc и
так в любом случае будет зависимость на parport. На самом деле это даже вредно -
в конфигурации ядра может быть CONFIG_PARPORT=y, CONFIG_PARPORT_PC=m, при этом
модуля parport не будет.

Правильнее было бы сделать так:

below plip parport_lowlevel
alias parport_lowlevel parport_pc

(хотя на самом деле последний alias, оказывается, встроен в modprobe - так что
можно даже ограничиться одной строкой below plip parport_lowlevel).

На самом деле нужные модули загрузятся даже без всех этих строк - модуль parport
при регистрации драйвера верхнего уровня (lp, plip, ...), если в этот момент не
зарегистрирован ни один драйвер нижнего уровня (parport_pc и т.п.),
автоматически вызывает request_module("parport_lowlevel"). Хотя от явного below
plip parport_lowlevel хуже не будет - убирается лишний вызов modprobe ядром.

Прерывание же автоматом включить не удастся - помимо того, что при этом нужно
задавать ещё как минимум базовый адрес, бывают случаи, когда оно не работает (в
основном на древнем железе, оно может быть занято звуковой картой на ISA).
Comment 10 Denis Ovsienko 2003-12-09 16:31:41 MSK
От меня что-нибудь требуется?
Comment 11 Dmitry V. Levin 2004-01-11 02:57:40 MSK
А от меня? 
Comment 12 Denis Ovsienko 2004-01-27 08:32:15 MSK
Да, вот эта строка в /etc/sysconfig/network-scripts/ifup-plip вредная:
route add -net ${NETWORK} netmask ${NETMASK} ${DEVICE}
PLIP --- интерфейсы точка-точка.
Вот ещё только что обратил внимание:
/etc/sysconfig/network-scripts/ifup-post $1
Или у меня в трёх местах ошибка (но работает же), или здесь.
Постараюсь выяснить в ближайшее время.
Comment 13 Denis Ovsienko 2004-02-09 11:39:50 MSK
Правильно вот так:
exec /etc/sysconfig/network-scripts/ifup-post "$CONFIG" "$2"
И без прямого вызова route.
Comment 14 Sergey Vlasov 2004-02-21 20:36:37 MSK
В modutils-2.4.26-alt1 файл /etc/modutils.d/parport убран; загрузка parport_pc
срабатывает автоматически, но прерывание нужно настраивать через modules.conf
(поскольку это уже зависит от конфигурации аппаратуры).

Проблема с network-scripts уже не имеет отношения к modutils - повесьте её
отдельно на соответствующий пакет.