Larry Finger wrote:
I have successfully connected my Linksys WPC54G to my AP using WPA-PSK encryption using the bcm43xx/softmac software.

To be able to do this, it was necessary to patch ieee80211softmac_wx.c and bcm43xx_wx.c using the two attached patches.

Johannes changed my patch to add the necessary routines to ieee80211 rather than ieee80211softmac. As a result, I am submitting a revised patch for bcm43xx_wx.c (patch attached) to allow WPA-PSK to work with wpa_supplicant.

Larry
Index: bcm43xx_wx.c
===================================================================
--- bcm43xx_wx.c        (revision 1051)
+++ bcm43xx_wx.c        (working copy)
@@ -554,6 +554,21 @@
        return err;
 }
 
+static int bcm43xx_wx_set_encodingext(struct net_device *net_dev,
+                                   struct iw_request_info *info,
+                                   union iwreq_data *data,
+                                   char *extra)
+{
+        struct bcm43xx_private *bcm = bcm43xx_priv(net_dev);
+        int err;
+
+        wx_enter();
+
+        err = ieee80211_wx_set_encodeext(bcm->ieee, info, data, extra);
+
+        return err;
+}
+
 static int bcm43xx_wx_get_encoding(struct net_device *net_dev,
                                   struct iw_request_info *info,
                                   union iwreq_data *data,
@@ -569,6 +584,21 @@
        return err;
 }
 
+static int bcm43xx_wx_get_encodingext(struct net_device *net_dev,
+                                   struct iw_request_info *info,
+                                   union iwreq_data *data,
+                                   char *extra)
+{
+        struct bcm43xx_private *bcm = bcm43xx_priv(net_dev);
+        int err;
+
+        wx_enter();
+
+        err = ieee80211_wx_get_encodeext(bcm->ieee, info, data, extra);
+
+        return err;
+}
+
 static int bcm43xx_wx_set_power(struct net_device *net_dev,
                                struct iw_request_info *info,
                                union iwreq_data *data,
@@ -970,11 +1000,15 @@
        /* Encoding */
        WX(SIOCSIWENCODE)       = bcm43xx_wx_set_encoding,
        WX(SIOCGIWENCODE)       = bcm43xx_wx_get_encoding,
+       WX(SIOCSIWENCODEEXT)    = bcm43xx_wx_set_encodingext,
+       WX(SIOCGIWENCODEEXT)    = bcm43xx_wx_get_encodingext,
        /* Power saving */
 //TODO WX(SIOCSIWPOWER)        = bcm43xx_wx_set_power,
 //TODO WX(SIOCGIWPOWER)        = bcm43xx_wx_get_power,
        WX(SIOCSIWGENIE)        = ieee80211softmac_wx_set_genie,
        WX(SIOCGIWGENIE)        = ieee80211softmac_wx_get_genie,
+       WX(SIOCSIWAUTH)         = ieee80211_wx_set_auth,
+       WX(SIOCGIWAUTH)         = ieee80211_wx_get_auth,
 };
 #undef WX
 

Reply via email to