Bug 2784 - PLIP handling is broken
: PLIP handling is broken
Status: CLOSED FIXED
: Sisyphus
(All bugs in Sisyphus/modutils)
: unstable
: all Linux
: P4 major
Assigned To:
:
:
:
:
:
  Show dependency tree
 
Reported: 2003-07-27 20:26 by
Modified: 2005-07-13 15:45 (History)


Attachments


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2003-07-27 20:26:41
В файле /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 From 2003-07-28 01:26:20 -------
Ok, я уберу эту строку, посмотрим, что получится.
Я не буду трогать строку про pcmcia, ибо это совсем другая история.
------- Comment #2 From 2003-07-28 01:26:20 -------
Ok, я уберу эту строку, посмотрим, что получится.
Я не буду трогать строку про pcmcia, ибо это совсем другая история.
------- Comment #3 From 2003-07-28 03:18:31 -------
Чтобы сохранить задуманный в /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 From 2003-07-28 03:18:31 -------
Чтобы сохранить задуманный в /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 From 2003-08-16 00:12:28 -------
Implemented in modutils >= 2.4.25-alt2
------- Comment #6 From 2003-08-16 00:12:28 -------
Implemented in modutils >= 2.4.25-alt2
------- Comment #7 From 2003-08-19 14:05:17 -------
вот и отлично
------- Comment #8 From 2003-08-19 14:05:17 -------
вот и отлично
------- Comment #9 From 2003-12-07 15:54:43 -------
В результате этих исправлений теперь при загрузке модуля 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 From 2003-12-09 16:31:41 -------
От меня что-нибудь требуется?
------- Comment #11 From 2004-01-11 02:57:40 -------
А от меня? 
------- Comment #12 From 2004-01-27 08:32:15 -------
Да, вот эта строка в /etc/sysconfig/network-scripts/ifup-plip вредная:
route add -net ${NETWORK} netmask ${NETMASK} ${DEVICE}
PLIP --- интерфейсы точка-точка.
Вот ещё только что обратил внимание:
/etc/sysconfig/network-scripts/ifup-post $1
Или у меня в трёх местах ошибка (но работает же), или здесь.
Постараюсь выяснить в ближайшее время.
------- Comment #13 From 2004-02-09 11:39:50 -------
Правильно вот так:
exec /etc/sysconfig/network-scripts/ifup-post "$CONFIG" "$2"
И без прямого вызова route.
------- Comment #14 From 2004-02-21 20:36:37 -------
В modutils-2.4.26-alt1 файл /etc/modutils.d/parport убран; загрузка parport_pc
срабатывает автоматически, но прерывание нужно настраивать через modules.conf
(поскольку это уже зависит от конфигурации аппаратуры).

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