OpenWrt/LEDE Project

  • Status Closed
  • Percent Complete
    100%
  • Task Type Bug Report
  • Category Kernel
  • Assigned To
    Mathias Kresin
  • Operating System All
  • Severity Low
  • Priority Very Low
  • Reported Version Trunk
  • Due in Version Undecided
  • Due Date Undecided
  • Votes
  • Private
Attached to Project: OpenWrt/LEDE Project
Opened by kbios - 08.04.2017
Last edited by Mathias Kresin - 13.04.2017

FS#691 - 5Ghz radio detected as 2.4Ghz and not-functional on Asus RP-N53 and Buffalo WHR-600D (Ralink RT5592)

These two devices have a 2.4 Ghz radio integrated in the MT7620 SoC, and a pcie 5Ghz radio.
The 5Ghz radio is identified in dmesg as

[    9.832680] ieee80211 phy0: rt2x00_set_rt: Info - RT chipset 5592, rev 0222 detected
[    9.851675] ieee80211 phy0: rt2x00_set_rf: Info - RF chipset 0001 detected
[    9.866116] ieee80211 phy0: Selected rate control algorithm 'minstrel_ht'

and in lspci as

01:00.0 Network controller [0280]: Ralink corp. RT3091 Wireless 802.11n 1T/2R PCIe [1814:3091]
        Subsystem: Ralink corp. RT3091 Wireless 802.11n 1T/2R PCIe [1814:3091]
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
        Latency: 0, Cache Line Size: 80 bytes
        Interrupt: pin A routed to IRQ 4
        Region 0: Memory at 20000000 (32-bit, non-prefetchable) [size=65537]
        Region 1: Memory at <unassigned> (32-bit, non-prefetchable) [size=2]
        Region 2: Memory at <unassigned> (32-bit, non-prefetchable) [size=2]
        Region 3: Memory at <unassigned> (32-bit, non-prefetchable) [size=2]
        Region 4: Memory at <unassigned> (32-bit, non-prefetchable) [size=2]
        Region 5: Memory at <unassigned> (32-bit, non-prefetchable) [size=2]
        Expansion ROM at <unassigned> [disabled] [size=2]
        Capabilities: [40] Power Management version 3
                Flags: PMEClk- DSI- D1- D2- AuxCurrent=375mA PME(D0+,D1-,D2-,D3hot+,D3cold-)
                Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
        Capabilities: [50] MSI: Enable- Count=1/32 Maskable- 64bit+
                Address: 0000000000000000  Data: 0000
        Capabilities: [70] Express (v2) Endpoint, MSI 00
                DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s unlimited, L1 unlimited
                        ExtTag- AttnBtn- AttnInd- PwrInd- RBE+ FLReset- SlotPowerLimit 0.000W
                DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
                        RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop-
                        MaxPayload 128 bytes, MaxReadReq 512 bytes
                DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend-
                LnkCap: Port #0, Speed 2.5GT/s, Width x1, ASPM L0s L1, Exit Latency L0s <512ns, L1 <64us
                        ClockPM+ Surprise- LLActRep- BwNot- ASPMOptComp-
                LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- CommClk-
                        ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
                LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
                DevCap2: Completion Timeout: Not Supported, TimeoutDis+, LTR-, OBFF Not Supported
                DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-, LTR-, OBFF Disabled
                LnkCtl2: Target Link Speed: 2.5GT/s, EnterCompliance- SpeedDis-
                         Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
                         Compliance De-emphasis: -6dB
                LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete-, EqualizationPhase1-
                         EqualizationPhase2-, EqualizationPhase3-, LinkEqualizationRequest-
        Capabilities: [100 v1] Advanced Error Reporting
                UESta:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
                UEMsk:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
                UESvrt: DLP+ SDES+ TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol-
                CESta:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-
                CEMsk:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr+
                AERCap: First Error Pointer: 00, GenCap+ CGenEn- ChkCap+ ChkEn-
        Capabilities: [140 v1] Device Serial Number 08-68-35-ff-fe-60-a8-86
        Kernel driver in use: rt2800pci

iw shows it is detected as 2.4 ghz:

