<?xml version="1.0" encoding="UTF-8" ?>

<bugzilla version="5.2"
          urlbase="https://bugzilla.altlinux.org/"
          
          maintainer="jenya@basealt.ru"
>

    <bug>
          <bug_id>6804</bug_id>
          
          <creation_ts>2005-05-10 20:09:51 +0400</creation_ts>
          <short_desc>При извлечении USB устройства не запускается usermap-скрипт</short_desc>
          <delta_ts>2006-08-29 22:14:42 +0400</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>4</classification_id>
          <classification>Development</classification>
          <product>Sisyphus</product>
          <component>hotplug</component>
          <version>unstable</version>
          <rep_platform>all</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P1</priority>
          <bug_severity>major</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>7085</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sir Raorn">raorn</reporter>
          <assigned_to name="Anton Farygin">rider</assigned_to>
          <cc>genix</cc>
    
    <cc>mike</cc>
    
    <cc>pilot</cc>
    
    <cc>shrek</cc>
    
    <cc>slava</cc>
    
    <cc>sr</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>24362</commentid>
    <comment_count>0</comment_count>
    <who name="Sir Raorn">raorn</who>
    <bug_when>2005-05-10 20:09:51 +0400</bug_when>
    <thetext>Для поддержки IrDA/USB (реализуется при помощи usermap) необходимо выполнять
некоторую последователность действий при подключении устройства и при его
отключении.  Сейчас такой возможности не предусмотрено:

/etc/hotplug/usb.agent
...
case $ACTION in

add)
...
    for MAP in $MAP_USERMAP $HOTPLUG_DIR/usb/*.usermap
    do
...
    done
...
 ;;

remove)
    if [ -x $REMOVER ]; then
        $REMOVER
    fi
    rm -f $REMOVER

    ;;
...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>24374</commentid>
    <comment_count>1</comment_count>
    <who name="Sir Raorn">raorn</who>
    <bug_when>2005-05-11 01:24:19 +0400</bug_when>
    <thetext>Кстати, за отмазку вполне может проканать указание как пользоваться $REMOVER&apos;ом.
 Это как я понимаю наиболее прямой путь в данной ситуации.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>24416</commentid>
    <comment_count>2</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2005-05-12 10:30:27 +0400</bug_when>
    <thetext>Как использовать REMOVER рассказано в комментариях usb.agent&apos;а
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>24425</commentid>
    <comment_count>3</comment_count>
    <who name="Sir Raorn">raorn</who>
    <bug_when>2005-05-12 10:56:56 +0400</bug_when>
    <thetext>Это?

# This script then adds the variable:
#
#       REMOVER=/var/run/usb/&lt;some string unique to $DEVICE&gt;
#
# This is the path where the script would like to find a remover, if
# the target device needs one. This script is executed on remove if
# it is executable when the remove happens.

Насколько кошерно такое использование:

... do something useful
if [ -n &quot;$REMOVER&quot; ]; then
  rmscript=$(mktemp &quot;${REMOVER}.XXXXXXXXXX&quot;)
  cat &lt;&lt;EOF &gt; &quot;$rmscript&quot;
#!/bin/sh
... do something
EOF
  chmod 700 &quot;$rmscript&quot;
  mv -f &quot;$rmscript&quot; &quot;$remover&quot;
fi

Ещё вопрос - имеет ли смысл переменная ACTION в usermap скрипте?  Во всех
примерах подразумевается, что ACTION всегда add...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>24427</commentid>
    <comment_count>4</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2005-05-12 11:19:39 +0400</bug_when>
    <thetext>Наверное где-то имеет.

Кстати, а зачем тебе нужно что-то делать в REMOVER ?
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>24428</commentid>
    <comment_count>5</comment_count>
    <who name="Sir Raorn">raorn</who>
    <bug_when>2005-05-12 11:22:12 +0400</bug_when>
    <thetext>&gt; Кстати, а зачем тебе нужно что-то делать в REMOVER ?

Нужно убивать irattach (service irda stop).  Сам не дохнет...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>24429</commentid>
    <comment_count>6</comment_count>
    <who name="Valery Inozemtsev">shrek</who>
    <bug_when>2005-05-12 11:25:38 +0400</bug_when>
    <thetext>Алексей, подожди заморачиваться. Мы тут с pilot@ посовещались, irdaX это же
сетевой интерфейс, дергается он через net.agent, поэтому для него надо делать
up\down в etcnet</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>24430</commentid>
    <comment_count>7</comment_count>
    <who name="Sir Raorn">raorn</who>
    <bug_when>2005-05-12 11:30:51 +0400</bug_when>
    <thetext>(In reply to comment #6)
&gt; Алексей, подожди заморачиваться. Мы тут с pilot@ посовещались, irdaX это же
&gt; сетевой интерфейс, дергается он через net.agent, поэтому для него надо делать
&gt; up\down в etcnet

Он такой же сетевой, как tty.  /dev/ircommX (модуль ircomm-tty).

Как scmxx будет общаться с телефоном через сетевой интерфейс?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>24431</commentid>
    <comment_count>8</comment_count>
    <who name="Valery Inozemtsev">shrek</who>
    <bug_when>2005-05-12 11:37:54 +0400</bug_when>
    <thetext>а ты включи для начала дебаг в хотплюе и подергай игду туда сюда, все увидишь. в
конце концов неважно чем он будет подниматься\опускаться, главное что бы
реализация была простая</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>24465</commentid>
    <comment_count>9</comment_count>
    <who name="Sir Raorn">raorn</who>
    <bug_when>2005-05-13 01:09:39 +0400</bug_when>
    <thetext>Ага, именно так.  Вызывается net.agent c нужным irdaX...

Как вариант - запускать irattach из net.agent через start-stop-daemon, пропатчив
первый на предмет создания уникальных пидфайлов (его вообще переписать бы надо
если честно).

Либо то же самое, но в etcnet.  Можно вообще всю поддержку irda вынести в etcnet.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>24468</commentid>
    <comment_count>10</comment_count>
    <who name="Denis Ovsienko">pilot</who>
    <bug_when>2005-05-13 10:19:55 +0400</bug_when>
    <thetext>&gt; Либо то же самое, но в etcnet.  Можно вообще всю поддержку irda вынести в etcnet.
... или в hotplug :) Хорошо.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>24469</commentid>
    <comment_count>11</comment_count>
    <who name="Sir Raorn">raorn</who>
    <bug_when>2005-05-13 10:27:33 +0400</bug_when>
    <thetext>&gt; ... или в hotplug :) Хорошо.

А что вообще нужно от интерфейса irdaX?  У меня дальше irattach и modprobe
ircomm-tty фантазия не идёт.  Обычно всё равно поверх него работает pppd, либо
как клиент либо как сервер...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>24470</commentid>
    <comment_count>12</comment_count>
    <who name="Denis Ovsienko">pilot</who>
    <bug_when>2005-05-13 10:39:15 +0400</bug_when>
    <thetext>Не могу похвастаться более занятными применениями.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>24481</commentid>
    <comment_count>13</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2005-05-13 12:16:47 +0400</bug_when>
    <thetext>Еще можно смонтировать содержимое сотового через OBEX.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>27252</commentid>
    <comment_count>14</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2005-07-13 20:44:26 +0400</bug_when>
    <thetext>raorn, используй /etc/dev.d/ в udev-0.62, оно как раз для этих целей.
</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>