From owner-freebsd-current@FreeBSD.ORG Mon May 17 11:05:22 2004 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from green.homeunix.org (freefall.freebsd.org [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id 59A8E16A4D7; Mon, 17 May 2004 11:05:22 -0700 (PDT) Received: from localhost (green@localhost [127.0.0.1]) by green.homeunix.org (8.12.11/8.12.11) with ESMTP id i4HGsgxX003385; Mon, 17 May 2004 12:54:42 -0400 (EDT) (envelope-from green@green.homeunix.org) Message-Id: <200405171654.i4HGsgxX003385@green.homeunix.org> X-Mailer: exmh version 2.6.3 04/04/2003 with nmh-1.0.4 To: jamesb@acelere.net In-Reply-To: Message from "James Bowman" of "Sun, 16 May 2004 21:08:16 MDT." <20040516210816.M45998@acelere.net> From: Brian Fundakowski Feldman Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Mon, 17 May 2004 12:54:42 -0400 Sender: green@green.homeunix.org cc: freebsd-current@freebsd.org Subject: Re: hostap TX fix in 5.x [Fwd: Re: wi hostap speed] X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 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: Mon, 17 May 2004 18:05:23 -0000 "James Bowman" wrote: > I spent a few hours tinkering (tampering?) with this driver, and have not > exactly a fix, but a clear indication of what the problem is. > > Verified (using the quick hack below): download speed geoes up from 170 > kbytes/sec to 470 kbytes/sec, which is what I'd expect on an 11Mbps network. > > If anyone's interested, here it is: > > The Intersil manual on page 4-28 says that transmit packets need to have their > TxRate field filled in with 10,20,55 or 110, depending on the transmission speed. > > The 4.X driver sets the field tx_frame.wi_tx_rate in function > wihap_check_tx(), called from wi_start(). > > The 5.X driver calls this field frmhdr.wi_tx_rate, but leaves it zero. > If you want to run at 11MBps, add a line > frmhdr.wi_tx_rate = 110; > in wi_start(), just before the call to wi_write_bap(). > > (Obviously, this is just a cheesy hack. The real code would have to find the > actual tx rate. I just want to point out where the problem lies). In that case, I'd try adding this line where the frmhdr is being set up: frmhdr.wi_tx_rate = ni->ni_rates.rs_rates[ni->ni_txrate] * 5; I haven't tested it other than it compiles, but if it seems to work for you I'll of course verify that I can/cannot get those speeds with/without this change, using hostap. -- Brian Fundakowski Feldman \'[ FreeBSD ]''''''''''\ <> green@FreeBSD.org \ The Power to Serve! \ Opinions expressed are my own. \,,,,,,,,,,,,,,,,,,,,,,\