modathermikro / bcmon

Automatically exported from code.google.com/p/bcmon
0 stars 0 forks source link

Issues on Galaxy Nexus #4

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
The Galaxy Nexus uses the bcm4330 chipset.  dhd.ko in bcm4330 can be built with 
no issue for 3.0.31 kernel (used with Jelly Bean), however the kernel .config 
has to be modified so the bcmdhd driver is built as a kernel module, not built 
in to the kernel.  Otherwise, you can't rmmod the driver.  With that, the 
dhd.ko module inserts, but has the following error.  Note all DHD debug info is 
turned on.

<4>[16382.549194] ## wifi_probe
<4>[16382.549285] wifi_set_power = 1
<4>[16383.280883] wifi_set_carddetect = 1
<6>[16383.422271] mmc1: new high speed SDIO card at address 0001
<4>[16383.424133] dhd_bus_register: Enter
<4>[16383.424835] dhd_module_init:
<4>[16383.424835] Dongle Host Driver, version 1.15.11
<4>[16383.424835] Compiled in drivers/net/wireless/bcmdhd-mon/src on Sep 25 
2012 at 15:32:22
<4>[16383.426696] dhdsdio_probe : no mutex held. set lock
<4>[16383.426879] dhdsdio_probe: Enter
<4>[16383.426940] dhdsdio_probe: venid 0x14e4 devid 0x0000
<4>[16383.427124] dhdsdio_probe: allow device id 0, will check chip internals
<4>[16383.427368] F1 signature read @0x18000000=0x16444330
<4>[16383.427703] sdioh_cis_read: func_cis_ptr[0]=0x1070
<4>[16383.437286] Function 0 CIS:
<4>[16383.437377]     20 04 d0 02 30 43 21 02 0c 00 22 04 00 20 00 5a
<4>[16383.438842]     ff
<4>[16383.439086] sdioh_cis_read: func_cis_ptr[1]=0x1000
<4>[16383.448638] Function 1 CIS:
<4>[16383.448791]     20 04 d0 02 30 43 21 02 0c 00 22 2a 01 00 00 00
<4>[16383.450256]     00 00 00 00 00 00 00 00 40 00 00 ff ff 80 00 00
<4>[16383.451690]     00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
<4>[16383.453247]     00 00 00 00 00 00 ff
<4>[16383.454040] sdioh_cis_read: func_cis_ptr[2]=0x1038
<4>[16383.463562] Function 2 CIS:
<4>[16383.463653]     20 04 d0 02 30 43 21 02 0c 00 22 2a 01 01 00 00
<4>[16383.465118]     00 00 00 00 00 00 00 00 00 02 00 ff ff 80 00 00
<4>[16383.466522]     00 00 00 00 00 00 00 00 c8 00 00 00 00 00 00 00
<4>[16383.468078]     00 00 00 00 00 00 ff
<4>[16383.474121] DHD: dongle ram size is set to 294912(orig 294912)
<4>[16383.474639] dhd_attach: Enter
<4>[16383.474761] dhd_add_if: idx 0, handle->c68b7800
<3>[16383.476898] CFG80211-INFO2) wl_cfg80211_attach : wl_cfg80211_attach: wl = 
0xc68b5320
<3>[16383.477233] CFG80211-INFO2) wl_create_event_handler : Enter
<3>[16383.477447] CFG80211-INFO2) wl_create_event_handler : wl = 0xc68b5320, 
wl->event_tsk = 0xc68b5534
<4>[16383.477691] wl_create_event_handler thr:9f1 created
<3>[16383.477722] CFG80211-INFO2) wl_event_handler : tsk Enter, tsk = 0xc68b5534
<3>[16383.477752] CFG80211-INFO2) wl_event_handler : DAEMONIZE completed
<3>[16383.477752] CFG80211-INFO2) wl_event_handler : tsk completed
<4>[16383.478149] wl_create_event_handler thr:9f1 started
<4>[16383.479766] dhd_attach thr:9f2 created
<4>[16383.479858] dhd_attach thr:9f2 started
<4>[16383.479980] dhd_attach thr:9f3 created
<4>[16383.480133] dhd_attach thr:9f3 started
<4>[16383.480255] dhd_attach thr:9f4 created
<4>[16383.480346] dhd_attach thr:9f4 started
<4>[16383.480499] dhd_early_suspend: enter
<4>[16383.480621] dhd_set_suspend: enter, value = 1 in_suspend=1
<4>[16383.480773] dhdsdio_probe_malloc: Enter
<4>[16383.480865] dhdsdio_probe_init: Enter
<4>[16383.481048] dhdsdio_probe_init: Initial value for sd_divisor is 2
<4>[16383.481201] dhdsdio_probe_init: Initial value for sd_mode is 2
<4>[16383.481323] dhdsdio_probe_init: Initial value for sd_blocksize is 512
<4>[16383.481475] dhdsdio_probe_init: bus module (through bcmsdh API) does not 
support chaining
<4>[16383.481628] dhdsdio_probe: disable SDIO interrupts (not interested yet)
<4>[16383.481719] dhdsdio_probe: registered SDIO interrupt function ok
<4>[16383.481872] dhdsdio_probe: completed!!
<4>[16383.481964] Enter dhd_bus_start:
<4>[16383.482055] dhdsdio_clkctl: Enter
<4>[16383.482208] dhdsdio_htclk: Enter
<4>[16383.482360] CLKCTL: turned ON
<4>[16383.482452] dhd_os_wd_timer: Enter
<4>[16383.482543] dhdsdio_clkctl: 1 -> 3
<4>[16383.483459] dhdsdio_membytes: write 4 bytes at offset 0x00007ffc in 
window 0x00040000
<4>[16383.483673] dhdsdio_download_code_file: download firmware 
/sdcard/bcm4330_sta.bcmon.bin
<4>[16383.484863] dhdsdio_membytes: write 2048 bytes at offset 0x00000000 in 
window 0x00000000
<4>[16383.485931] dhdsdio_membytes: write 2048 bytes at offset 0x00000800 in 
window 0x00000000
<4>[16383.487396] dhdsdio_membytes: write 2048 bytes at offset 0x00001000 in 
window 0x00000000
<4>[16383.487823] dhdsdio_membytes: write 2048 bytes at offset 0x00001800 in 
window 0x00000000
<4>[16383.488311] dhdsdio_membytes: write 2048 bytes at offset 0x00002000 in 
window 0x00000000
<4>[16383.488800] dhdsdio_membytes: write 2048 bytes at offset 0x00002800 in 
window 0x00000000
<4>[16383.489196] dhdsdio_membytes: write 2048 bytes at offset 0x00003000 in 
window 0x00000000
<4>[16383.489685] dhdsdio_membytes: write 2048 bytes at offset 0x00003800 in 
window 0x00000000
<4>[16383.491058] dhdsdio_membytes: write 2048 bytes at offset 0x00004000 in 
window 0x00000000
<4>[16383.492095] dhdsdio_membytes: write 2048 bytes at offset 0x00004800 in 
window 0x00000000
<4>[16383.492523] dhdsdio_membytes: write 2048 bytes at offset 0x00005000 in 
window 0x00000000
<4>[16383.493011] dhdsdio_membytes: write 2048 bytes at offset 0x00005800 in 
window 0x00000000
<4>[16383.493469] dhdsdio_membytes: write 2048 bytes at offset 0x00006000 in 
window 0x00000000
<4>[16383.493957] dhdsdio_membytes: write 2048 bytes at offset 0x00006800 in 
window 0x00000000
<4>[16383.494354] dhdsdio_membytes: write 2048 bytes at offset 0x00007000 in 
window 0x00000000
<4>[16383.494842] dhdsdio_membytes: write 2048 bytes at offset 0x00007800 in 
window 0x00000000
<4>[16383.495300] dhdsdio_membytes: write 2048 bytes at offset 0x00000000 in 
window 0x00008000
<4>[16383.495727] dhdsdio_membytes: write 2048 bytes at offset 0x00000800 in 
window 0x00008000
<4>[16383.496185] dhdsdio_membytes: write 2048 bytes at offset 0x00001000 in 
window 0x00008000
<4>[16383.496673] dhdsdio_membytes: write 2048 bytes at offset 0x00001800 in 
window 0x00008000
<4>[16383.497161] dhdsdio_membytes: write 2048 bytes at offset 0x00002000 in 
window 0x00008000
<4>[16383.497558] dhdsdio_membytes: write 2048 bytes at offset 0x00002800 in 
window 0x00008000
<4>[16383.498046] dhdsdio_membytes: write 2048 bytes at offset 0x00003000 in 
window 0x00008000
<4>[16383.498504] dhdsdio_membytes: write 2048 bytes at offset 0x00003800 in 
window 0x00008000
<4>[16383.499999] dhdsdio_membytes: write 2048 bytes at offset 0x00004000 in 
window 0x00008000
<4>[16383.500518] dhdsdio_membytes: write 2048 bytes at offset 0x00004800 in 
window 0x00008000
<4>[16383.501007] dhdsdio_membytes: write 2048 bytes at offset 0x00005000 in 
window 0x00008000
<4>[16383.501495] dhdsdio_membytes: write 2048 bytes at offset 0x00005800 in 
window 0x00008000
<4>[16383.501922] dhdsdio_membytes: write 2048 bytes at offset 0x00006000 in 
window 0x00008000
<4>[16383.502380] dhdsdio_membytes: write 2048 bytes at offset 0x00006800 in 
window 0x00008000
<4>[16383.502868] dhdsdio_membytes: write 2048 bytes at offset 0x00007000 in 
window 0x00008000
<4>[16383.503295] dhdsdio_membytes: write 2048 bytes at offset 0x00007800 in 
window 0x00008000
<4>[16383.503784] dhdsdio_membytes: write 2048 bytes at offset 0x00000000 in 
window 0x00010000
<4>[16383.504241] dhdsdio_membytes: write 2048 bytes at offset 0x00000800 in 
window 0x00010000
<4>[16383.504730] dhdsdio_membytes: write 2048 bytes at offset 0x00001000 in 
window 0x00010000
<4>[16383.505126] dhdsdio_membytes: write 2048 bytes at offset 0x00001800 in 
window 0x00010000
<4>[16383.505615] dhdsdio_membytes: write 2048 bytes at offset 0x00002000 in 
window 0x00010000
<4>[16383.506103] dhdsdio_membytes: write 2048 bytes at offset 0x00002800 in 
window 0x00010000
<4>[16383.506500] dhdsdio_membytes: write 2048 bytes at offset 0x00003000 in 
window 0x00010000
<4>[16383.507019] dhdsdio_membytes: write 2048 bytes at offset 0x00003800 in 
window 0x00010000
<4>[16383.507507] dhdsdio_membytes: write 2048 bytes at offset 0x00004000 in 
window 0x00010000
<4>[16383.507995] dhdsdio_membytes: write 2048 bytes at offset 0x00004800 in 
window 0x00010000
<4>[16383.508392] dhdsdio_membytes: write 2048 bytes at offset 0x00005000 in 
window 0x00010000
<4>[16383.508850] dhdsdio_membytes: write 2048 bytes at offset 0x00005800 in 
window 0x00010000
<4>[16383.509338] dhdsdio_membytes: write 2048 bytes at offset 0x00006000 in 
window 0x00010000
<4>[16383.509826] dhdsdio_membytes: write 2048 bytes at offset 0x00006800 in 
window 0x00010000
<4>[16383.510223] dhdsdio_membytes: write 2048 bytes at offset 0x00007000 in 
window 0x00010000
<4>[16383.510711] dhdsdio_membytes: write 2048 bytes at offset 0x00007800 in 
window 0x00010000
<4>[16383.511169] dhdsdio_membytes: write 2048 bytes at offset 0x00000000 in 
window 0x00018000
<4>[16383.511596] dhdsdio_membytes: write 2048 bytes at offset 0x00000800 in 
window 0x00018000
<4>[16383.512084] dhdsdio_membytes: write 2048 bytes at offset 0x00001000 in 
window 0x00018000
<4>[16383.512542] dhdsdio_membytes: write 2048 bytes at offset 0x00001800 in 
window 0x00018000
<4>[16383.513031] dhdsdio_membytes: write 2048 bytes at offset 0x00002000 in 
window 0x00018000
<4>[16383.513427] dhdsdio_membytes: write 2048 bytes at offset 0x00002800 in 
window 0x00018000
<4>[16383.513916] dhdsdio_membytes: write 2048 bytes at offset 0x00003000 in 
window 0x00018000
<4>[16383.514434] dhdsdio_membytes: write 2048 bytes at offset 0x00003800 in 
window 0x00018000
<4>[16383.514862] dhdsdio_membytes: write 2048 bytes at offset 0x00004000 in 
window 0x00018000
<4>[16383.515319] dhdsdio_membytes: write 2048 bytes at offset 0x00004800 in 
window 0x00018000
<4>[16383.515808] dhdsdio_membytes: write 2048 bytes at offset 0x00005000 in 
window 0x00018000
<4>[16383.516265] dhdsdio_membytes: write 2048 bytes at offset 0x00005800 in 
window 0x00018000
<4>[16383.516693] dhdsdio_membytes: write 2048 bytes at offset 0x00006000 in 
window 0x00018000
<4>[16383.517150] dhdsdio_membytes: write 2048 bytes at offset 0x00006800 in 
window 0x00018000
<4>[16383.517639] dhdsdio_membytes: write 2048 bytes at offset 0x00007000 in 
window 0x00018000
<4>[16383.518066] dhdsdio_membytes: write 2048 bytes at offset 0x00007800 in 
window 0x00018000
<4>[16383.518524] dhdsdio_membytes: write 2048 bytes at offset 0x00000000 in 
window 0x00020000
<4>[16383.518981] dhdsdio_membytes: write 2048 bytes at offset 0x00000800 in 
window 0x00020000
<4>[16383.519470] dhdsdio_membytes: write 2048 bytes at offset 0x00001000 in 
window 0x00020000
<4>[16383.519897] dhdsdio_membytes: write 2048 bytes at offset 0x00001800 in 
window 0x00020000
<4>[16383.520355] dhdsdio_membytes: write 2048 bytes at offset 0x00002000 in 
window 0x00020000
<4>[16383.520843] dhdsdio_membytes: write 2048 bytes at offset 0x00002800 in 
window 0x00020000
<4>[16383.521240] dhdsdio_membytes: write 2048 bytes at offset 0x00003000 in 
window 0x00020000
<4>[16383.521728] dhdsdio_membytes: write 2048 bytes at offset 0x00003800 in 
window 0x00020000
<4>[16383.522216] dhdsdio_membytes: write 2048 bytes at offset 0x00004000 in 
window 0x00020000
<4>[16383.522705] dhdsdio_membytes: write 2048 bytes at offset 0x00004800 in 
window 0x00020000
<4>[16383.523132] dhdsdio_membytes: write 2048 bytes at offset 0x00005000 in 
window 0x00020000
<4>[16383.523590] dhdsdio_membytes: write 2048 bytes at offset 0x00005800 in 
window 0x00020000
<4>[16383.524078] dhdsdio_membytes: write 2048 bytes at offset 0x00006000 in 
window 0x00020000
<4>[16383.524536] dhdsdio_membytes: write 2048 bytes at offset 0x00006800 in 
window 0x00020000
<4>[16383.524963] dhdsdio_membytes: write 2048 bytes at offset 0x00007000 in 
window 0x00020000
<4>[16383.525421] dhdsdio_membytes: write 2048 bytes at offset 0x00007800 in 
window 0x00020000
<4>[16383.525909] dhdsdio_membytes: write 2048 bytes at offset 0x00000000 in 
window 0x00028000
<4>[16383.526306] dhdsdio_membytes: write 2048 bytes at offset 0x00000800 in 
window 0x00028000
<4>[16383.526794] dhdsdio_membytes: write 2048 bytes at offset 0x00001000 in 
window 0x00028000
<4>[16383.527282] dhdsdio_membytes: write 2048 bytes at offset 0x00001800 in 
window 0x00028000
<4>[16383.527740] dhdsdio_membytes: write 2048 bytes at offset 0x00002000 in 
window 0x00028000
<4>[16383.528167] dhdsdio_membytes: write 2048 bytes at offset 0x00002800 in 
window 0x00028000
<4>[16383.528625] dhdsdio_membytes: write 2048 bytes at offset 0x00003000 in 
window 0x00028000
<4>[16383.529113] dhdsdio_membytes: write 2048 bytes at offset 0x00003800 in 
window 0x00028000
<4>[16383.529510] dhdsdio_membytes: write 2048 bytes at offset 0x00004000 in 
window 0x00028000
<4>[16383.529998] dhdsdio_membytes: write 2048 bytes at offset 0x00004800 in 
window 0x00028000
<4>[16383.530517] dhdsdio_membytes: write 2048 bytes at offset 0x00005000 in 
window 0x00028000
<4>[16383.530975] dhdsdio_membytes: write 2048 bytes at offset 0x00005800 in 
window 0x00028000
<4>[16383.531402] dhdsdio_membytes: write 2048 bytes at offset 0x00006000 in 
window 0x00028000
<4>[16383.531860] dhdsdio_membytes: write 2048 bytes at offset 0x00006800 in 
window 0x00028000
<4>[16383.532348] dhdsdio_membytes: write 2048 bytes at offset 0x00007000 in 
window 0x00028000
<4>[16383.532745] dhdsdio_membytes: write 2048 bytes at offset 0x00007800 in 
window 0x00028000
<4>[16383.533386] dhdsdio_membytes: write 425 bytes at offset 0x00000000 in 
window 0x00030000
<4>[16383.533996] dhdsdio_downloadvars: Enter
<4>[16383.534301] dhdsdio_membytes: write 1208 bytes at offset 0x00007b44 in 
window 0x00040000
<4>[16383.534637] Compare NVRAM dl & ul; varsize=1208
<4>[16383.534820] dhdsdio_membytes: read 1208 bytes at offset 0x00007b44 in 
window 0x00040000
<4>[16383.535217] dhdsdio_write_vars: Download, Upload and compare of NVRAM 
succeeded.
<4>[16383.535369] Physical memory size: 294912, usable memory size: 294912
<4>[16383.535461] Vars are at 293700, orig varsize is 1208
<4>[16383.535614] New varsize is 1208, length token=0xfed1012e
<4>[16383.535766] dhdsdio_membytes: write 4 bytes at offset 0x00007ffc in 
window 0x00040000
<4>[16383.536529] dhdsdio_clkctl: Enter
<4>[16383.536621] dhdsdio_htclk: Enter
<4>[16383.536743] CLKCTL: turned OFF
<4>[16383.536895] dhd_os_wd_timer: Enter
<4>[16383.536987] dhdsdio_clkctl: 3 -> 1
<4>[16383.537078] dhd_os_wd_timer: Enter
<4>[16383.537231] dhd_bus_init: Enter
<4>[16383.537322] dhdsdio_clkctl: Enter
<4>[16383.537384] dhdsdio_htclk: Enter
<4>[16384.312164] dhdsdio_htclk: HT Avail timeout (1000000): clkctl 0x50
<4>[16384.312499] dhdsdio_clkctl: 1 -> 1
<4>[16384.312683] dhd_bus_init: clock state is wrong. state = 1
<4>[16384.313049] dhdsdio_clkctl: Enter
<4>[16384.313232] dhdsdio_htclk: Enter
<4>[16385.100494] dhdsdio_htclk: HT Avail timeout (1000000): clkctl 0x50
<4>[16385.100830] dhdsdio_clkctl: 1 -> 1
<4>[16385.101226] dhdsdio_clkctl: Enter
<4>[16385.101440] dhd_bus_start failed bus is not ready
<4>[16385.101776] dhd_watchdog_thread:
<4>[16385.101959] dhd_bus_watchdog: Enter
<4>[16385.102172] dhdsdio_probe: dhd_bus_start failed
<4>[16385.102478] dhd_net_attach: ifidx 0
<4>[16385.112548] dhd_get_stats: Enter
<4>[16385.112823] Broadcom Dongle Host Driver: register interface 
[wlan0]dhdsdio_probe : the lock is released.

