Fascinating, that error does not seem to come from the mt76
driver, but seems to be something generic in the kernel.
Honestly I'm not quite sure what exactly LED_FUNCTION_WLAN_2GHZ
and the default-trigger for the phy are doing automagically, so I'm gonna try dropping those and just treat these pins as regular LEDs. For some devices, I had also seen phy0radio
instead of throughput, maybe the tpt
channel is not available for the built-in wifi or something... I just have too little experience with all these new devices (speaking of, my M60 has finally arrived )
// edit:
So this error occurs in https://elixir.bootlin.com/linux/v6.6.50/source/drivers/pinctrl/core.c#L1326, though the label does not let us know whether it was jumped to from the pinmux
or pinconf
functions located above
// edit #2:
built with just basic LED settings, but I also see that pinmux error:
[ 9.332010] mt7622-pinctrl 10211000.pinctrl: pin SPIC1_CLK already requested by pinctrl_moore:585; cannot claim for 18000000.wmac
[ 9.343724] mt7622-pinctrl 10211000.pinctrl: pin-73 (18000000.wmac) status -22
[ 9.350964] mt7622-pinctrl 10211000.pinctrl: could not request pin 73 (SPIC1_CLK) from group antsel12 on device pinctrl_moore
[ 9.362361] mt7622-wmac 18000000.wmac: Error applying setting, reverse things back
So it seems the mediatek wifi driver(?) itself is trying to map that pin to something, apparently using the mediatek-proprietary pinctrl implementation in https://github.com/torvalds/linux/blob/master/drivers/pinctrl/mediatek/pinctrl-moore.c, which might explain why we see them flashing upon initialization of the wmac drive on boot. So maybe this just needs the correct pinmux setting, will try to check tomorrow It looks like the rabbit hole goes deeper there:
/* Just for backward compatible for these old pinctrl nodes without
* "gpio-ranges" property. Otherwise, called directly from a
* DeviceTree-supported pinctrl driver is DEPRECATED.
* Please see Section 2.1 of
* Documentation/devicetree/bindings/gpio/gpio.txt on how to
* bind pinctrl and gpio drivers via the "gpio-ranges" property.
*/
if (!of_property_present(hw->dev->of_node, "gpio-ranges")) {
// edit #3:
okay that seemed rather unrelated, but I have dropped antsel12
(for pin 73) and antsel14
(pin 75) from mt7622-dlink-eagle-pro-ai-ax3200-a1.dtsi
pinmux settings for epa_elna_pins
, as suggested by the error message(s), and both wifis are back. No idea what exactly those pins would do otherwise, and which of the others are actually unused for antenna selection as well (but how to find that out without accidentally (maybe just partially) breaking wifi?)