From: Rui Salvaterra <rsalvaterra@gmail.com>
To: stf_xl@wp.pl
Cc: lorenzo@kernel.org, kuba@kernel.org,
linux-wireless@vger.kernel.org,
Rui Salvaterra <rsalvaterra@gmail.com>
Subject: [RFC PATCH] mt7601u: make the driver work again
Date: Tue, 4 May 2021 22:28:28 +0100 [thread overview]
Message-ID: <20210504212828.815-1-rsalvaterra@gmail.com> (raw)
This is a tentative fix for a long-standing issue [1] with MT7601U devices. In
my case, this is what I see in the dmesg when I plug the device in:
[ 660.810386] usb 1-7: new high-speed USB device number 119 using ehci-pci
[ 661.031390] usb 1-7: New USB device found, idVendor=148f,
idProduct=7601, bcdDevice= 0.00
[ 661.031400] usb 1-7: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 661.031404] usb 1-7: Product: 802.11 n WLAN
[ 661.031408] usb 1-7: Manufacturer: MediaTek
[ 661.031411] usb 1-7: SerialNumber: 1.0
[ 661.200379] usb 1-7: reset high-speed USB device number 119 using ehci-pci
[ 661.403137] mt7601u 1-7:1.0: ASIC revision: 76010001 MAC revision: 76010500
[ 661.404566] mt7601u 1-7:1.0: Firmware Version: 0.1.00 Build: 7640
Build time: 201302052146____
[ 661.828765] mt7601u 1-7:1.0: EEPROM ver:0d fae:00
[ 662.005518] mt7601u 1-7:1.0: Error: MCU resp urb failed:-71
[ 662.005525] mt7601u 1-7:1.0: Error: MCU resp evt:0 seq:5-4!
[ 662.010015] mt7601u 1-7:1.0: Error: MCU resp urb failed:-71
[ 662.010020] mt7601u 1-7:1.0: Error: MCU resp evt:0 seq:5-4!
[ 662.014269] mt7601u 1-7:1.0: Error: MCU resp urb failed:-71
[ 662.014275] mt7601u 1-7:1.0: Error: MCU resp evt:0 seq:5-4!
[ 662.018516] mt7601u 1-7:1.0: Error: MCU resp urb failed:-71
[ 662.018521] mt7601u 1-7:1.0: Error: MCU resp evt:0 seq:5-4!
[ 662.022768] mt7601u 1-7:1.0: Error: MCU resp urb failed:-71
[ 662.022775] mt7601u 1-7:1.0: Error: MCU resp evt:0 seq:5-4!
[ 662.022779] mt7601u 1-7:1.0: Error: mt7601u_mcu_wait_resp timed out
[ 662.350350] mt7601u 1-7:1.0: Vendor request req:07 off:0080 failed:-71
[ 662.650344] mt7601u 1-7:1.0: Vendor request req:02 off:0080 failed:-71
[ 662.950339] mt7601u 1-7:1.0: Vendor request req:02 off:0080 failed:-71
[ 662.950389] mt7601u: probe of 1-7:1.0 failed with error -110
[ 662.950850] usb 1-7: USB disconnect, device number 119
This loops continuously. The device never comes up.
Turns out, this issue has been narrowed down to a possible calibration
problem [2]. Stanislaw repeatedly asked if disabling DPD calibration only
(keeping the RXIQ calibration) would fix the problem, but nobody seems to have
paid attention. :) Additionally, he asked for contents of
/sys/kernel/debug/ieee80211/phy0/mt7601u/eeprom_param, so here they are:
RF freq offset: 5f
RSSI offset: 0 0
Reference temp: f9
LNA gain: 0
Reg channels: 1-14
Per rate power:
raw:05 bw20:05 bw40:05
raw:05 bw20:05 bw40:05
raw:03 bw20:03 bw40:03
raw:03 bw20:03 bw40:03
raw:04 bw20:04 bw40:04
raw:00 bw20:00 bw40:00
raw:00 bw20:00 bw40:00
raw:00 bw20:00 bw40:00
raw:02 bw20:02 bw40:02
raw:00 bw20:00 bw40:00
Per channel power:
tx_power ch1:0c ch2:0c
tx_power ch3:0b ch4:0b
tx_power ch5:0a ch6:0a
tx_power ch7:0a ch8:0a
tx_power ch9:0a ch10:0a
tx_power ch11:0a ch12:0a
tx_power ch13:0a ch14:0a
The attached patch fixes the driver for me. Sending as RFC because this will
probably warrant some kind of quirk to be fixed correctly. Besides, there's an
additional DPD calibration in mt7601u_temp_comp, which I haven't touched, since
it seems a bit more convoluted. The driver works for me regardless (I've sent
this email through one of my MT7601U adapters).
[1] https://github.com/kuba-moo/mt7601u/issues/64
[2] https://github.com/kuba-moo/mt7601u/issues/64#issuecomment-352250127
Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
---
drivers/net/wireless/mediatek/mt7601u/phy.c | 5 -----
1 file changed, 5 deletions(-)
diff --git a/drivers/net/wireless/mediatek/mt7601u/phy.c b/drivers/net/wireless/mediatek/mt7601u/phy.c
index 8a00f6a75ca9..daa6a042f2c7 100644
--- a/drivers/net/wireless/mediatek/mt7601u/phy.c
+++ b/drivers/net/wireless/mediatek/mt7601u/phy.c
@@ -589,8 +589,6 @@ void mt7601u_phy_recalibrate_after_assoc(struct mt7601u_dev *dev)
if (test_bit(MT7601U_STATE_REMOVED, &dev->state))
return;
- mt7601u_mcu_calibrate(dev, MCU_CAL_DPD, dev->curr_temp);
-
mt7601u_rxdc_cal(dev);
}
@@ -1157,9 +1155,6 @@ static int mt7601u_init_cal(struct mt7601u_dev *dev)
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;
--
2.31.1
next reply other threads:[~2021-05-04 21:28 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-05-04 21:28 Rui Salvaterra [this message]
2021-05-05 4:50 ` [RFC PATCH] mt7601u: make the driver work again Stanislaw Gruszka
2021-05-05 8:01 ` Rui Salvaterra
2021-05-05 9:25 ` Stanislaw Gruszka
2021-05-05 9:38 ` Rui Salvaterra
2021-05-05 13:25 ` Stanislaw Gruszka
2021-05-11 10:13 ` Rui Salvaterra
2021-05-11 10:16 ` Colin Ian King
2021-05-11 10:21 ` Rui Salvaterra
2021-05-11 10:26 ` Colin Ian King
2021-05-11 11:58 ` Rui Salvaterra
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210504212828.815-1-rsalvaterra@gmail.com \
--to=rsalvaterra@gmail.com \
--cc=kuba@kernel.org \
--cc=linux-wireless@vger.kernel.org \
--cc=lorenzo@kernel.org \
--cc=stf_xl@wp.pl \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).