NXP社区的工程师
您好,
我们这边用到一款i.MX6Q SABRE的开发板为参考板,制作定制了自己的产品板子,Android版本为4.4.2,只有wifi有改动,我们wifi用的是AMPAK 的AP6335芯片,移植的时候参考NXP社区分享的文档Porting BCM4330/BCM43362 WIFI to Android4.2.2,现在在android界面层可以设置wifi网络热点,但是扫描不到网络,logcat错误如下:
dhd_bus_devreset: == WLAN ON ==
F1 signature read @0x18000000=0x16224335
F1 signature OK, socitype:0x1 chip:0x4339 rev:0x1 pkg:0x2
DHD: dongle ram size is set to 786432(orig 786432) at 0x180000
dhd_conf_read_config: Ignore config file /system/etc/firmware/config.txt
dhd_conf_set_fw_name_by_chip: firmware_path=/system/etc/firmware/fw_bcm4339a0_ag.bin
Final fw_path=/system/etc/firmware/fw_bcm4339a0_ag.bin
Final nv_path=/system/etc/firmware/nvram.txt
Final conf_path=/system/etc/firmware/config.txt
NVRAM version: AP6335_NVRAM_V1.7_04102014
dhdsdio_write_vars: Download, Upload and compare of NVRAM succeeded.
D/WifiHW ( 2650): -------------------------->wifi_start_supplicant: sleep 500ms, return 0
D/WifiMonitor( 2650): startMonitoring(wlan0) with mConnected = false
D/WifiHW ( 2650): -------------------------->enter wifi_connect_to_supplicant
D/WifiHW ( 2650): -------------------------->enter wifi_connect_on_socket_path
E/WifiHW ( 2650): ----------->/data/system/wpa_supplicant/wlan0: File not exists! error:No such file or directory
D/BluetoothAdapter( 2910): 1101234160: getState() : mService = null. Returning STATE_OFF
E/WifiHW ( 2650): ----------->/data/system/wpa_supplicant/wlan0: File not exists! try_cnt=49
dhd_bus_init: enable 0x06, ready 0x06 (waited 0us)
bcmsdh_oob_intr_register: Enter
bcmsdh_oob_intr_register OOB irq=377 flags=4
bcmsdh_oob_intr_register: enable_irq_wake
add wake up source irq 105
dhd_conf_set_band: Set band 0
Firmware up: op_mode=0x0005, MAC=6c:fa:a7:26:2c:da
dhd_conf_set_country: Set country CN, revision 38
E/WifiHW ( 2650): ----------->/data/system/wpa_supplicant/wlan0: File not exists! try_cnt=48
Country code: CN (CN/38)
dhd_conf_set_roam: Set roam_off 1
dhd_conf_set_glom: set bus:txglom 8
dhd_conf_set_ampdu_ba_wsize: set ampdu_ba_wsize 40
Firmware version = wl0: Apr 3 2014 12:12:42 version 6.37.32.28.2_ip (r424058)
Driver: 1.201.34.2 (r491657)
Firmware: wl0: Apr 3 2014 12:12:42 version 6.37.32.28.2_ip (r424058)
dhd_txglom_enable: enable 0
dhd_wlfc_hostreorder_init(): successful bdcv2 tlv signaling, 64
wl_android_wifi_on: Success
p2p0: p2p_dev_addr=6e:fa:a7:26:2c:da
E/WifiHW ( 2650): ----------->/data/system/wpa_supplicant/wlan0: File not exists! try_cnt=47
dhd_open: Exit ret=0
D/Tethering( 2650): sendTetherStateChangedBroadcast 1, 0, 0
E/WifiHW ( 2650): ----------->/data/system/wpa_supplicant/wlan0: File not exists! try_cnt=46
I/wpa_supplicant( 3535): rfkill: Cannot open RFKILL control device
D/Tethering( 2650): sendTetherStateChangedBroadcast 2, 0, 0
E/WifiHW ( 2650): ----------->/data/system/wpa_supplicant/wlan0: File not exists! try_cnt=45
D/WifiConfigStore( 2650): Loading config and enabling all networks
E/WifiConfigStore( 2650): Error parsing configurationjava.io.FileNotFoundException: /data/misc/wifi/ipconfig.txt: open failed: ENOENT (No such file or directory)
E/WifiStateMachine( 2650): Failed to set device name sabresd_6dq
E/WifiStateMachine( 2650): Failed to set manufacturer Freescale
E/WifiStateMachine( 2650): Failed to set model name SABRESD-MX6DQ
E/WifiStateMachine( 2650): Failed to set model number SABRESD-MX6DQ
E/WifiStateMachine( 2650): Failed to set serial number 191411d4df64727f
E/WifiStateMachine( 2650): Failed to set WPS config methods
D/BluetoothAdapter( 2910): 1101234160: getState() : mService = null. Returning STATE_OFF
E/WifiStateMachine( 2650): Failed to set primary device type 10-0050F204-5
D/CommandListener( 2251): Setting iface cfg
D/CommandListener( 2251): Trying to bring up p2p0
D/WifiMonitor( 2650): startMonitoring(p2p0) with mConnected = true
E/WifiStateMachine( 2650): Failed to set frequency band 0
p2p0: no IPv6 routers presen
netcfg的信息如下:
255|root@sabresd_6dq:/ #
nsmod /system/lib/modules/cf <
cfg80211.ko cfg80211_realtek.ko
em/lib/modules/cfg80211.ko <
cfg80211: Calling CRDA to update world regulatory domain
root@sabresd_6dq:/ #
root@sabresd_6dq:/ #
root@sabresd_6dq:/ #
root@sabresd_6dq:/ # insmod /system/lib/modules/bcmdhd.ko
dhd_module_init: in
======== bcm_wlan_set_plat_data ========
GPIO(WL_HOST_WAKE) = GPIO_4_25
host_oob_irq: 377
host_oob_irq_flags=4
dhd_wifi_platform_load: Enter
Power-up adapter 'DHD generic adapter'
wifi_platform_set_power = 1
======== PULL WL_REG_ON HIGH! ========
wifi_platform_bus_enumerate device present 1
======== Card detection to detect SDIO card! ========
mmc2: queuing unknown CIS tuple 0x80 (2 bytes)
mmc2: queuing unknown CIS tuple 0x80 (3 bytes)
mmc2: queuing unknown CIS tuple 0x80 (3 bytes)
mmc2: queuing unknown CIS tuple 0x80 (7 bytes)
mmc2: queuing unknown CIS tuple 0x91 (3 bytes)
mmc2: new high speed SDIO card at address 0001
mmc2: queuing unknown CIS tuple 0x80 (2 bytes)
mmc2: queuing unknown CIS tuple 0x80 (3 bytes)
mmc2: queuing unknown CIS tuple 0x80 (3 bytes)
mmc2: queuing unknown CIS tuple 0x80 (7 bytes)
bcmsdh_register: register client driver
mmc2: queuing unknown CIS tuple 0x80 (2 bytes)
mmc2: queuing unknown CIS tuple 0x80 (3 bytes)
mmc2: queuing unknown CIS tuple 0x80 (3 bytes)
mmc2: queuing unknown CIS tuple 0x80 (7 bytes)
bcmsdh_sdmmc: bcmsdh_sdmmc_probe Enter
bcmsdh_sdmmc: bcmsdh_sdmmc_probe Enter
bus num (host idx)=2, slot num (rca)=1
found adapter info 'DHD generic adapter'
F1 signature read @0x18000000=0x16224335
F1 signature OK, socitype:0x1 chip:0x4339 rev:0x1 pkg:0x2
DHD: dongle ram size is set to 786432(orig 786432) at 0x180000
wl_create_event_handler(): thread:wl_event_handler:cc5 started
tsk Enter, tsk = 0xca6e13f0
p2p0: P2P Interface Registered
dhd_attach(): thread:dhd_watchdog_thread:ccc started
dhd_attach(): thread:dhd_dpc:cce started
dhd_attach(): thread:dhd_rxf:ccf started
dhd_deferred_work_init: work queue initialized
Dongle Host Driver, version 1.201.34.2 (r491657)
Compiled in drivers/net/wireless/bcmdhd on May 27 2016 at 14:54:40
Register interface [wlan0] MAC: 6c:fa:a7:26:2d:b1
dhd_prot_ioctl : bus is down. we have nothing to do
bcmsdh_oob_intr_unregister: Enter
bcmsdh_oob_intr_unregister: irq is not registered
dhd_txglom_enable: enable 0
dhd_bus_devreset: WLAN OFF DONE
wifi_platform_set_power = 0
======== PULL WL_REG_ON LOW! ========
dhd_module_init: Exit err=0
root@sabresd_6dq:/ #
root@sabresd_6dq:/ #
root@sabresd_6dq:/ #
root@sabresd_6dq:/ #
root@sabresd_6dq:/ # netcfg
lo UP 127.0.0.1/8 0x00000049 00:00:00:00:00:00
p2p0 DOWN 0.0.0.0/0 0x00001002 00:90:4c:33:22:11
wlan0 DOWN 0.0.0.0/0 0x00001002 6c:fa:a7:26:2d:b1
root@sabresd_6dq:/ #
这边在启动网卡时候firmware信息:
root@sabresd_6dq:/data/system/wpa_supplicant # ifconfig wlan0 up
dhd_open: Enter d6c92000
Dongle Host Driver, version 1.201.34.2 (r491657)
Compiled in drivers/net/wireless/bcmdhd on May 27 2016 at 14:54:40
wl_android_wifi_on in 1
wl_android_wifi_on in 2: g_wifi_on=0
wifi_platform_set_power = 1
======== PULL WL_REG_ON HIGH! ========
sdio_reset_comm():
dhd_bus_devreset: == WLAN ON ==
F1 signature read @0x18000000=0x16224335
F1 signature OK, socitype:0x1 chip:0x4339 rev:0x1 pkg:0x2
DHD: dongle ram size is set to 786432(orig 786432) at 0x180000
dhd_conf_read_config: Ignore config file /system/etc/firmware/config.txt
dhd_conf_set_fw_name_by_chip: firmware_path=/system/etc/firmware/fw_bcm4339a0_ag.bin
Final fw_path=/system/etc/firmware/fw_bcm4339a0_ag.bin
Final nv_path=/system/etc/firmware/nvram.txt
Final conf_path=/system/etc/firmware/config.txt
NVRAM version: AP6335_NVRAM_V1.7_04102014
dhdsdio_write_vars: Download, Upload and compare of NVRAM succeeded.
dhd_bus_init: enable 0x06, ready 0x06 (waited 0us)
bcmsdh_oob_intr_register: Enter
bcmsdh_oob_intr_register OOB irq=377 flags=4
bcmsdh_oob_intr_register: enable_irq_wake
add wake up source irq 105
dhd_conf_set_band: Set band 0
Firmware up: op_mode=0x0005, MAC=6c:fa:a7:26:2d:b1
dhd_conf_set_country: Set country CN, revision 38
Country code: CN (CN/38)
dhd_conf_set_roam: Set roam_off 1
dhd_conf_set_glom: set bus:txglom 8
dhd_conf_set_ampdu_ba_wsize: set ampdu_ba_wsize 40
Firmware version = wl0: Apr 3 2014 12:12:42 version 6.37.32.28.2_ip (r424058)
Driver: 1.201.34.2 (r491657)
Firmware: wl0: Apr 3 2014 12:12:42 version 6.37.32.28.2_ip (r424058)
dhd_txglom_enable: enable 0
dhd_wlfc_hostreorder_init(): successful bdcv2 tlv signaling, 64
wl_android_wifi_on: Success
p2p0: p2p_dev_addr=6e:fa:a7:26:2d:b1
dhd_open: Exit ret=0
root@sabresd_6dq:/data/system/wpa_supplicant #
驱动可以起来,也可以配置ip,用wpa_cli也能扫描到网络,主要问题是在android界面层可以设置wifi网络热点,但是扫描不到网络
已解决! 转到解答。
Hello Chen,
According to logs you sent to me, the issue should be generated by wpa_supplicant.conf, please adjust ctrl_interce like following line:
ctrl_interface=DIR=/data/misc/wifi/sockets GROUP=wifi
Then don't forget modify the permission of the path in init.rc
Best Regards,
weidong
Hello Chen,
According to logs you sent to me, the issue should be generated by wpa_supplicant.conf, please adjust ctrl_interce like following line:
ctrl_interface=DIR=/data/misc/wifi/sockets GROUP=wifi
Then don't forget modify the permission of the path in init.rc
Best Regards,
weidong