Tom
Tom

Reputation: 7951

ESP8089 Raspberry Pi module crash debugging

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

Answers (0)

Related Questions