Subject: Aironet an driver strange problem
To: None <tech-net@NetBSD.org>
From: Dheeraj Reddy <dheeraj@ece.gatech.edu>
List: tech-net
Date: 08/01/2004 04:48:48
Hello all,
     Couple of things.

     first i am using cisco aironet pcmcia 350 series card, with a 5.41 
firmware.  first i had issues with the changed sizes of the config rids, 
so i added additional padding as the debug message indicated.
--- sys/dev/ic/anreg.h  2004-07-31 05:30:50.000000000 -0400
+++ sys/dev/ic/anreg.h.new      2004-07-31 05:06:59.000000000 -0400
@@ -255,7 +255,7 @@
        u_int8_t                an_magic_packet_action; /* 0x98 */
        u_int8_t                an_magic_packet_ctl;    /* 0x99 */
        u_int16_t               an_rsvd9;
-       u_int16_t               an_spare[16];
+       u_int16_t               an_spare[24];
 } __attribute__((__packed__));

 #define AN_OPMODE_IBSS_ADHOC                   0x0000


    next, the  packet length is indicated to be 2 bytes more than it
actually is.  So, i get debug messages but  if the mtu is 1500 and the card
get  1500 bytes during an ftp transfer, the length as seen in
line 1320 of src/sys/dev/ic/an.c is 2 more than what should be the
correct value.

i tried the following to verify that this intuition was correct.

- m->m_pkthdr.len = m->m_len = sizeof(struct ieee80211_frame) + len;
+ m->m_pkthdr.len = m->m_len = sizeof(struct ieee80211_frame) + len - 2;

and it all works fine. i know that this is not a fix but i am 
unable to nail it correctly. Can someone kindly help me  ?

-- 
truely
dheeraj