Wiphy phy0
        max # scan SSIDs: 4
        max scan IEs length: 2257 bytes
        max # sched scan SSIDs: 0
        max # match sets: 0
        max # scan plans: 1
        max scan plan interval: -1
        max scan plan iterations: 0
        Retry short long limit: 2
        Coverage class: 0 (up to 0m)
        Available Antennas: TX 0 RX 0
        Supported interface modes:
                 * IBSS
                 * managed
                 * AP
                 * AP/VLAN
                 * monitor
                 * mesh point
        Band 1:
                Capabilities: 0x27e
                        HT20/HT40
                        SM Power Save disabled
                        RX Greenfield
                        RX HT20 SGI
                        RX HT40 SGI
                        RX STBC 2-streams
                        Max AMSDU length: 3839 bytes
                        No DSSS/CCK HT40
                Maximum RX AMPDU length 65535 bytes (exponent: 0x003)
                Minimum RX AMPDU time spacing: 2 usec (0x04)
                HT RX MCS rate indexes supported: 0-15, 32
                TX unequal modulation not supported
                HT TX Max spatial streams: 1
                HT TX MCS rate indexes supported may differ
                Frequencies:
                        * 2412 MHz [1] (20.0 dBm)
                        * 2417 MHz [2] (20.0 dBm)
                        * 2422 MHz [3] (20.0 dBm)
                        * 2427 MHz [4] (20.0 dBm)
                        * 2432 MHz [5] (20.0 dBm)
                        * 2437 MHz [6] (20.0 dBm)
                        * 2442 MHz [7] (20.0 dBm)
                        * 2447 MHz [8] (20.0 dBm)
                        * 2452 MHz [9] (20.0 dBm)
                        * 2457 MHz [10] (20.0 dBm)
                        * 2462 MHz [11] (20.0 dBm)
                        * 2467 MHz [12] (20.0 dBm)
                        * 2472 MHz [13] (20.0 dBm)
                        * 2484 MHz [14] (disabled)
        valid interface combinations:
                 * #{ managed, AP, mesh point } <= 8,
                   total <= 8, #channels <= 1
        HT Capability overrides:
                 * MCS: ff ff ff ff ff ff ff ff ff ff
                 * maximum A-MSDU length
                 * supported channel width
                 * short GI for 40 MHz
                 * max A-MPDU length exponent
                 * min MPDU start spacing

The result is that it doesn’t work neither with 2.4Ghz or 5Ghz networks.
So I think there are a couple of weird things here:

  • the 0×3091 pci id which make it show up as “Ralink corp. RT3091 Wireless 802.11n 1T/2R PCIe”
  • the RF chipset that is detected as 0001, while a real RT5592 should have 000f


Closed by  Mathias Kresin
13.04.2017 06:32
Reason for closing:  Fixed
Project Manager
Mathias Kresin commented on 09.04.2017 08:24

Please provide always the full bootlog and the 'iw list' output for both wireless phys.

Would you please try the following two images:

If you prefer to build an image on your own, you can find the commits in my staging tree.

kbios commented on 10.04.2017 17:00

Thank you very much for the images. I was able to try on the RP-N53 as right now I don't have the WHR-600D available.
You can find the full boot log and iw list output attached: there is a definite step forward as the 5Ghz radio is now properly detected and if I put it in master mode other devices are able to see the network. The only problem is that when a device tries to connect it always times out, and in dmesg there are errors like

[   51.934086] ieee80211 phy0: rt2x00lib_rxdone_read_signal: Warning - Frame received with unrecognized signal, mode=0x0000, signal=0x0000, type=4
[   60.094043] ieee80211 phy0: rt2x00lib_rxdone_read_signal: Warning - Frame received with unrecognized signal, mode=0x0000, signal=0x0065, type=4
[   60.128242] ieee80211 phy0: rt2x00lib_rxdone: Error - Wrong frame size 0 max 3840
Project Manager
Mathias Kresin commented on 10.04.2017 18:15

According to my google skills the errors:

[   51.934086] ieee80211 phy0: rt2x00lib_rxdone_read_signal: Warning - Frame received with unrecognized signal, mode=0x0000, signal=0x0000, type=4
[   60.094043] ieee80211 phy0: rt2x00lib_rxdone_read_signal: Warning - Frame received with unrecognized signal, mode=0x0000, signal=0x0065, type=4
[   60.128242] ieee80211 phy0: rt2x00lib_rxdone: Error - Wrong frame size 0 max 3840

seams to be a known issue. But it could be as well that 0x8000 isn't the correct offset for caldata/eeprom. Would you please paste the mac address of the PCIe wireless adapter (a dump of the factory partition would be fine as well). It is a good indicator whether the correct offset was used.

Might be a silly question but have you confirmed that you are on 5GHz? According to the iw output the EEPROM of the PCIe wireless has the 2.4 and 5GHz band enabled. I've pushed another fix to my staging tree which disables the 2.4 GHz band for the PCIe wireless. The RP-N53 image is updated as well.

