Subject: RE: kern/23694
To: None <dyoung@netbsd.org, gnats-admin@netbsd.org,>
From: wrzymski <wrzymski@gmail.com>
List: netbsd-bugs
Date: 01/25/2006 17:05:02
The following reply was made to PR kern/23694; it has been noted by GNATS.

From: wrzymski <wrzymski@gmail.com>
To: gnats-bugs@NetBSD.org
Cc: 
Subject: RE: kern/23694
Date: Wed, 25 Jan 2006 18:04:33 +0100

 >>Number:         23694
 >>Category:       kern
 >>Synopsis:       monitor mode is broken with wi(4)
 >>Confidential:   no
 >>Severity:       serious
 >>Priority:       medium
 >>Responsible:    dyoung
 >>State:          open
 >>Class:          sw-bug
 >>Description:
 >When you put a Lucent wi(4) into monitor mode, no packets (or else very fe=
 w)
 >are available to the Berkeley Packet Filter tap. The problem seems to be t=
 hat
 >packets received in monitor mode meet at zero or more "drop" criteria for =
 wi,
 >and also at least one drop criterion for the 802.11 layer.
 
 This probably isn't wi driver problem. For me sound similar to know
 Linux orinoco driver issue. Monitor doesn't work stable with
 firmware>8.x - previous linux drivers  had some workarounds for it.
 With 0.15 driver you can not turn card into monitor mode anymore. I
 have hermes chipset card and after downgrading from 8.72 to 6.06
 firmware monitor mode works with my Jornada 690 (netbsd hpcsh-port).
 
 From linux driver changelog:
 
 0.15rc2 - 28 Jul 2004
 * Monitor mode disabled on Agere 8.xx firmware - it's broken.
 
 Part of linux driver:
 
         /* Determine capabilities from the firmware version */
         switch (priv->firmware_type) {
         case FIRMWARE_TYPE_AGERE:
                 /* Lucent Wavelan IEEE, Lucent Orinoco, Cabletron RoamAbout=
 ,
                    ELSA, Melco, HP, IBM, Dell 1150, Compaq 110/210 */
                 snprintf(priv->fw_name, sizeof(priv->fw_name) - 1,
                          "Lucent/Agere %d.%02d", sta_id.major, sta_id.minor=
 );
 
                 firmver =3D ((unsigned long)sta_id.major << 16) | sta_id.mi=
 nor;
 
                 priv->has_ibss =3D (firmver >=3D 0x60006);
                 priv->has_wep =3D (firmver >=3D 0x40020);
                 priv->has_big_wep =3D 1; /* FIXME: this is wrong - how do w=
 e tell
                                           Gold cards from the others? */
                 priv->has_mwo =3D (firmver >=3D 0x60000);
                 priv->has_pm =3D (firmver >=3D 0x40020); /* Don't work in 7=
 .52 ? */
                 priv->ibss_port =3D 1;
                 priv->has_hostscan =3D (firmver >=3D 0x8000a);
                 priv->broken_monitor =3D (firmver >=3D 0x80000);
 
                 /* Tested with Agere firmware :
                  *      1.16 ; 4.08 ; 4.52 ; 6.04 ; 6.16 ; 7.28 =3D> Jean I=
 I
                  * Tested CableTron firmware : 4.32 =3D> Anton */
                 break;
 
 #wrz#