From 3f4c92d68bca0e21de972a8e2a51fa03dc425ac7 Mon Sep 17 00:00:00 2001 From: adrian Date: Thu, 19 May 2016 04:48:13 +0000 Subject: [bwn] disable rfon checks so the 2056/2057 radios are programmed. This was the big missing piece for getting the BCM94322MC NIC to work at all. Tested: * BCM4322, STA mode (2g, 5g) --- sys/gnu/dev/bwn/phy_n/if_bwn_phy_n_core.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'sys/gnu') diff --git a/sys/gnu/dev/bwn/phy_n/if_bwn_phy_n_core.c b/sys/gnu/dev/bwn/phy_n/if_bwn_phy_n_core.c index fd2120f..1169585 100644 --- a/sys/gnu/dev/bwn/phy_n/if_bwn_phy_n_core.c +++ b/sys/gnu/dev/bwn/phy_n/if_bwn_phy_n_core.c @@ -6743,15 +6743,21 @@ bwn_nphy_op_software_rfkill(struct bwn_mac *mac, bool active) "%s: called; rev=%d, rf_on=%d, active=%d\n", __func__, phy->rev, mac->mac_phy.rf_on, active); + /* + * XXX TODO: don't bother doing RF programming if it's + * already done. But, bwn(4) currently sets rf_on in the + * PHY setup and leaves it on after startup, which causes + * the below to not init the 2056/2057 radios. + */ if (active) { if (phy->rev >= 19) { /* TODO */ } else if (phy->rev >= 7) { - if (!mac->mac_phy.rf_on) +// if (!mac->mac_phy.rf_on) bwn_radio_2057_init(mac); bwn_switch_channel(mac, bwn_get_chan(mac)); } else if (phy->rev >= 3) { - if (!mac->mac_phy.rf_on) +// if (!mac->mac_phy.rf_on) bwn_radio_init2056(mac); bwn_switch_channel(mac, bwn_get_chan(mac)); } else { -- cgit v1.1