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

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

    <bug>
          <bug_id>12772</bug_id>
          
          <creation_ts>2007-09-14 02:59:20 +0400</creation_ts>
          <short_desc>wpa_supplicant не работает на уже ассоциированном интерфейсе</short_desc>
          <delta_ts>2011-09-10 11:13:41 +0400</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>3</classification_id>
          <classification>Distributions</classification>
          <product>Branch 4.0</product>
          <component>wpa_supplicant</component>
          <version>4.0</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>P2</priority>
          <bug_severity>critical</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Anton Farygin">rider</reporter>
          <assigned_to name="inger@altlinux.org">inger</assigned_to>
          <cc>mike</cc>
    
    <cc>rider</cc>
    
    <cc>sbolshakov</cc>
          
          <qa_contact name="Q.A. 4.0">qa-4.0</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>55146</commentid>
    <comment_count>0</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2007-09-14 02:59:20 +0400</bug_when>
    <thetext>Если интерфейс предварительно ассоциировать с точкой доступа через
wireless-tools, то wpa_supplicant перестаёт работать.

Пример:
настраиваем карту через iwconfig eth1 essid myessid key 0x12121212

После этого пытаемся перенастроить плату с помощью alterator-net-wifi на WEP.
Получаем странное - идёт коннект, после этого сразу - дисконнект. Это зависит от
ядерного драйвера, и воспроизводится железно на ipw3945.

Проблема в том, что если интерфейс уже ассоциирован с точкой доступа, то драйвер
не отправляет SIOCGIWAP (в общем то он прав), и wpa_supplicant никогда не
получает сигнал о том, что подсоединение к точке доступа прошло успешно. И
соответственно процедура аутентификации обламывается по таймауту (хотя во время
таймаута сеть работает), после таймаута идёт повторная процедура и так до
бесконечности.

Мне показалось правильным способом исправить данную проблему - перед началом
аутентификации на точке доступа сбросить ассоциацию, что в общем то никому не
вредит (процедура тривиальная), а драйверу скажет &quot;разорви соединение, если был
подключен&quot;.

Патч тривиален, просьба приложить как в Sisyphus так и в branch/4.0:
diff --git a/wpa_supplicant/driver_wext.c b/wpa_supplicant/driver_wext.c
index de97950..7a3daf9 100644
--- a/wpa_supplicant/driver_wext.c
+++ b/wpa_supplicant/driver_wext.c
@@ -1796,6 +1796,12 @@ wpa_driver_wext_associate(void *priv,
        int value;
 
        wpa_printf(MSG_DEBUG, &quot;%s&quot;, __FUNCTION__);
+       /*
+        * DeAuthenticate workaround for already authentificated driver
+        *
+        */
+        
+       wpa_driver_wext_deauthenticate(drv,params-&gt;bssid,0);
 
        /*
         * If the driver did not support SIOCSIWAUTH, fallback to</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>55147</commentid>
    <comment_count>1</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2007-09-14 03:01:16 +0400</bug_when>
    <thetext>перевешиваю на &quot;последнего кто изменял&quot;

Стас, внеси пожалуйста данное изменение.
2lioka: посмотри, на твой взгляд - что-то оно сломает ? я у себя протестировал -
работает fine, как с настроенной точкой так и с отключенной.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>55148</commentid>
    <comment_count>2</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2007-09-14 03:10:53 +0400</bug_when>
    <thetext>Забыл добавить - эта ошибка вылезает только в случае использование
аутентификации WEP а не WPA</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>125119</commentid>
    <comment_count>3</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2011-09-10 11:13:41 +0400</bug_when>
    <thetext>давно исправлено.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>