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#918 - Kernel panic: rt2800lib.ko rt2800_probe_hw #5871

Closed
openwrt-bot opened this issue Jul 19, 2017 · 3 comments
Closed

FS#918 - Kernel panic: rt2800lib.ko rt2800_probe_hw #5871

openwrt-bot opened this issue Jul 19, 2017 · 3 comments
Labels

Comments

@openwrt-bot
Copy link

@openwrt-bot openwrt-bot commented Jul 19, 2017

hvegh:

  • Device problem occurs on

    Huawei HG655d - (with HG655b CFE )

    • Wifi Chip: Ralink RT3062F
  • Software versions of LEDE releases tried:

    • lede-17.01.1 (smp)
    • lede-17.01.2 (smp)
    • lede-17.01.2 (generic)
    • lede-6bdb662debf804d1c5049b7cdddc30591e42a1e1 (2017.07.19 source build for HG655b, smp)

All have the same problem, once the rtxxxx modules start probing the system panics.
Initially I thought it might be that the calibration data is missing.. so i added a rt2x00.eeprom to lib firmware on overlay.

The openwrt-15.05.1-brcm63xx-smp-HG655b-squashfs-cfe.bin, has no problems.

  • Steps to reproduce
    Load lede firmware & reboot...

Here's the bootlog:
[ 9.375636] ieee80211 phy0: rt2x00lib_request_eeprom_file: Info - Loading EEPROM data from 'rt2x00.eeprom'.
[ 9.385980] rt2800pci 0000:00:01.0: Direct firmware load for rt2x00.eeprom failed with error -2
[ 9.394937] rt2800pci 0000:00:01.0: Falling back to user helper
[ 13.995929] ieee80211 phy0: rt2x00_set_rt: Info - RT chipset 3572, rev 0221 detected
[ 14.004062] ieee80211 phy0: rt2x00_set_rf: Info - RF chipset 0008 detected
[ 14.011260] CPU 0 Unable to handle kernel paging request at virtual address 00000004, epc == 8001b3fc, ra == 83371328
[ 14.022212] Oops[#1]:
[ 14.024507] CPU: 0 PID: 476 Comm: kmodloader Not tainted 4.4.74 #0
[ 14.030858] task: 83acab40 ti: 831ae000 task.ti: 831ae000
[ 14.036399] $ 0 : 00000000 10008f00 0000000e 00000003
[ 14.041774] $ 4 : 00000000 831a4c08 00000000 00000001
[ 14.047151] $ 8 : 00001cbd 838de966 00000010 73657420
[ 14.052527] $12 : 00000000 00000000 00000000 30305f73
[ 14.057903] $16 : 838df520 838deb60 00000000 000000ff
[ 14.063278] $20 : 838df80c 0000000a 00000015 024000c0
[ 14.068655] $24 : 00000010 8005da3c
[ 14.074031] $28 : 831ae000 831afb78 8009360c 83371328
[ 14.079408] Hi : 00000000
[ 14.082365] Lo : 00000000
[ 14.085359] epc : 8001b3fc clk_get_rate+0x0/0x8
[ 14.090197] ra : 83371328 rt2800_probe_hw+0xcb4/0x1154 [rt2800lib]
[ 14.096790] Status: 10008f03 KERNEL EXL IE
[ 14.101095] Cause : 80800008 (ExcCode 02)
[ 14.105213] BadVA : 00000004
[ 14.108173] PrId : 0002a031 (Broadcom BMIPS4350)
[ 14.113006] Modules linked in: rt2800pci(+) rt2800mmio rt2800lib pppoe ppp_async 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 slhc nf_reject_ipv4 nf_nat_redirect nf_nat_masquerade_ipv4 nf_conntrack_ipv4 nf_nat_ipv4 nf_nat nf_log_ipv4 nf_defrag_ipv6 nf_defrag_ipv4 nf_conntrack_rtcache nf_conntrack iptable_mangle iptable_filter ip_tables crc_itu_t crc_ccitt compat ledtrig_usbport ip6t_REJECT nf_reject_ipv6 nf_log_ipv6 nf_log_common ip6table_mangle ip6table_filter ip6_tables x_tables eeprom_93cx6 ohci_platform ohci_hcd ehci_platform ehci_hcd gpio_button_hotplug usbcore nls_base usb_common
[ 14.184616] Process kmodloader (pid: 476, threadinfo=831ae000, task=83acab40, tls=77328d48)
[ 14.193197] Stack : 83296d20 83904480 833749f8 00000008 00000221 831afbcc 838df520 8337ffff
0101ffef 00000221 838df520 00000000 02400000 838deb60 838df80c 8329165c
00000002 801cbd44 00000000 838df520 00000000 8337e800 831afbdc 00000200
838df520 838fc000 02400000 838deb60 832429dc 0000000a 00000015 024000c0
8009360c 831a2384 00000015 024000c0 8009360c 8013e758 805c0000 801d3592
...
[ 14.229757] Call Trace:
[ 14.232285] [<8001b3fc>] clk_get_rate+0x0/0x8
[ 14.236775] [<83371328>] rt2800_probe_hw+0xcb4/0x1154 [rt2800lib]
[ 14.243086] [<8329165c>] rt2x00lib_probe_dev+0x214/0x860 [rt2x00lib]
[ 14.249603] [<831a2384>] rt2x00pci_probe+0x1cc/0x244 [rt2x00pci]
[ 14.255768] [<801d6bf0>] pci_device_probe+0x78/0xe4
[ 14.260801] [<801fdd34>] driver_probe_device+0x124/0x28c
[ 14.266251] [<801fdf18>] __driver_attach+0x7c/0xb4
[ 14.271177] [<801fc1fc>] bus_for_each_dev+0x9c/0xac
[ 14.276196] [<801fd428>] bus_add_driver+0xe8/0x208
[ 14.281127] [<801fe668>] driver_register+0xa8/0xf8
[ 14.286053] [<8001ab78>] do_one_initcall+0x200/0x22c
[ 14.291161] [<80094854>] do_init_module+0x74/0x1cc
[ 14.296086] [<800961c4>] load_module+0x179c/0x1c44
[ 14.301013] [<80096784>] SyS_init_module+0x118/0x168
[ 14.306136] [<80012b84>] syscall_common+0x30/0x54
[ 14.310944]
[ 14.312463]
Code: ac620010 03e00008 00000000 <03e00008> 8c820004 03e00008 00001025 03e00008 00000000
[ 14.322821] ---[ end trace f52f6e71b2d83211 ]---
[ 14.333531] Fatal exception: panic in 5 seconds]
[ 19.338333] Kernel panic - not syncing: Fatal exception
[ 19.345679] Rebooting in 1 seconds..

@openwrt-bot
Copy link
Author

@openwrt-bot openwrt-bot commented Jul 19, 2017

hvegh:

Hmm there's a fix for this it seems...

@openwrt-bot
Copy link
Author

@openwrt-bot openwrt-bot commented Jul 19, 2017

hvegh:

Applied patch to:
build_dir/target-mips_mips32_musl/linux-brcm63xx_smp/compat-wireless-2017-01-31/drivers/net/wireless/ralink/rt2x00

--- rt2800lib.c.orig
+++ rt2800lib.c
@@ -2065,6 +2065,9 @@

static inline bool rt2800_clk_is_20mhz(struct rt2x00_dev *rt2x00dev)
{

  • if (!rt2x00dev->clk)
  •   return 0;
    
  • return clk_get_rate(rt2x00dev->clk) == 20000000;
    }

And it works...

Solves also #735

@openwrt-bot
Copy link
Author

@openwrt-bot openwrt-bot commented Jul 20, 2017

mkresin:

And now check the author of this patch and the one who commented in FS#735...

But it will not be the final fix. Jonas send patches upstream to fix the broken clk_get_rate() implementations instead. It is only waiting for them to be ACK'ed, to backport them to LEDE.

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