Re: mt76x0 bug report
From: Sid Hayn <hidden>
Date: 2018-09-08 00:38:12
Also in:
linux-mediatek
On Fri, Sep 7, 2018 at 4:24 AM Lorenzo Bianconi [off-list ref] wrote:
quoted
Actions like that have caused great problems in the past, as the kernel won't allow channel control of a monitor interface at all when there is a managed interface on the same phy (afaik). But just for fun and codepath testing here are two test scenarios: Test 1: "iwconfig t2u mode monitor" Sees nothing on any channel, no packets reported Test 2(requested test): "iw phy phy11 interface add t2uhmon type monitor" Sees nothing on any channel, no packets reported. Despite having a monitor and managed interface on the same phy, iwconfig is reporting that the channel is changing as requested. So perhaps my above "afaik" comment is partially outdated. For both tests the interface was not used to connect to any ap prior to or during testing.Could you please try following patch?
Excellent! This seems to work for all channels up to 140, however, not 144 or above. "iw list" shows these are supported but I cannot set them in monitor mode: * 5720 MHz [144] (22.0 dBm) (no IR, radar detection) * 5745 MHz [149] (22.0 dBm) (no IR) * 5765 MHz [153] (22.0 dBm) (no IR) * 5785 MHz [157] (22.0 dBm) (no IR) * 5805 MHz [161] (22.0 dBm) (no IR) * 5825 MHz [165] (22.0 dBm) (no IR) remote2 ~ # iw dev t2uhmon set channel 140 remote2 ~ # iw dev t2uhmon set channel 144 command failed: Invalid argument (-22) Thanks, Zero
quoted hunk ↗ jump to hunk
Regards, Lorenzo--- a/drivers/net/wireless/mediatek/mt76/mt76x0/phy.c +++ b/drivers/net/wireless/mediatek/mt76/mt76x0/phy.c@@ -756,11 +756,10 @@ __mt76x0_phy_set_channel(struct mt76x0_dev *dev, /* Vendor driver don't do it */ /* mt76x0_phy_set_tx_power(dev, channel, rf_bw_band); */ + mt76x0_vco_cal(dev, channel); if (scan) - mt76x0_vco_cal(dev, channel); - - mt76x0_mcu_calibrate(dev, MCU_CAL_RXDCOC, 1); + mt76x0_mcu_calibrate(dev, MCU_CAL_RXDCOC, 1); mt76x0_phy_set_chan_pwr(dev, channel); dev->mt76.chandef = *chandef;