I think I have found a bug in the 4/23/2012 rom..
Logcats are attached.
Problem: Wifi won't turn on sometimes.. reproduce steps:
Turn off wifi.
Turn on airplane mode.
Wait a bit
turn off airplane mode.
wait a bit
turn on airplane mode.
turn off airplane mode.
turn on wifi.
Wifi never finishes turning on, I need to reboot the phone.
The error I spotted in logcat:
Code:
E/WifiStateMachine( 217): Unable to change interface settings: java.lang.IllegalStateException: Unable to communicate with native daemon to interface setcfg - com.android.server.NativeDaemonConnectorException: Cmd {interface setcfg wlan0 0.0.0.0 0 [down]} failed with code 400 : {Failed to set address (No such device)}
Problem with those repro steps: they didn't work for me just now. This has happened 2 days in a row(at least):
Leave for work, turn off wifi
Get to work, turn on airplane mode (due to no signal)
Go to lunch, turn off airplane mode..
go back to work, turn on airplane mode..
Leave work eventually, turn off airplane mode..
get home, turn on wifi, and wifi fails to turn on. So, there may be a 'trigger' in there I'm missing.. I grabbed the logcat attached within about 3 minutes of it failing to turn on wifi today.
Ah here we go.. kernel panic from dmesg:
Code:
<4>[ 3462.966849] ---- mook table_num[70]
<4>[ 3463.101696]
<4>[ 3463.101702] Dongle Host Driver, version 1.6.1
<4>[ 3463.101707] Compiled in drivers/net/wireless/bcmdhd/src on Apr 23 2012 at 19:32:00
<4>[ 3463.101830] ## wifi_probe
<4>[ 3463.101840] wifi_set_power = 1
<4>[ 3463.452885] wifi_set_carddetect = 1
<7>[ 3463.452914] sdhci_s3c_force_presence_change : Enter
<7>[ 3463.654938] *** DEBUG : start mmc_rescan (mmc2)***
<7>[ 3463.691475] sdhci_cmd_irq(1525) intmask = 0x10001.
<7>[ 3463.696989] sdhci_cmd_irq(1525) intmask = 0x10001.
<7>[ 3463.702103] sdhci_cmd_irq(1525) intmask = 0x10001.
<7>[ 3463.702595] *** DEBUG : First we search for SDIO...(2)***
<4>[ 3463.718899] mmc2: queuing unknown CIS tuple 0x80 (7 bytes)
<4>[ 3463.775546] mmc2: queuing unknown CIS tuple 0x80 (3 bytes)
<6>[ 3463.783331] mmc2: new high speed SDIO card at address 0001
<4>[ 3463.808576] alloc static buf at c4e00000!
<4>[ 3463.812337] F1 signature read @0x18000000=0x16834330
<4>[ 3463.827128] DHD: dongle ram size is set to 294912(orig 294912)
<4>[ 3463.924729] kmmcd: page allocation failure. order:5, mode:0xc0d0
<4>[ 3463.924782] Backtrace:
<4>[ 3463.924888] [<c0132fe4>] (dump_backtrace+0x0/0x110) from [<c054db18>] (dump_stack+0x18/0x1c)
<4>[ 3463.924947] r7:c09f7058 r6:00000001 r5:00000005 r4:0000c0d0
<4>[ 3463.925166] [<c054db00>] (dump_stack+0x0/0x1c) from [<c019ac98>] (__alloc_pages_nodemask+0x534/0x580)
<4>[ 3463.925254] [<c019a764>] (__alloc_pages_nodemask+0x0/0x580) from [<c019acfc>] (__get_free_pages+0x18/0x58)
<4>[ 3463.925353] [<c019ace4>] (__get_free_pages+0x0/0x58) from [<c01b88f8>] (__kmalloc+0x40/0x110)
<4>[ 3463.925446] [<c01b88b8>] (__kmalloc+0x0/0x110) from [<c052a938>] (wiphy_new+0x168/0x36c)
<4>[ 3463.925501] r8:bf200908 r7:e168e400 r6:bf201880 r5:dca53000 r4:00010f48
<4>[ 3463.925801] [<c052a7d0>] (wiphy_new+0x0/0x36c) from [<bf1ea60c>] (wl_cfg80211_attach+0xe8/0xb70 [dhd])
<4>[ 3463.925862] r6:e6f51000 r5:dca53000 r4:e9bfbc08
<4>[ 3463.926189] [<bf1ea524>] (wl_cfg80211_attach+0x0/0xb70 [dhd]) from [<bf1c6d48>] (dhd_attach+0x35c/0x864 [dhd])
<4>[ 3463.926498] [<bf1c69ec>] (dhd_attach+0x0/0x864 [dhd]) from [<bf1ccae4>] (dhdsdio_probe+0x36c/0xe84 [dhd])
<4>[ 3463.926784] [<bf1cc778>] (dhdsdio_probe+0x0/0xe84 [dhd]) from [<bf1bae94>] (bcmsdh_probe+0x100/0x158 [dhd])
<4>[ 3463.926844] r8:e3263400 r7:ee729e80 r6:bf202144 r5:00000000 r4:e3263700
<4>[ 3463.927212] [<bf1bad94>] (bcmsdh_probe+0x0/0x158 [dhd]) from [<bf1bc6b0>] (bcmsdh_sdmmc_probe+0x98/0xa0 [dhd])
<4>[ 3463.927306] r8:00000000 r7:00000000 r6:bf2005ac r5:e9bfbc00 r4:e9bfbc08
<4>[ 3463.927556] [<bf1bc618>] (bcmsdh_sdmmc_probe+0x0/0xa0 [dhd]) from [<c03d7bd0>] (sdio_bus_probe+0xdc/0xf0)
<4>[ 3463.927616] r5:e9bfbc00 r4:bf1f3734
<4>[ 3463.927724] [<c03d7af4>] (sdio_bus_probe+0x0/0xf0) from [<c02f7c84>] (driver_probe_device+0xb0/0x160)
<4>[ 3463.927782] r7:bf2005ac r6:c02f7dc0 r5:e9bfbc08 r4:bf2005ac
<4>[ 3463.927911] [<c02f7bd4>] (driver_probe_device+0x0/0x160) from [<c02f7e04>] (__device_attach+0x44/0x48)
<4>[ 3463.927968] r7:00000000 r6:c02f7dc0 r5:e9bfbc08 r4:bf2005ac
<4>[ 3463.928095] [<c02f7dc0>] (__device_attach+0x0/0x48) from [<c02f7174>] (bus_for_each_drv+0x54/0x94)
<4>[ 3463.928171] r5:c4e5de48 r4:e9bfbc08
<4>[ 3463.928349] [<c02f7120>] (bus_for_each_drv+0x0/0x94) from [<c02f7e8c>] (device_attach+0x58/0x70)
<4>[ 3463.928408] r7:e9bfba00 r6:00000000 r5:e9bfbc08 r4:e9bfbc3c
<4>[ 3463.928535] [<c02f7e34>] (device_attach+0x0/0x70) from [<c02f6fa4>] (bus_probe_device+0x2c/0x48)
<4>[ 3463.928591] r5:e9bfbc10 r4:e9bfbc08
<4>[ 3463.928685] [<c02f6f78>] (bus_probe_device+0x0/0x48) from [<c02f596c>] (device_add+0x350/0x4c8)
<4>[ 3463.928776] [<c02f561c>] (device_add+0x0/0x4c8) from [<c03d79c4>] (sdio_add_func+0x3c/0x54)
<4>[ 3463.928869] [<c03d7988>] (sdio_add_func+0x0/0x54) from [<c03d7348>] (mmc_attach_sdio+0x4b4/0x560)
<4>[ 3463.928924] r5:00000000 r4:c48c8000
<4>[ 3463.929015] [<c03d6e94>] (mmc_attach_sdio+0x0/0x560) from [<c03d3534>] (mmc_rescan+0x30c/0x444)
<4>[ 3463.929108] [<c03d3228>] (mmc_rescan+0x0/0x444) from [<c016910c>] (worker_thread+0x17c/0x208)
<4>[ 3463.929164] r6:c03d3228 r5:c4e5c000 r4:c4e58980
<4>[ 3463.929274] [<c0168f90>] (worker_thread+0x0/0x208) from [<c016cc50>] (kthread+0x84/0x8c)
<4>[ 3463.929361] [<c016cbcc>] (kthread+0x0/0x8c) from [<c0159d78>] (do_exit+0x0/0x5f4)
<4>[ 3463.929411] r7:00000013 r6:c0159d78 r5:c016cbcc r4:c4c21ed8
Doh, didn't see that others reported it.. well, here's good debugging info.