Summary: | /etc/init.d/network start breaks USB hotplug | ||||||
---|---|---|---|---|---|---|---|
Product: | Sisyphus | Reporter: | Sergey Vlasov <vsu> | ||||
Component: | net-scripts | Assignee: | Denis Ovsienko <pilot> | ||||
Status: | CLOSED FIXED | QA Contact: | qa-sisyphus | ||||
Severity: | blocker | ||||||
Priority: | P2 | CC: | rider, spider | ||||
Version: | unstable | ||||||
Hardware: | all | ||||||
OS: | Linux | ||||||
Bug Depends on: | |||||||
Bug Blocks: | 3459, 4669 | ||||||
Attachments: |
|
Description
Sergey Vlasov
2004-06-10 13:37:01 MSD
Я hotplug почти не пользуюсь, какие будут предложения? rider, как правильно? Эти строки нейтрализуют hotplug, чтобы он не запускал ifup параллельно с service network start. Выкинуть из net-scripts отключение hotplug'а. А в самом хотплуге че-нить пропатчить. Как вариант (если я правильно понимаю - это делается исключительно из-за ifup) - сделать так что бы и в hotplug и в net-scripts для этого использовался один и тот же код. Кстати, а почему бы не отдать функцию ifup hotplug'у ? Это там живет в net.agent и я не вижу в этом ничего страшного. Я не могу судить, будет ли лучше, если этим будет заниматься hotplug. Почему нельзя отключить hotplug на время подъёма интерфейсов? дело в том, что hotplug должен работать всегда, ибо это hotplug. т.е. - если во время подъема интерфейсов будет воткнута USB мышь, то hotplug ее должен настроить. И так - со всеми устройствами. Сейчас происходит следующее: запускается hotplug, загружает драйвера USB. после этого ядро ищет устройства на USB шине, и само начинает стартовать для него hotplug. Когда и в какое время оно будет запускать hotplug - непонятно. Естественно, что если hotplug во время этого процесса отключить и включить, то часть устройст окажется не настроенной. А можно ли так устроить, чтобы на время работы /etc/init.d/network hotplug не обслуживала сетевые интерфейсы? Если да, то я предлагаю сделать так. А мне кажется, что решение уже есть.. в hotplug: # RedHat and similar export IN_HOTPLUG=1 if [ -x /sbin/ifup ]; then debug_mesg invoke ifup $INTERFACE exec /sbin/ifup $INTERFACE else mesg "how do I bring interfaces up on this distro?" fi Осталось понять что такое IN_HOTPLUG и с чем его ядят. Еще один вариант - не поднимать из hotplug интерфейсы, помеченные как ONBOOT=yes Но hotplug в net-scripts придется оставлять включенным - по любому. Иначе мы наловим массу граблей. > # RedHat and similar > export IN_HOTPLUG=1 > Осталось понять что такое IN_HOTPLUG и с чем его ядят. Это наверняка отключалка функциональности, обрабатываемая RH'ими initscripts или что там у них. > Еще один вариант - не поднимать из hotplug интерфейсы, помеченные как ONBOOT=yes Это нужно исследовать, сразу не могу сказать. > Но hotplug в net-scripts придется оставлять включенным - по любому. Иначе мы > наловим массу граблей. Может, пусть hotplug не лазит в сетевые интерфейсы? Как в https://bugzilla.altlinux.org/show_bug.cgi?id=4256 нет, там были драйвера, а тут - интерфейсы. hotplug никогда не узнает, для чего нужен этот самый интерфейс. Т.е. - например network-scripts не поднимают PCMCIA сетевые. Или USB сетевые. Зачем тогда hotplug поднимает сетевые PCI? все что на CardBus - по своей сути PCI Created attachment 431 [details]
модофикация
Мнения будут? Я проверил эти изменения. USB-мышку мне так и не удалось сломать, но hotplug теперь блокироваться не будет. Если никто не возразит до понедельника, то включу в net-scripts-0.4.9.1. Добро. Эти изменения вошли в 0.4.9.1 (залито). Ошибка исчезла? 2spider:просьба проверить. net-scripts-0.4.9.1-alt1 USB мышь не поднимается. Как не работает ? Блин... отбой тревоги. Заработало. |