Centrino Wireless-N 1000 support is also broken (Re: iwn(4) in -HEAD supporting Centrino Wireless-N 135)

Adrian Chadd adrian at freebsd.org
Thu May 8 16:43:17 UTC 2014


Hi!

Cool!

So what's the value of txchainmask and rxchainmask from the EEPROM?
before things get overridden?

I'd like to figure out what that changed.

Thanks!



-a


On 8 May 2014 03:30, Kaho Toshikazu <kaho at elam.kais.kyoto-u.ac.jp> wrote:
>   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 <adrian at freebsd.org> 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 at 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 = {


More information about the freebsd-wireless mailing list