Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Closed
openwrt-bot opened this issue Apr 8, 2017 · 7 comments
Labels

Comments

@openwrt-bot
Copy link

kbios:

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- 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 (32-bit, non-prefetchable) [size=2]
Region 2: Memory at (32-bit, non-prefetchable) [size=2]
Region 3: Memory at (32-bit, non-prefetchable) [size=2]
Region 4: Memory at (32-bit, non-prefetchable) [size=2]
Region 5: Memory at (32-bit, non-prefetchable) [size=2]
Expansion ROM at [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 0x3091 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
@openwrt-bot
Copy link
Author

mkresin:

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 [[https://git.lede-project.org/?p=lede/mkresin/staging.git;a=shortlog;h=refs/heads/ramips|staging tree]].

@openwrt-bot
Copy link
Author

kbios:

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

@openwrt-bot
Copy link
Author

mkresin:

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?

@openwrt-bot
Copy link
Author

kbios:

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 :(

@openwrt-bot
Copy link
Author

mkresin:

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 [[https://bugzilla.kernel.org/show_bug.cgi?id=110091|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.

@openwrt-bot
Copy link
Author

psyborg:

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?

@openwrt-bot
Copy link
Author

psyborg:

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant