wi driver issue: Hermes Card functionality changed

Benjamin Close benjsc at clearchain.com
Fri May 2 07:38:20 PDT 2003


Benjamin Close wrote:

> Hi All,
>    I've been trying to work out why my lucent card no longer works 
> with dstumbler. 

For those that are interested the following patch allows dstumbler to 
work with HERMES based cards after the NetBSD / ieee interface merge of 
the wi driver.
This applies to FreeBSD -current only.

diff -ur 
/usr/ports/net/bsd-airtools/work/bsd-airtools/dstumbler/dstumbler.h 
./dstumbler.h
--- /usr/ports/net/bsd-airtools/work/bsd-airtools/dstumbler/dstumbler.h 
Fri May  2 21:08:58 2003
+++ ./dstumbler.h       Fri May  2 21:42:00 2003
@@ -237,7 +237,9 @@
 #ifdef __FreeBSD__
 #define htole16(x) (x)
 #define le16toh(x) (x)
+#if __FreeBSD_version > 500112
 #define O_SYNC     O_FSYNC
+#endif
 #else
 #ifdef __OpenBSD__
 #define le16toh(x) letoh16(x)
diff -ur 
/usr/ports/net/bsd-airtools/work/bsd-airtools/dstumbler/wistat.c ./wistat.c
--- /usr/ports/net/bsd-airtools/work/bsd-airtools/dstumbler/wistat.c    
Sat Jan 12 01:35:43 2002
+++ ./wistat.c  Sat May  3 00:02:00 2003
@@ -298,7 +298,9 @@
       wreq.wi_val[0] = htole16(*((int *)mem));
       break;
     case WI_RID_OWN_SSID:
-      wreq.wi_len = MIN((strlen(mem) + 1) / 2, len);
+      wreq.wi_type = WI_RID_OWN_SSID;
+      //wreq.wi_len = MIN((strlen(mem) + 1) / 2, len);
+      wreq.wi_len = 18;
       wreq.wi_val[0] = htole16(strlen(mem));
       memcpy((char *)&wreq.wi_val[1], mem, strlen(mem));
       break;
@@ -314,7 +316,7 @@
       break;
     case WI_RID_SCAN_REQ:
       wreq.wi_len = (prism2 ? 3 : 1);
-      wreq.wi_type = WI_RID_SCAN_REQ;
+      wreq.wi_type =(prism2 ? WI_RID_SCAN_REQ : WI_RID_SCAN_APS );
 
       if(prism2)
       {




More information about the freebsd-mobile mailing list