Date: Sun, 7 Jan 2001 15:34:52 -0800 (PST) From: asaddi@philosophysw.com To: FreeBSD-gnats-submit@freebsd.org Subject: kern/24137: Aironet driver breaks after firmware upgrade Message-ID: <200101072334.f07NYqQ88827@alephnull.cisco.com>
next in thread | raw e-mail | index | archive | help
>Number: 24137 >Category: kern >Synopsis: Aironet driver breaks after firmware upgrade >Confidential: no >Severity: serious >Priority: low >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Sun Jan 07 15:40:02 PST 2001 >Closed-Date: >Last-Modified: >Originator: Allan Saddi >Release: FreeBSD 4.2-STABLE i386 >Organization: Philosophy SoftWorks >Environment: FreeBSD tranquility.philosophysw.com 4.2-STABLE FreeBSD 4.2-STABLE #42: Sun Jan 7 15:08:24 PST 2001 root@tranquility.philosophysw.com:/usr/src/sys/compile/TRANQUILITY i386 >Description: After upgrading the firmware of my Aironet cards to 4.13, I found that the driver no longer worked. The console began to fill up with these messages: Jan 7 15:03:09 tranquility /kernel: an0: record length mismatch -- expected 134 , got 136 It seems that the new firmware returns an an_ltv_status structure which is 2 bytes larger than expected. (What those 2 bytes are, I have no idea!) Extending the structure by 2 bytes seems to quell the messages, as well as make the driver work again. I was not able to test these changes against cards with older firmware. >How-To-Repeat: Upgrade firmware to 4.13. >Fix: --- ./sys/dev/an/if_aironet_ieee.h.orig Wed Dec 20 13:25:31 2000 +++ ./sys/dev/an/if_aironet_ieee.h Sun Jan 7 15:07:32 2001 @@ -523,7 +523,7 @@ u_int16_t an_max_noise_prev_sec; /* 0x7A */ u_int16_t an_avg_noise_prev_min; /* 0x7C */ u_int16_t an_max_noise_prev_min; /* 0x7E */ - u_int16_t an_spare[2]; + u_int16_t an_spare[3]; }; #define AN_STATUS_OPMODE_CONFIGURED 0x0001 --- ./sys/dev/an/if_anreg.h.orig Wed Dec 20 13:25:31 2000 +++ ./sys/dev/an/if_anreg.h Sun Jan 7 15:07:22 2001 @@ -528,7 +528,7 @@ u_int16_t an_max_noise_prev_sec; /* 0x7A */ u_int16_t an_avg_noise_prev_min; /* 0x7C */ u_int16_t an_max_noise_prev_min; /* 0x7E */ - u_int16_t an_spare[2]; + u_int16_t an_spare[3]; }; #define AN_STATUS_OPMODE_CONFIGURED 0x0001 >Release-Note: >Audit-Trail: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200101072334.f07NYqQ88827>