I don't have the WHR-600D available.

Can you give me a rough estimate how long it takes till you are able to test the WHR-600D fix?

kbios commented on 10.04.2017 19:43

According to ifconfig the mac address is e0:3f:49:91:fe:16, you can find the factory partition attached. I can confirm it's using 5Ghz:

root@LEDE:~# iw dev wlan0 info
Interface wlan0
        ifindex 8
        wdev 0x2
        addr e0:3f:49:91:fe:16
        ssid RP
        type AP
        wiphy 0
        channel 48 (5240 MHz), width: 20 MHz, center1: 5240 MHz
        txpower 20.00 dBm

My blackberry also identifies it as 5Ghz (but cannot connect).
I can also confirm the latest image disables 2.4Ghz. Unfortunately the WHR-600D isn't mine, I cannot say when/if I'll be able to tinker with it :(

Project Manager
Mathias Kresin commented on 13.04.2017 06:32

I'm still not sure which driver to blame for the rt2x00lib error. I've seen this error with another rt2x00 pci card back in the days. But in that case it turned out to be an issue with the systems pci driver.

Would you please test the WHR-600D and open a new bugreport with your findings afterwards. At least the issue reported here is fixed with https://git.lede-project.org/21abb7492c217e7d9959f578a7aab98457e3820a and https://git.lede-project.org/b4be4617b5f33b47a5eb00756f939a23cf368145. Both commits are backported to the 17.01 branch and are part of the upcoming 17.01.1 bugfix release.

psyborg commented on 27.11.2018 01:48

when booted initrams without nand support device could not load factory partition and eeprom

[    7.437140] rt2800pci 0000:01:00.0: card - bus=0x1, slot = 0x0 irq=4
[    7.443855] rt2800pci 0000:01:00.0: failed to get mtd device "Factory"
[    7.450601] ieee80211 phy0: rt2x00_set_rt: Info - RT chipset 5592, rev 0222 detected
[    7.461977] ieee80211 phy0: rt2x00_set_rf: Info - RF chipset 0001 detected

once it loaded eeprom there was a crash

[    7.955153] rt2800pci 0000:01:00.0: card - bus=0x1, slot = 0x0 irq=4
[    7.962259] rt2800pci 0000:01:00.0: loaded eeprom from mtd device "Factory"
[    7.969435] ieee80211 phy0: rt2x00_set_rt: Info - RT chipset 5592, rev 0222 detected
[    7.977348] ieee80211 phy0: rt2800_init_eeprom: Error - Invalid RF chipset 0x0000 detected
[    7.985793] ieee80211 phy0: rt2x00lib_probe_dev: Error - Failed to allocate device
[    7.993569] CPU 0 Unable to handle kernel paging request at virtual address 00000024, epc == 800c8f54, ra == 80249ff8
[    8.004408] Oops[#1]:
[    8.006732] CPU: 0 PID: 496 Comm: kmodloader Not tainted 4.14.82 #0
[    8.013123] task: 86efa680 task.stack: 86f96000
[    8.017739] $ 0   : 00000000 00000001 00000000 00000001
[    8.023077] $ 4   : 8681f000 00000001 00100000 8681f000
[    8.028415] $ 8   : 86910400 8110e050 000000aa 00000000
[    8.033752] $12   : 00000000 804d0000 000f0ac1 00000000
[    8.039089] $16   : 00000000 869282a0 86fb17b0 86fb0bc0
[    8.044427] $20   : 8682398c 86823c78 00000009 014000c0
[    8.049763] $24   : 00000001 802347c0                  
[    8.055101] $28   : 86f96000 86f97b30 804d0000 80249ff8
[    8.060441] Hi    : ffffffff
[    8.063374] Lo    : 88888889
[    8.066340] epc   : 800c8f54 __vunmap+0x68/0x128
[    8.071079] ra    : 80249ff8 release_firmware.part.12+0x54/0x148
[    8.077198] Status: 1100a403	KERNEL EXL IE 
[    8.081475] Cause : 00800008 (ExcCode 02)
[    8.085560] BadVA : 00000024
[    8.088495] PrId  : 00019650 (MIPS 24KEc)
[    8.092578] Modules linked in: rt2800pci(+) rt2800mmio rt2800lib pppoe ppp_async rt2x00soc rt2x00pci rt2x00mmio rt2x00lib pppox ppp_generic nf_conntrack_ipv6 mac80211 iptable_nat ipt_REJECT ipt_MASQUERADE cfg80211 xt_time xt_tcpudp xt_state xt_nat xt_multiport xt_mark xt_mac xt_limit xt_conntrack xt_comment xt_TCPMSS xt_REDIRECT xt_LOG xt_FLOWOFFLOAD slhc nf_reject_ipv4 nf_nat_redirect nf_nat_masquerade_ipv4 nf_conntrack_ipv4 nf_nat_ipv4 nf_nat nf_log_ipv4 nf_flow_table_hw nf_flow_table nf_defrag_ipv6 nf_defrag_ipv4 nf_conntrack_rtcache nf_conntrack iptable_mangle iptable_filter ip_tables crc_itu_t crc_ccitt compat ip6t_REJECT nf_reject_ipv6 nf_log_ipv6 nf_log_common ip6table_mangle ip6table_filter ip6_tables x_tables eeprom_93cx6 leds_gpio ohci_platform ohci_hcd ehci_platform ehci_hcd gpio_button_hotplug
[    8.165545]  usbcore nls_base usb_common
[    8.169558] Process kmodloader (pid: 496, threadinfo=86f96000, task=86efa680, tls=77f9bd98)
[    8.178071] Stack : 804d0000 8003a054 86fb0bc0 8682398c 86823c78 00000000 869282a0 80249ff8
[    8.186609]         86fb17b0 86fb17b0 86fb14a0 86fb14a0 86fb14a0 ffffffed 86fb17b0 86927020
[    8.195147]         86fb0bc0 86f97b90 86927554 86fb14a0 86fb14a0 86921edc 00000400 8001df0c
[    8.203683]         869271d4 000037d0 00000000 86824980 00000001 86f97bf6 01400000 802047d0
[    8.212220]         86fb01a0 2000ffff 87c93000 86fb14a0 01400000 86fb0bc0 8682398c 86823c78
[    8.220757]         ...
[    8.223252] Call Trace:
[    8.225753] [<800c8f54>] __vunmap+0x68/0x128
[    8.230118] [<80249ff8>] release_firmware.part.12+0x54/0x148
[    8.235893] [<80249ff8>] release_firmware.part.12+0x54/0x148
[    8.241701] [<86927020>] rt2x00lib_free_eeprom_file+0x18/0x38 [rt2x00lib]
[    8.248639] [<86921edc>] rt2x00lib_probe_dev+0x8d8/0x968 [rt2x00lib]
[    8.255131] [<8697d27c>] rt2x00pci_probe+0x230/0x284 [rt2x00pci]
[    8.261275] [<802116d8>] pci_device_probe+0x98/0x140
[    8.266359] [<802416a8>] really_probe+0x140/0x2b8
[    8.271160] [<802418c4>] __driver_attach+0xa4/0xdc
[    8.276049] [<8023f8d4>] bus_for_each_dev+0x5c/0xbc
[    8.281029] [<80240c14>] bus_add_driver+0xf8/0x218
[    8.285923] [<80242140>] driver_register+0xac/0xfc
[    8.290813] [<80004650>] do_one_initcall+0xd0/0x1a0
[    8.295803] [<800781c4>] do_init_module+0x74/0x1d0
[    8.300693] [<800773d8>] load_module+0x1f6c/0x2354
[    8.305583] [<800778e0>] SyS_init_module+0x120/0x17c
[    8.310656] [<8001404c>] syscall_common+0x34/0x58
[    8.315452] Code: 8c420004  1440fff2  00000000 <8c510024> 1620000b  8fbf001c  8fb10018  8fb00014  00803825 
[    8.325418] 
[    8.326975] ---[ end trace 7640696f13753f80 ]---
[    8.334004] Kernel panic - not syncing: Fatal exception
[    8.340367] Rebooting in 1 seconds..

had to define RF5592 in driver for proper detection

[    7.728858] rt2800pci 0000:01:00.0: card - bus=0x1, slot = 0x0 irq=4
[    7.735969] rt2800pci 0000:01:00.0: loaded eeprom from mtd device "Factory"
[    7.743134] ieee80211 phy0: rt2x00_set_rt: Info - RT chipset 5592, rev 0222 detected
[    7.751068] ieee80211 phy0: rt2x00_set_rf: Info - RF chipset 000f detected

now with doubts that RF 000f is proper?

could it be that change from wifi@1814,5592 to wifi@0,0 requires defining RF in driver?

psyborg commented on 20.12.2018 11:29

Similar to asus and buffalo, EA2750 can also send out ssid but connecting fails with same messages about unrecognized signal and wrong frame size. Passing custom memory sizes like mentioned in bugzilla report does not help.

Loading...

Available keyboard shortcuts

Tasklist

Task Details

Task Editing