As can be seen from the log, there is an issue turning the SDIO "backplane" 
clock (htclk) back on after the firmware loads.  However, if you try to load 
the original firmware instead of bcm4330_sta.bcmon.bin with the bcmon version 
of dhd.ko, the driver works fine, albeit with no monitor mode.  I also tried 
increasing the "HT Avail" timeout to 10 seconds instead of 1 second with the 
same result.

Could it be an incompatibility issue with the firmware?  Would it be possible 
to post the firmware soure and build instructions as well?

Original issue reported on code.google.com by mattkrys...@gmail.com on 27 Sep 2012 at 1:43

GoogleCodeExporter commented 9 years ago
Same here. Built kernel from CM9.1 with the bcm4330 driver as a loadable 
module. Insmod works fine, get same error. 

Original comment by inopia.s...@gmail.com on 18 Oct 2012 at 9:53

GoogleCodeExporter commented 9 years ago
Any updates on this? Got myself a Galaxy Nexus as soon as I heared about the 
monitor mode, to see that there isn't any compiled driver to be found :o

Original comment by terror.f...@gmail.com on 12 Feb 2013 at 11:13

GoogleCodeExporter commented 9 years ago
i've got same error.can any guys fix it ?

Original comment by ido...@gmail.com on 20 Feb 2013 at 7:33

GoogleCodeExporter commented 9 years ago
Same problem on a Samsung Galaxy Tab 2 (p3113).

Original comment by ssvens...@gmail.com on 26 Feb 2013 at 5:06

GoogleCodeExporter commented 9 years ago
Galaxy Nexus Help!

Original comment by tdye...@gmail.com on 9 Mar 2013 at 2:01

GoogleCodeExporter commented 9 years ago
any change?

Original comment by a...@tecnofutura.net on 20 Oct 2013 at 1:30

GoogleCodeExporter commented 9 years ago
Any update?

Original comment by lugo.fer...@gmail.com on 4 Dec 2013 at 2:40

GoogleCodeExporter commented 9 years ago
any progress

Original comment by inb...@gmail.com on 12 Jun 2014 at 5:03

GoogleCodeExporter commented 9 years ago
Guess this has been abandoned?

Original comment by ProjectP...@gmail.com on 31 Oct 2014 at 5:30