bcm4329 driver를 install하는 과정에서 Error가 발생합니다.
해결할 수 있는 방법에 대하여 조언을 부탁드립니다.
정상적으로 Firmware와 nvram을 download하고
reset과정에서
dhdsdio_htclk: HT Avail request error: -35
가 발생합니다.
# insmod bcm4329.ko
dhd_module_init: Enter
dhd_customer_gpio_wlan_ctrl: Enter
[WIFI] Device powering ON
sdhci_s3c_force_presence_change : Enter
mmc_detect_change : Enter
mmc_schedule_delayed_work : Enter
mmc_schedule_delayed_work : Enter
[WIFI] Device powering ON exit
dhd_bus_register: Enter
Starting memory Physical address for WIFI : 0x43400000
BRCM WIFI VIRTUAL ADDRESS 3 : ed78e000
dhdsdio_probe: Enter
dhdsdio_probe: venid 0x14e4 devid 0x0000
dhdsdio_probe: allow device id 0, will check chip internals
F1 signature read @0x18000000=0x9934329
Found chip type SB (0x09934329)
_sb_scan: scan bus 0x18000000 assume 1 cores
_sb_scan: there are 9 cores in the chip
_sb_scan: scan bus 0x18010000 assume 4 cores
_sb_scan: found 4 cores on bus 0x18010000
_sb_scan: found 5 cores on bus 0x18000000
Chipc: rev 29, caps 0x3048010a, chipst 0x2f2 pmurev 6, pmucaps 0x21cc3606
CORE[0]: id 0x800 rev 29 base 0x18000000 regs 0x18000000
CORE[1]: id 0x812 rev 20 base 0x18001000 regs 0x18001000
CORE[2]: id 0x82a rev 0 base 0x18002000 regs 0x18002000
CORE[3]: id 0x80e rev 4 base 0x18003000 regs 0x18003000
CORE[4]: id 0x830 rev 1 base 0x18004000 regs 0x18004000
CORE[5]: id 0x830 rev 1 base 0x18010000 regs 0x18010000
CORE[6]: id 0x829 rev 1 base 0x18011000 regs 0x18011000
CORE[7]: id 0x831 rev 0 base 0x18012000 regs 0x18012000
CORE[8]: id 0x832 rev 0 base 0x18013000 regs 0x18013000
Buscore id/type/rev 6/0x829/1
si_attach end
(3) memsize 0x40000
(4) memsize 0x48000
(5) memsize 0x48000
DHD: dongle ram size is set to 294912(orig 294912)
dhd_attach: Enter
dhd_add_if: idx 0, handle->ea38ac00
BRCM WIFI VIRTUAL ADDRESS 0 : ed780000
dhdsdio_probe_malloc: Enter
BRCM WIFI VIRTUAL ADDRESS 1 : ed783000
BRCM WIFI VIRTUAL ADDRESS 2 : ed786000
dhdsdio_probe_init: Enter
dhdsdio_probe_init: Initial value for sd_divisor is 2
dhdsdio_probe_init: Initial value for sd_mode is 2
dhdsdio_probe_init: Initial value for sd_blocksize is 512
dhdsdio_probe_init: bus module (through bcmsdh API) does not support chaining
dhdsdio_probe: disable SDIO interrupts (not interested yet)
dhdsdio_probe: registered SDIO interrupt function ok
dhdsdio_probe: completed!!
dhd_bus_start:
dhdsdio_clkctl: Enter
dhdsdio_htclk: Enter
Check Clock: 8
CLKCTL: turned ON
dhdsdio_clkctl: 1 -> 3
fw_path : ./4329rtecdc.bin
dhdsdio_membytes: write 4 bytes at offset 0x00007ffc in window 0x00040000
dhdsdio_download_code_file: download firmware ./4329rtecdc.bin
dhdsdio_membytes: write 2048 bytes at offset 0x00000000 in window 0x00000000
dhdsdio_membytes: write 2048 bytes at offset 0x00000800 in window 0x00000000
dhdsdio_membytes: write 2048 bytes at offset 0x00001000 in window 0x00000000
dhdsdio_membytes: write 2048 bytes at offset 0x00001800 in window 0x00000000
dhdsdio_membytes: write 2048 bytes at offset 0x00002000 in window 0x00000000
dhdsdio_membytes: write 2048 bytes at offset 0x00002800 in window 0x00000000
dhdsdio_membytes: write 2048 bytes at offset 0x00003000 in window 0x00000000
dhdsdio_membytes: write 2048 bytes at offset 0x00003800 in window 0x00000000
dhdsdio_membytes: write 2048 bytes at offset 0x00004000 in window 0x00000000
dhdsdio_membytes: write 2048 bytes at offset 0x00004800 in window 0x00000000
dhdsdio_membytes: write 2048 bytes at offset 0x00005000 in window 0x00000000
dhdsdio_membytes: write 2048 bytes at offset 0x00005800 in window 0x00000000
dhdsdio_membytes: write 2048 bytes at offset 0x00006000 in window 0x00000000
dhdsdio_membytes: write 2048 bytes at offset 0x00006800 in window 0x00000000
dhdsdio_membytes: write 2048 bytes at offset 0x00007000 in window 0x00000000
dhdsdio_membytes: write 2048 bytes at offset 0x00007800 in window 0x00000000
dhdsdio_membytes: write 2048 bytes at offset 0x00000000 in window 0x00008000
dhdsdio_membytes: write 2048 bytes at offset 0x00000800 in window 0x00008000
dhdsdio_membytes: write 2048 bytes at offset 0x00001000 in window 0x00008000
dhdsdio_membytes: write 2048 bytes at offset 0x00001800 in window 0x00008000
dhdsdio_membytes: write 2048 bytes at offset 0x00002000 in window 0x00008000
dhdsdio_membytes: write 2048 bytes at offset 0x00002800 in window 0x00008000
dhdsdio_membytes: write 2048 bytes at offset 0x00003000 in window 0x00008000
dhdsdio_membytes: write 2048 bytes at offset 0x00003800 in window 0x00008000
dhdsdio_membytes: write 2048 bytes at offset 0x00004000 in window 0x00008000
dhdsdio_membytes: write 2048 bytes at offset 0x00004800 in window 0x00008000
dhdsdio_membytes: write 2048 bytes at offset 0x00005000 in window 0x00008000
dhdsdio_membytes: write 2048 bytes at offset 0x00005800 in window 0x00008000
dhdsdio_membytes: write 2048 bytes at offset 0x00006000 in window 0x00008000
dhdsdio_membytes: write 2048 bytes at offset 0x00006800 in window 0x00008000
dhdsdio_membytes: write 2048 bytes at offset 0x00007000 in window 0x00008000
dhdsdio_membytes: write 2048 bytes at offset 0x00007800 in window 0x00008000
dhdsdio_membytes: write 2048 bytes at offset 0x00000000 in window 0x00010000
dhdsdio_membytes: write 2048 bytes at offset 0x00000800 in window 0x00010000
dhdsdio_membytes: write 2048 bytes at offset 0x00001000 in window 0x00010000
dhdsdio_membytes: write 2048 bytes at offset 0x00001800 in window 0x00010000
dhdsdio_membytes: write 2048 bytes at offset 0x00002000 in window 0x00010000
dhdsdio_membytes: write 2048 bytes at offset 0x00002800 in window 0x00010000
dhdsdio_membytes: write 2048 bytes at offset 0x00003000 in window 0x00010000
dhdsdio_membytes: write 2048 bytes at offset 0x00003800 in window 0x00010000
dhdsdio_membytes: write 2048 bytes at offset 0x00004000 in window 0x00010000
dhdsdio_membytes: write 2048 bytes at offset 0x00004800 in window 0x00010000
dhdsdio_membytes: write 2048 bytes at offset 0x00005000 in window 0x00010000
dhdsdio_membytes: write 2048 bytes at offset 0x00005800 in window 0x00010000
dhdsdio_membytes: write 2048 bytes at offset 0x00006000 in window 0x00010000
dhdsdio_membytes: write 2048 bytes at offset 0x00006800 in window 0x00010000
dhdsdio_membytes: write 2048 bytes at offset 0x00007000 in window 0x00010000
dhdsdio_membytes: write 2048 bytes at offset 0x00007800 in window 0x00010000
dhdsdio_membytes: write 2048 bytes at offset 0x00000000 in window 0x00018000
dhdsdio_membytes: write 2048 bytes at offset 0x00000800 in window 0x00018000
dhdsdio_membytes: write 2048 bytes at offset 0x00001000 in window 0x00018000
dhdsdio_membytes: write 2048 bytes at offset 0x00001800 in window 0x00018000
dhdsdio_membytes: write 2048 bytes at offset 0x00002000 in window 0x00018000
dhdsdio_membytes: write 2048 bytes at offset 0x00002800 in window 0x00018000
dhdsdio_membytes: write 2048 bytes at offset 0x00003000 in window 0x00018000
dhdsdio_membytes: write 2048 bytes at offset 0x00003800 in window 0x00018000
dhdsdio_membytes: write 2048 bytes at offset 0x00004000 in window 0x00018000
dhdsdio_membytes: write 2048 bytes at offset 0x00004800 in window 0x00018000
dhdsdio_membytes: write 2048 bytes at offset 0x00005000 in window 0x00018000
dhdsdio_membytes: write 2048 bytes at offset 0x00005800 in window 0x00018000
dhdsdio_membytes: write 2048 bytes at offset 0x00006000 in window 0x00018000
dhdsdio_membytes: write 2048 bytes at offset 0x00006800 in window 0x00018000
dhdsdio_membytes: write 2048 bytes at offset 0x00007000 in window 0x00018000
dhdsdio_membytes: write 2048 bytes at offset 0x00007800 in window 0x00018000
dhdsdio_membytes: write 2048 bytes at offset 0x00000000 in window 0x00020000
dhdsdio_membytes: write 2048 bytes at offset 0x00000800 in window 0x00020000
dhdsdio_membytes: write 2048 bytes at offset 0x00001000 in window 0x00020000
dhdsdio_membytes: write 2048 bytes at offset 0x00001800 in window 0x00020000
dhdsdio_membytes: write 2048 bytes at offset 0x00002000 in window 0x00020000
dhdsdio_membytes: write 2048 bytes at offset 0x00002800 in window 0x00020000
dhdsdio_membytes: write 2048 bytes at offset 0x00003000 in window 0x00020000
dhdsdio_membytes: write 2048 bytes at offset 0x00003800 in window 0x00020000
dhdsdio_membytes: write 2048 bytes at offset 0x00004000 in window 0x00020000
dhdsdio_membytes: write 2048 bytes at offset 0x00004800 in window 0x00020000
dhdsdio_membytes: write 2048 bytes at offset 0x00005000 in window 0x00020000
dhdsdio_membytes: write 2048 bytes at offset 0x00005800 in window 0x00020000
dhdsdio_membytes: write 2048 bytes at offset 0x00006000 in window 0x00020000
dhdsdio_membytes: write 2048 bytes at offset 0x00006800 in window 0x00020000
dhdsdio_membytes: write 2048 bytes at offset 0x00007000 in window 0x00020000
dhdsdio_membytes: write 2048 bytes at offset 0x00007800 in window 0x00020000
dhdsdio_membytes: write 2048 bytes at offset 0x00000000 in window 0x00028000
dhdsdio_membytes: write 2048 bytes at offset 0x00000800 in window 0x00028000
dhdsdio_membytes: write 2048 bytes at offset 0x00001000 in window 0x00028000
dhdsdio_membytes: write 2048 bytes at offset 0x00001800 in window 0x00028000
dhdsdio_membytes: write 2048 bytes at offset 0x00002000 in window 0x00028000
dhdsdio_membytes: write 2048 bytes at offset 0x00002800 in window 0x00028000
dhdsdio_membytes: write 2048 bytes at offset 0x00003000 in window 0x00028000
dhdsdio_membytes: write 2048 bytes at offset 0x00003800 in window 0x00028000
dhdsdio_membytes: write 2048 bytes at offset 0x00004000 in window 0x00028000
dhdsdio_membytes: write 2048 bytes at offset 0x00004800 in window 0x00028000
dhdsdio_membytes: write 2048 bytes at offset 0x00005000 in window 0x00028000
dhdsdio_membytes: write 2048 bytes at offset 0x00005800 in window 0x00028000
dhdsdio_membytes: write 2048 bytes at offset 0x00006000 in window 0x00028000
dhdsdio_membytes: write 2048 bytes at offset 0x00006800 in window 0x00028000
dhdsdio_membytes: write 2048 bytes at offset 0x00007000 in window 0x00028000
dhdsdio_membytes: write 2048 bytes at offset 0x00007800 in window 0x00028000
dhdsdio_membytes: write 2048 bytes at offset 0x00000000 in window 0x00030000
dhdsdio_membytes: write 2048 bytes at offset 0x00000800 in window 0x00030000
dhdsdio_membytes: write 2048 bytes at offset 0x00001000 in window 0x00030000
dhdsdio_membytes: write 2048 bytes at offset 0x00001800 in window 0x00030000
dhdsdio_membytes: write 2048 bytes at offset 0x00002000 in window 0x00030000
dhdsdio_membytes: write 2048 bytes at offset 0x00002800 in window 0x00030000
dhdsdio_membytes: write 2048 bytes at offset 0x00003000 in window 0x00030000
dhdsdio_membytes: write 2048 bytes at offset 0x00003800 in window 0x00030000
dhdsdio_membytes: write 2048 bytes at offset 0x00004000 in window 0x00030000
dhdsdio_membytes: write 2048 bytes at offset 0x00004800 in window 0x00030000
dhdsdio_membytes: write 2048 bytes at offset 0x00005000 in window 0x00030000
dhdsdio_membytes: write 2048 bytes at offset 0x00005800 in window 0x00030000
dhdsdio_membytes: write 2048 bytes at offset 0x00006000 in window 0x00030000
dhdsdio_membytes: write 2048 bytes at offset 0x00006800 in window 0x00030000
dhdsdio_membytes: write 2048 bytes at offset 0x00007000 in window 0x00030000
dhdsdio_membytes: write 2048 bytes at offset 0x00007800 in window 0x00030000
dhdsdio_membytes: write 196 bytes at offset 0x00000000 in window 0x00038000
nv_path : ./4329nvram.txt
dhdsdio_downloadvars: Enter
dhdsdio_membytes: write 612 bytes at offset 0x00007d98 in window 0x00040000
Compare NVRAM dl & ul; varsize=612
dhdsdio_membytes: read 612 bytes at offset 0x00007d98 in window 0x00040000
dhdsdio_write_vars: Download, Upload and compare of NVRAM succeeded.
Physical memory size: 294912, usable memory size: 294912
Vars are at 294296, orig varsize is 612
New varsize is 612, length token=0xff660099
dhdsdio_membytes: write 4 bytes at offset 0x00007ffc in window 0x00040000
dhdsdio_clkctl: Enter
dhdsdio_htclk: Enter
CLKCTL: turned OFF
dhdsdio_clkctl: 3 -> 1
dhd_bus_init: Enter
dhdsdio_clkctl: Enter
dhdsdio_htclk: Enter
dhd_bus_watchdog: Enter
Check Clock: 16
dhdsdio_htclk: HT Avail request error: -35
dhdsdio_clkctl: 1 -> 1
dhd_bus_init: Error End
dhd_bus_init: End
dhd_bus_start failed bus is not ready
dhdsdio_probe: failed
dhdsdio_release: Enter
dhdsdio_release_dongle: Enter
dhdsdio_clkctl: Enter
dhdsdio_htclk: Enter
Check Clock: 16
dhdsdio_htclk: HT Avail request error: -35
dhdsdio_clkctl: 1 -> 1
dhdsdio_clkctl: Enter
dhdsdio_sdclk: Enter
dhdsdio_clkctl: 1 -> 0
dhdsdio_release_dongle: Disconnected
dhd_detach: Enter
dhd_bus_detach: Enter
dhd_bus_stop: Enter
dhdsdio_clkctl: Enter
dhdsdio_sdclk: Enter
dhdsdio_htclk: Enter
Check Clock: 16
dhdsdio_htclk: HT Avail request error: -35
dhdsdio_clkctl: 0 -> 1
dhd_bus_stop: Failed to force clock for F2: err -35
dhd_bus_stop: disable SDIO interrupts
dhdsdio_clkctl: Enter
dhdsdio_release_malloc: Enter
dhdsdio_release: Disconnected
bcmsdh_sdmmc: probe of mmc1:0001:3 failed with error -110
Dongle Host Driver, version 4.218.239.0
Compiled in drivers/net/wireless/bcm4329 on Apr 15 2011 at 04:48:04
2.6.32커널에 Froyo 2.2.2 기준입니다.
리눅스 커널 소스
http://dev.odroid.com/sigong/nf_file_board/nfile_board_view.php?keyword=&bid=17
안드로이드 소스http://dev.odroid.com/sigong/nf_file_board/nfile_board_view.php?keyword=&bid=15