From owner-freebsd-wireless@FreeBSD.ORG Thu May 8 10:37:39 2014 Return-Path: Delivered-To: freebsd-wireless@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id DA5DDC47; Thu, 8 May 2014 10:37:38 +0000 (UTC) Received: from elam.kais.kyoto-u.ac.jp (elam.kais.kyoto-u.ac.jp [130.54.60.9]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 9136DBE2; Thu, 8 May 2014 10:37:38 +0000 (UTC) Received: from elam.kais.kyoto-u.ac.jp (localhost [127.0.0.1]) by elam.kais.kyoto-u.ac.jp (8.14.8/8.14.8) with ESMTP id s48AU86I014910; Thu, 8 May 2014 19:30:08 +0900 (JST) (envelope-from kaho@elam.kais.kyoto-u.ac.jp) To: Adrian Chadd Subject: Re: Centrino Wireless-N 1000 support is also broken (Re: iwn(4) in -HEAD supporting Centrino Wireless-N 135) References: <20140226123709.GA31099@syn.pertho.net> <530EE7F4.3080903@shurik.kiev.ua> <24791.1393550277@elam.kais.kyoto-u.ac.jp> <75498.1398751548@elam.kais.kyoto-u.ac.jp> <84650.1398819225@elam.kais.kyoto-u.ac.jp> X-Mailer: MH-E 8.0.3; MH 6.8.4.JP-3.05; GNU Emacs 22.3.1 User-Agent: EMH/1.14.1 SEMI/1.14.6 (Maruoka) FLIM/1.14.9 (=?ISO-8859-4?Q?G?= =?ISO-8859-4?Q?oj=F2?=) APEL/10.8 Emacs/22.3 (i386-portbld-freebsd8.4) MULE/5.0 (SAKAKI) MIME-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka") Content-Type: text/plain; charset=US-ASCII Date: Thu, 08 May 2014 19:30:08 +0900 Message-ID: <14909.1399545008@elam.kais.kyoto-u.ac.jp> From: Kaho Toshikazu X-Virus-Scanned: clamav-milter 0.98.1 at elam.kais.kyoto-u.ac.jp X-Virus-Status: Clean Cc: freebsd-wireless@freebsd.org X-BeenThere: freebsd-wireless@freebsd.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: "Discussions of 802.11 stack, tools device driver development." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 May 2014 10:37:39 -0000 Hello adrian, Thank you for a patch, and I'm sorry for late reply. Your patch fixes the problem. ".calib_need" flag's change helps. Other changes doesn't need to fix, but they doesn't seem to make any problem. The minimum necessary change is below. if_iwn.c : no change if_iwn_chip_cfg.h: remove IWN_FLG_NEED_PHY_CALIB_DC, add IWN_FLG_NEED_PHY_CALIB_TX_IQ_PERIODIC Index: if_iwn_chip_cfg.h =================================================================== --- if_iwn_chip_cfg.h (revision 265665) +++ if_iwn_chip_cfg.h (working copy) @@ -219,8 +219,9 @@ .regulatory_bands = iwn5000_regulatory_bands, .enhanced_TX_power = false, .calib_need = - ( IWN_FLG_NEED_PHY_CALIB_DC - | IWN_FLG_NEED_PHY_CALIB_LO + ( + IWN_FLG_NEED_PHY_CALIB_LO + | IWN_FLG_NEED_PHY_CALIB_TX_IQ_PERIODIC | IWN_FLG_NEED_PHY_CALIB_TX_IQ | IWN_FLG_NEED_PHY_CALIB_BASE_BAND ), .support_hostap = false, -- Kaho Toshikazu Adrian Chadd wrote: > Hi! > > Would you mind trying this? > > What values do you have for sc_txchainmask and sc_rxchainmask? Before > they're over-ridden? > > Thanks! > > > -a > > adrian@sabrina:~/work/freebsd/head/src/sys/dev/iwn % svn diff . > Index: if_iwn.c > =================================================================== > --- if_iwn.c (revision 265478) > +++ if_iwn.c (working copy) > @@ -744,6 +744,8 @@ > sc->limits = &iwn1000_sensitivity_limits; > sc->base_params = &iwn1000_base_params; > sc->fwname = "iwn1000fw"; > + /* XXX override chainmasks? */ > + sc->txchainmask = IWN_ANT_AB; > break; > default: > device_printf(sc->sc_dev, "adapter type id : 0x%04x sub id :" > Index: if_iwn_chip_cfg.h > =================================================================== > --- if_iwn_chip_cfg.h (revision 265478) > +++ if_iwn_chip_cfg.h (working copy) > @@ -219,14 +219,18 @@ > .regulatory_bands = iwn5000_regulatory_bands, > .enhanced_TX_power = false, > .calib_need = > - ( IWN_FLG_NEED_PHY_CALIB_DC > + ( > +// IWN_FLG_NEED_PHY_CALIB_DC > | IWN_FLG_NEED_PHY_CALIB_LO > + | IWN_FLG_NEED_PHY_CALIB_TX_IQ_PERIODIC > | IWN_FLG_NEED_PHY_CALIB_TX_IQ > - | IWN_FLG_NEED_PHY_CALIB_BASE_BAND ), > + | IWN_FLG_NEED_PHY_CALIB_BASE_BAND > + ), > .support_hostap = false, > .no_multi_vaps = true, > .additional_gp_drv_bit = IWN_GP_DRIVER_NONE, > - .bt_mode = IWN_BT_NONE, > +// .bt_mode = IWN_BT_NONE, > + .bt_mode = IWN_BT_SIMPLE, > .plcp_err_threshold = IWN_PLCP_ERR_EXT_LONG_THRESHOLD, > }; > static const struct iwn_base_params iwn_6000_base_params = {