From owner-freebsd-current@FreeBSD.ORG Sat Aug 13 19:03:55 2005 Return-Path: X-Original-To: freebsd-current@freebsd.org Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B573716A41F for ; Sat, 13 Aug 2005 19:03:55 +0000 (GMT) (envelope-from dsh@vlink.ru) Received: from deliver.smtp.vlink.ru (alias.rigel.internal.vlink.ru [217.23.88.17]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2A21743D45 for ; Sat, 13 Aug 2005 19:03:55 +0000 (GMT) (envelope-from dsh@vlink.ru) Received: from smtp.smtp.vlink.ru (clamav.smtp.vlink.ru [192.168.4.1]) by deliver.smtp.vlink.ru (Postfix) with ESMTP id 1F2584524D for ; Sat, 13 Aug 2005 23:03:54 +0400 (MSD) Received: from neva.vlink.ru (neva.vlink.ru [217.107.252.29]) by smtp.smtp.vlink.ru (Postfix) with ESMTP id D057A4518B for ; Sat, 13 Aug 2005 23:03:53 +0400 (MSD) Received: from neva.vlink.ru (localhost [127.0.0.1]) by neva.vlink.ru (8.13.4/8.13.4) with ESMTP id j7DJ3pTu052049 for ; Sat, 13 Aug 2005 23:03:51 +0400 (MSD) (envelope-from dsh@vlink.ru) Received: (from dsh@localhost) by neva.vlink.ru (8.13.4/8.13.4/Submit) id j7DJ3pk6052046; Sat, 13 Aug 2005 23:03:51 +0400 (MSD) (envelope-from dsh@vlink.ru) To: freebsd-current@freebsd.org References: <877jeqno5h.fsf@neva.vlink.ru> From: Denis Shaposhnikov Date: Sat, 13 Aug 2005 23:03:51 +0400 In-Reply-To: <877jeqno5h.fsf@neva.vlink.ru> (Denis Shaposhnikov's message of "Sat, 13 Aug 2005 14:10:02 +0400") Message-ID: <87zmrly7zc.fsf@neva.vlink.ru> User-Agent: Gnus/5.1007 (Gnus v5.10.7) XEmacs/21.4.17 (Jumbo Shrimp, berkeley-unix) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Virus-Scanned: ClamAV using ClamSMTP Subject: Re: still can't get working ipw(4) with adhoc X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 13 Aug 2005 19:03:55 -0000 >>>>> "Denis" == Denis Shaposhnikov writes: Denis> System: FreeBSD localhost.my.domain 7.0-CURRENT FreeBSD Denis> 7.0-CURRENT #0: Fri Aug 12 22:53:24 MSD 2005 Denis> dsh@localhost.my.domain:/var/FreeBSD/obj/var/FreeBSD/src/sys/WIZARD Denis> i386 and Denis> Can't get working ipw(4) association in adhoc mode with Denis> FreeBSD's ipw. Before, I'vi been using ipw-1.7.1 from damien's Denis> site but can't use it now because API change. This patch fixes adhoc's ipw(4) on my system (version see above). I've made it from ipw-freebsd-1.7.1 which works fine before API change. --- sys/dev/ipw/if_ipw.c.orig Fri Aug 12 17:10:10 2005 +++ sys/dev/ipw/if_ipw.c Sat Aug 13 22:35:29 2005 @@ -825,23 +825,26 @@ { struct ifnet *ifp = ic->ic_ifp; struct ipw_softc *sc = ifp->if_softc; - struct ieee80211_node *ni; - uint8_t macaddr[IEEE80211_ADDR_LEN]; + struct ieee80211_node *ni = ic->ic_bss; uint32_t len; + uint8_t val; switch (nstate) { case IEEE80211_S_RUN: - DELAY(200); /* firmware needs a short delay here */ + len = IEEE80211_NWID_LEN; + ipw_read_table2(sc, IPW_INFO_CURRENT_SSID, ni->ni_essid, &len); + ni->ni_esslen = len; - len = IEEE80211_ADDR_LEN; - ipw_read_table2(sc, IPW_INFO_CURRENT_BSSID, macaddr, &len); + val = ipw_read_table1(sc, IPW_INFO_CURRENT_CHANNEL); + ni->ni_chan = &ic->ic_channels[val]; + + DELAY(1000); /* firmware needs a short delay here */ - ni = ieee80211_find_node(&ic->ic_scan, macaddr); - if (ni == NULL) - break; + len = IEEE80211_ADDR_LEN; + ipw_read_table2(sc, IPW_INFO_CURRENT_BSSID, ni->ni_bssid, &len); + IEEE80211_ADDR_COPY(ni->ni_macaddr, ni->ni_bssid); ieee80211_ref_node(ni); - ieee80211_sta_join(ic, ni); ieee80211_node_authorize(ni); if (ic->ic_opmode == IEEE80211_M_STA) -- DSS5-RIPE DSS-RIPN 2:550/5068@fidonet 2:550/5069@fidonet mailto:dsh@vlink.ru http://neva.vlink.ru/~dsh/