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