Bug 25897 - usb-modeswitch не срабатывает на этапе загрузки
Summary: usb-modeswitch не срабатывает на этапе загрузки
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: usb-modeswitch (show other bugs)
Version: unstable
Hardware: all Linux
: P3 normal
Assignee: Mikhail Efremov
QA Contact: qa-sisyphus
URL: https://dev.openwrt.org/ticket/9352
Keywords:
Depends on:
Blocks:
 
Reported: 2011-07-11 19:20 MSK by manowar@altlinux.org
Modified: 2012-10-22 13:31 MSK (History)
6 users (show)

See Also:


Attachments
Принудительное добавление USB-устройств (591 bytes, patch)
2011-07-11 19:20 MSK, manowar@altlinux.org
no flags Details | Diff
Добавлена обработка событий "change" (709 bytes, patch)
2011-07-12 04:04 MSK, manowar@altlinux.org
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
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"