It could be useful posting phy.c related patch directly: @@ -586,7 +586,7 @@ void mt7601u_phy_recalibrate_after_assoc(struct mt7601u_dev *dev) { - mt7601u_mcu_calibrate(dev, MCU_CAL_DPD, dev->curr_temp); + //mt7601u_mcu_calibrate(dev, MCU_CAL_DPD, dev->curr_temp); mt7601u_rxdc_cal(dev); } @@ -1153,12 +1153,12 @@ ret = mt7601u_mcu_calibrate(dev, MCU_CAL_TXIQ, 0); if (ret) return ret; - ret = mt7601u_mcu_calibrate(dev, MCU_CAL_RXIQ, 0); - if (ret) - return ret; - ret = mt7601u_mcu_calibrate(dev, MCU_CAL_DPD, dev->dpd_temp); - if (ret) - return ret; + //ret = mt7601u_mcu_calibrate(dev, MCU_CAL_RXIQ, 0); + //if (ret) + // return ret; + //ret = mt7601u_mcu_calibrate(dev, MCU_CAL_DPD, dev->dpd_temp); + //if (ret) + // return ret; mt7601u_rxdc_cal(dev); Waiting for a reply, Cristian. Sent with ProtonMail Secure Email. ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐ On Sunday 15 November 2020 22:57, cristian_ci <cristian_ci@xxxxxxxxxxxxxx> wrote: > When I connect usb wireless adapter: > > Bus 002 Device 111: ID 148f:7601 Ralink Technology, Corp. MT7601U Wireless Adapter > > I notice continuos spamming messages to dmesg output: > > mt7601u 2-1.3:1.0: rx urb failed: -71 > mt7601u 2-1.3:1.0: Error: MCU resp urb failed:-71 > mt7601u 2-1.3:1.0: Error: MCU resp evt:0 seq:5-4! > > and: > > mt7601u 2-1.3:1.0: Error: mt7601u_mcu_wait_resp timed out > mt7601u 2-1.3:1.0: Vendor request req:07 off:0080 failed:-71 > mt7601u 2-1.3:1.0: Vendor request req:02 off:0080 failed:-71 > mt7601u 2-1.3:1.0: Vendor request req:02 off:0080 failed:-71 > mt7601u: probe of 2-1.3:1.0 failed with error -110 > > and then device is reset,, disconnecting and reconnecting itself in a loop, making mt7601 module to fail probing. > > This failure happens just only with linux but not with 3.0.x kernel series. Just newer kernel versions are affected. > > If I make the following changes to drivers/net/wireless/mediatek/mt7601u/phy.c source code, mt7601 module is successfully probed, instead. > > In order to do that, in mt7601u_init_cal function you have to comment these lines: > > ret = mt7601u_mcu_calibrate(dev, MCU_CAL_RXIQ, 0); > if (ret) > return ret; > ret = mt7601u_mcu_calibrate(dev, MCU_CAL_DPD, dev->dpd_temp); > if (ret) > return ret; > > In mt7601u_phy_recalibrate_after_assoc function you have to comment this line: > > mt7601u_mcu_calibrate(dev, MCU_CAL_DPD, dev->curr_temp); > > Waiting for an answer, thanks in advance, > > Cristian. > > Sent with ProtonMail Secure Email.