Bug 25897

Summary: usb-modeswitch не срабатывает на этапе загрузки
Product: Sisyphus Reporter: manowar <manowar>
Component: usb-modeswitchAssignee: Mikhail Efremov <sem>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: normal    
Priority: P3 CC: asy, ldv, manowar, sem, snejok, vsu
Version: unstable   
Hardware: all   
OS: Linux   
URL: https://dev.openwrt.org/ticket/9352
Attachments:
Description Flags
Принудительное добавление USB-устройств
none
Добавлена обработка событий "change" none

Description manowar@altlinux.org 2011-07-11 19:20:03 MSK
Created attachment 5007 [details]
Принудительное добавление USB-устройств

Если на этапе загрузки системы USB-устройство (обычно — модем) уже подключено, то событие 'add' для него не генерируется и переключения в режим модема не происходит. Предложенный патч решает проблему.
Comment 1 Valery Inozemtsev 2011-07-11 21:30:25 MSK
не надо делать костылей там где их не надо делать. разбирайтесь с usb-modeswitch
Comment 2 manowar@altlinux.org 2011-07-11 23:53:56 MSK
(В ответ на комментарий №1)
> не надо делать костылей там где их не надо делать. разбирайтесь с
> usb-modeswitch

  Так ведь сам по себе usb-modeswitch здесь не причём. Проблема в том, что без костыля udevd не вызывает этот скрипт для устройств, которые были подключены ещё до старта.
Comment 3 Valery Inozemtsev 2011-07-12 00:06:26 MSK
ну так и исправляйте этот скрипт/правила для usb-modeswitch
Comment 5 manowar@altlinux.org 2011-07-12 04:12:51 MSK
Кажется я нашёл лучший вариант решения проблемы. Если в 40-usb_modeswitch.rules обрабатывать не только  события 'add', но и события 'change', то переключение модема происходит по команде udevadm trigger.

Спасибо Валере за то, что он подтолкнул меня в этом направлении.

Правда пока всё равно не всё гладко: несмотря на то, что при старте udevd команда `udevadm trigger` вызывается, переключение модема происходит не всегда. Возможно, что где-то там возникает гонка. Ручной вызов `udevadm trigger` после загрузки всегда приводит к положительному результату.
Comment 6 Anton V. Boyarshinov 2011-07-12 13:14:58 MSK
(В ответ на комментарий №4)
> Created an attachment (id=5008) [details]
> Добавлена обработка событий "change"
> 
> http://git.altlinux.org/people/manowar/packages/usb-modeswitch-data.git?p=usb-modeswitch-data.git;a=commitdiff;h=857d9f20e6ad79c54274aba21fdb4ca6b3e1e95a

Отправил в Сизиф. Заапстримишь?
Comment 7 manowar@altlinux.org 2011-07-12 15:08:58 MSK
Постараюсь.
Comment 8 Lenar Shakirov 2012-10-22 13:31:28 MSK
Заапстримлено. Работает.

Сделано так:
ACTION!="add|change", GOTO="modeswitch_rules_end"