Reputation: 7951
I'm trying to use an ESP-12F as an ESP8089 in SDIO mode as a WiFi module for an older (ie non-WiFi) Raspberry Pi.
I've got the module from https://github.com/al177/esp8089 building, but every (or almost every?) time the module is loaded on the Pi, the kernel crashes. The kdb output is shown below.
I've got kgdb running and connected from a remote system, but it's not that much help - because it's not possible to tell it about the symbols in the module until you know what address the module's been loaded at, and the only ways I know of figuring out what address the module's been loaded at require a working userland, which I haven't got because the module's crashed the kernel.
So. The question is rather open-ended, sorry. Possible things that would help:
Here's the KDB output at the crash:
Entering kdb (current=0xdaff1b40, pid 65) Oops: (null)
due to oops @ 0xbf3c93d0
CPU: 0 PID: 65 Comm: kworker/u2:2 Tainted: G O 4.4.50dbg+ #1
Hardware name: BCM2708
Workqueue: kmmcd mmc_rescan
task: daff1b40 ti: da400000 task.ti: da400000
PC is at esp_sdio_probe+0x58/0x3c0 [esp8089]
LR is at wake_up_klogd+0x5c/0x68
pc : [<bf3c93d0>] lr : [<c0057930>] psr: 20000013
sp : da401d10 ip : 00000007 fp : da401d3c
r10: bf3d214c r9 : 00000000 r8 : bf3d52e4
r7 : d7198c80 r6 : d9e94c00 r5 : bf401984 r4 : d9eeaa80
r3 : 00000002 r2 : d9e94c08 r1 : 00000000 r0 : 0000004e
Flags: nzCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment kernel
Control: 00c5387d Table: 17c24008 DAC: 00000055
CPU: 0 PID: 65 Comm: kworker/u2:2 Tainted: G O 4.4.50dbg+ #1
Hardware name: BCM2708
Workqueue: kmmcd mmc_rescan
[<c00166a4>] (unwind_backtrace) from [<c00135d8>] (show_stack+0x20/0x24)
[<c00135d8>] (show_stack) from [<c02e1370>] (dump_stack+0x20/0x28)
[<c02e1370>] (dump_stack) from [<c0010b1c>] (show_regs+0x1c/0x20)
[<c0010b1c>] (show_regs) from [<c00951f8>] (kdb_main_loop+0x33c/0x740)
[<c00951f8>] (kdb_main_loop) from [<c0097bf0>] (kdb_stub+0x18c/0x3cc)
[<c0097bf0>] (kdb_stub) from [<c008e4d0>] (kgdb_handle_exception+0x284/0x7c8)
[<c008e4d0>] (kgdb_handle_exception) from [<c0015bb8>] (kgdb_notify+0x3c/0x94)
[<c0015bb8>] (kgdb_notify) from [<c003d6f0>] (notifier_call_chain+0x54/0x94)
[<c003d6f0>] (notifier_call_chain) from [<c003d754>] (__atomic_notifier_call_chain+0x24/0x2c)
[<c003d754>] (__atomic_notifier_call_chain) from [<c003d784>] (atomic_notifier_call_chain+0x28/0x30)
[<c003d784>] (atomic_notifier_call_chain) from [<c003d8f0>] (notify_die+0x40/0x4c)
[<c003d8f0>] (notify_die) from [<c00136a4>] (die+0xc8/0x374)
[<c00136a4>] (die) from [<c001e084>] (__do_kernel_fault.part.0+0x64/0x1f4)
[<c001e084>] (__do_kernel_fault.part.0) from [<c056d9ec>] (do_page_fault+0x228/0x38c)
[<c056d9ec>] (do_page_fault) from [<c056dbfc>] (do_translation_fault+0xac/0xb4)
[<c056dbfc>] (do_translation_fault) from [<c0009200>] (do_DataAbort+0x44/0xc4)
[<c0009200>] (do_DataAbort) from [<c056d15c>] (__dabt_svc+0x3c/0x60)
Exception stack(0xda401cc0 to 0xda401d08)
1cc0: 0000004e 00000000 d9e94c08 00000002 d9eeaa80 bf401984 d9e94c00 d7198c80
1ce0: bf3d52e4 00000000 bf3d214c da401d3c 00000007 da401d10 c0057930 bf3c93d0
1d00: 20000013 ffffffff
[<c056d15c>] (__dabt_svc) from [<bf3c93d0>] (esp_sdio_probe+0x58/0x3c0 [esp8089])
[<bf3c93d0>] (esp_sdio_probe [esp8089]) from [<c0434328>] (sdio_bus_probe+0x110/0x124)
[<c0434328>] (sdio_bus_probe) from [<c0367220>] (driver_probe_device+0x1e8/0x2b4)
[<c0367220>] (driver_probe_device) from [<c03675ac>] (__device_attach_driver+0x90/0x9c)
[<c03675ac>] (__device_attach_driver) from [<c0365694>] (bus_for_each_drv+0x54/0x9c)
[<c0365694>] (bus_for_each_drv) from [<c0366f80>] (__device_attach+0xb0/0x114)
[<c0366f80>] (__device_attach) from [<c03675d4>] (device_initial_probe+0x1c/0x20)
[<c03675d4>] (device_initial_probe) from [<c0366608>] (bus_probe_device+0x94/0x9c)
[<c0366608>] (bus_probe_device) from [<c036474c>] (device_add+0x388/0x534)
[<c036474c>] (device_add) from [<c043458c>] (sdio_add_func+0x58/0x70)
[<c043458c>] (sdio_add_func) from [<c0433814>] (mmc_attach_sdio+0x2ac/0x378)
[<c0433814>] (mmc_attach_sdio) from [<c042ad90>] (mmc_rescan+0x338/0x3e4)
[<c042ad90>] (mmc_rescan) from [<c0036cec>] (process_one_work+0x110/0x398)
[<c0036cec>] (process_one_work) from [<c0037118>] (worker_thread+0x160/0x4a0)
[<c0037118>] (worker_thread) from [<c003c884>] (kthread+0xd8/0xf4)
[<c003c884>] (kthread) from [<c000f928>] (ret_from_fork+0x14/0x2c)
Upvotes: 1
Views: 352