SIOCSIFFLAGS:操作は許可されていません(Wi-Fiファームウェア)

SIOCSIFFLAGS:操作は許可されていません(Wi-Fiファームウェア)

/lib/firmware/私のフォルダにWi-Fiドライバを正しく使用するファームウェアがあるかどうかを知りたいです。

一般的な質問は次のとおりです。

root@bananapim2plus:/home/guillaume# ifconfig wlan0 up
SIOCSIFFLAGS: Operation not permitted

ファームウェアが正しくロードされていないようです。

そのため、ファームウェアにどのドライバが必要かを知ることができるかどうかわかりませんbcmdhd

このドライバのロードに関するいくつかの情報:

# iwconfig
lo        no wireless extensions.

tunl0     no wireless extensions.

wlan0     IEEE 802.11  Access Point: Not-Associated   
          Link Quality:0  Signal level:0  Noise level:0
          Rx invalid nwid:0  invalid crypt:0  invalid misc:0

eth0      no wireless extensions.

p2p0      IEEE 802.11bg  ESSID:off/any  
          Mode:Managed  Access Point: Not-Associated   
          Retry  long limit:7   RTS thr:off   Fragment thr:off
          Encryption key:off
          Power Management:on

# modinfo bcmdhd
filename:       /lib/modules/3.4.112-sun8i/kernel/drivers/net/wireless/bcmdhd/bcmdhd.ko
license:        GPL v2
alias:          sdio:c00v*d*
alias:          sdio:c*v02D0dA8E7*
alias:          sdio:c*v02D0d4324*
alias:          sdio:c*v02D0d4334*
alias:          sdio:c*v02D0d4330*
alias:          sdio:c*v02D0d4319*
alias:          sdio:c*v02D0d4329*
alias:          sdio:c*v02D0d0493*
alias:          sdio:c*v02D0d0492*
alias:          sdio:c*v02D0d0000*
depends:        
intree:         Y
vermagic:       3.4.112-sun8i SMP preempt mod_unload modversions ARMv7 p2v8 
parm:           dhd_doflow:uint
parm:           dhd_dpcpoll:uint
parm:           clockoverride:SDIO card clock override (int)
parm:           sd_msglevel:uint
parm:           sd_power:uint
parm:           sd_clock:uint
parm:           sd_divisor:uint
parm:           sd_sdmode:uint
parm:           sd_hiok:uint
parm:           sd_f2_blocksize:int
parm:           g_assert_type:int
parm:           dhd_oob_gpio_num:DHD oob gpio number (int)
parm:           info_string:string
parm:           op_mode:int
parm:           dhd_msg_level:int
parm:           iw_msg_level:int
parm:           wl_dbg_level:int
parm:           android_msg_level:int
parm:           config_msg_level:int
parm:           dhd_arp_enable:uint
parm:           dhd_arp_mode:uint
parm:           disable_proptx:int
parm:           firmware_path:string
parm:           nvram_path:string
parm:           config_path:string
parm:           dhd_watchdog_ms:uint
parm:           dhd_console_ms:uint
parm:           dhd_slpauto:uint
parm:           dhd_pkt_filter_enable:uint
parm:           dhd_pkt_filter_init:uint
parm:           dhd_master_mode:uint
parm:           dhd_watchdog_prio:int
parm:           dhd_dpc_prio:int
parm:           dhd_rxf_prio:int
parm:           dhd_dongle_ramsize:int
parm:           instance_base:int
parm:           iface_name:string
parm:           dhd_idletime:int
parm:           dhd_poll:uint
parm:           dhd_intr:uint
parm:           dhd_sdiod_drive_strength:uint
parm:           dhd_txbound:uint
parm:           dhd_rxbound:uint
parm:           dhd_deferred_tx:uint
parm:           dhd_pktgen:uint
parm:           dhd_pktgen_len:uint

# iwlist wlan0 scan
wlan0     Interface doesn't support scanning.

チップはWi-FiとBTを内蔵したAP6212です。

Wi-FiチップはBroadcom BCM43438です。

編集する:

dmesgドライバをロードした後、次のことが発生します。

[ 3554.318513] dhd_module_init: in
[ 3554.318606] ======== bcm_wlan_set_plat_data ========
[ 3554.318628] bcm_wlan_get_oob_irq enter.
[ 3554.318726] gpio [202] map to virq [10] ok
[ 3554.318737] host_oob_irq: 10 
[ 3554.318747] host_oob_irq_flags=4
[ 3554.318761] dhd_wifi_platform_load: Enter
[ 3554.318798] Power-up adapter 'DHD generic adapter'
[ 3554.318881] wifi_platform_set_power = 1
[ 3554.318891] ======== PULL WL_REG_ON HIGH! ========
[ 3554.318905] [wifi_pm]: set wl_reg_on 1 !
[ 3554.620077] wifi_platform_bus_enumerate device present 1
[ 3554.620094] ======== Card detection to detect SDIO card! ========
[ 3554.620170] [mmc]: sdc1 set ios: clk 0Hz bm PP pm UP vdd 3.3V width 1 timing LEGACY(SDR12) dt B
[ 3554.621769] [mmc]: sdc1 power_supply is null
[ 3554.640176] [mmc]: sdc1 set ios: clk 400000Hz bm PP pm ON vdd 3.3V width 1 timing LEGACY(SDR12) dt B
[ 3554.663569] [mmc]: sdc1 set ios: clk 400000Hz bm PP pm ON vdd 3.3V width 1 timing LEGACY(SDR12) dt B
[ 3554.666448] [mmc]: sdc1 set ios: clk 400000Hz bm PP pm ON vdd 3.3V width 1 timing LEGACY(SDR12) dt B
[ 3554.669198] [mmc]: sdc1 set ios: clk 400000Hz bm PP pm ON vdd 3.3V width 1 timing LEGACY(SDR12) dt B
[ 3554.681097] mmc1: queuing unknown CIS tuple 0x80 (2 bytes)
[ 3554.683035] mmc1: queuing unknown CIS tuple 0x80 (3 bytes)
[ 3554.684883] mmc1: queuing unknown CIS tuple 0x80 (3 bytes)
[ 3554.688154] mmc1: queuing unknown CIS tuple 0x80 (7 bytes)
[ 3554.794874] [mmc]: sdc1 set ios: clk 400000Hz bm PP pm ON vdd 3.3V width 1 timing SD-HS(SDR25) dt B
[ 3554.795309] [mmc]: sdc1 set ios: clk 50000000Hz bm PP pm ON vdd 3.3V width 1 timing SD-HS(SDR25) dt B
[ 3554.795918] [mmc]: sdc1 set ios: clk 50000000Hz bm PP pm ON vdd 3.3V width 4 timing SD-HS(SDR25) dt B
[ 3554.801215] mmc1: new high speed SDIO card at address 0001
[ 3554.803707] *******************sdio init ok*******************
[ 3554.820313] bcmsdh_register: register client driver
[ 3554.820838] bcmsdh_sdmmc: bcmsdh_sdmmc_probe Enter
[ 3554.821258] bcmsdh_sdmmc: bcmsdh_sdmmc_probe Enter
[ 3554.821307] bus num (host idx)=1, slot num (rca)=1
[ 3554.821349] found adapter info 'DHD generic adapter'
[ 3554.824019] F1 signature read @0x18000000=0x1540a9a6
[ 3554.835758] F1 signature OK, socitype:0x1 chip:0xa9a6 rev:0x0 pkg:0x4
[ 3554.838490] DHD: dongle ram size is set to 524288(orig 524288) at 0x0
[ 3554.838903] wifi_platform_get_mac_addr
[ 3554.838947] dhd_custom_get_mac_address Enter
[ 3554.838996] dhd_custom_get_mac_address wifi_mac=
[ 3554.842332] wl_create_event_handler(): thread:wl_event_handler:48f6 started
[ 3554.842386] tsk Enter, tsk = 0xca361430
[ 3554.846837] p2p0: P2P Interface Registered
[ 3554.847434] dhd_attach(): thread:dhd_watchdog_thread:48f7 started
[ 3554.847818] dhd_attach(): thread:dhd_dpc:48f8 started
[ 3554.848101] dhd_attach(): thread:dhd_rxf:48f9 started
[ 3554.848170] dhd_deferred_work_init: work queue initialized 
[ 3554.849269] dhd_custom_get_mac_address Enter
[ 3554.849327] dhd_custom_get_mac_address wifi_mac=
[ 3554.849376] Dongle Host Driver, version 1.201.34.2 (r491657)
[ 3554.849401] Compiled in drivers/net/wireless/bcmdhd on May 31 2016 at 18:59:58
[ 3554.857790] Register interface [wlan0]  MAC: 00:90:4c:11:22:33

[ 3554.857945] dhd_prot_ioctl : bus is down. we have nothing to do
[ 3554.858147] bcmsdh_oob_intr_unregister: Enter
[ 3554.858190] bcmsdh_oob_intr_unregister: irq is not registered
[ 3554.858249] dhd_txglom_enable: enable 0
[ 3554.858284] dhd_bus_devreset:  WLAN OFF DONE
[ 3554.858433] wifi_platform_set_power = 0
[ 3554.858470] ======== PULL WL_REG_ON LOW! ========
[ 3554.858508] [wifi_pm]: set wl_reg_on 0 !
[ 3554.858843] dhd_module_init: Exit err=0

それから後で:

 3582.385697] dhd_open: Enter eeb0f000

[ 3582.385725] Dongle Host Driver, version 1.201.34.2 (r491657)
[ 3582.385732] Compiled in drivers/net/wireless/bcmdhd on May 31 2016 at 18:59:58
[ 3582.385746] wl_android_wifi_on in 1
[ 3582.385757] wl_android_wifi_on in 2: g_wifi_on=0
[ 3582.385768] wifi_platform_set_power = 1
[ 3582.385777] ======== PULL WL_REG_ON HIGH! ========
[ 3582.385788] [wifi_pm]: set wl_reg_on 1 !
[ 3582.690095] sdio_reset_comm():
[ 3582.690121] [mmc]: sdc1 set ios: clk 50000000Hz bm PP pm ON vdd 3.3V width 4 timing SD-HS(SDR25) dt B
[ 3582.692314] [mmc]: sdc1 set ios: clk 50000000Hz bm PP pm ON vdd 3.3V width 4 timing SD-HS(SDR25) dt B
[ 3582.693424] [mmc]: sdc1 set ios: clk 150000Hz bm PP pm ON vdd 3.3V width 4 timing LEGACY(SDR12) dt B
[ 3582.694492] [mmc]: sdc1 set ios: clk 150000Hz bm PP pm ON vdd 3.3V width 4 timing LEGACY(SDR12) dt B
[ 3582.719356] mmc1: queuing unknown CIS tuple 0x80 (2 bytes)
[ 3582.723753] mmc1: queuing unknown CIS tuple 0x80 (3 bytes)
[ 3582.728098] mmc1: queuing unknown CIS tuple 0x80 (3 bytes)
[ 3582.736031] mmc1: queuing unknown CIS tuple 0x80 (7 bytes)
[ 3582.993042] [mmc]: sdc1 set ios: clk 150000Hz bm PP pm ON vdd 3.3V width 4 timing SD-HS(SDR25) dt B
[ 3582.993574] [mmc]: sdc1 set ios: clk 50000000Hz bm PP pm ON vdd 3.3V width 4 timing SD-HS(SDR25) dt B
[ 3582.994313] [mmc]: sdc1 set ios: clk 50000000Hz bm PP pm ON vdd 3.3V width 4 timing SD-HS(SDR25) dt B


[ 3582.995842] dhd_bus_devreset: == WLAN ON ==
[ 3582.996150] F1 signature read @0x18000000=0x1540a9a6
[ 3583.003433] F1 signature OK, socitype:0x1 chip:0xa9a6 rev:0x0 pkg:0x4
[ 3583.005948] DHD: dongle ram size is set to 524288(orig 524288) at 0x0
[ 3583.006979] dhd_conf_read_config: Ignore config file /lib/firmware/ap6212/config.txt
[ 3583.007056] dhd_conf_set_fw_name_by_chip: firmware_path=/lib/firmware/ap6212/fw_bcm43438a0.bin
[ 3583.007111] Final fw_path=/lib/firmware/ap6212/fw_bcm43438a0.bin
[ 3583.007153] Final nv_path=/lib/firmware/ap6212/nvram.txt
[ 3583.007191] Final conf_path=/lib/firmware/ap6212/config.txt
[ 3583.009955] dhdsdio_download_code_file: Open firmware file failed /lib/firmware/ap6212/fw_bcm43438a0.bin
[ 3583.010180] _dhdsdio_download_firmware: dongle image file download failed
[ 3583.010332] dhd_net_bus_devreset: dhd_bus_devreset: -35
[ 3583.010386] dhd_prot_ioctl : bus is down. we have nothing to do
[ 3583.010436] dhd_net_bus_devreset: dhd_bus_devreset: -35
[ 3583.010591] wifi_platform_set_power = 0
[ 3583.010630] ======== PULL WL_REG_ON LOW! ========
[ 3583.010671] [wifi_pm]: set wl_reg_on 0 !
[ 3583.010715] wl_android_wifi_on: Failed
[ 3583.010756] dhd_open : wl_android_wifi_on failed (-35)
[ 3583.010803] dhd_stop: Enter eeb0f000
[ 3583.010839] wl_android_wifi_off in 1
[ 3583.010876] wl_android_wifi_off in 2: g_wifi_on=0
[ 3583.010913] wl_android_wifi_off out
[ 3583.010946] dhd_stop: Exit
[ 3583.010992] dhd_open: Exit ret=-1
[ 3583.080833] dhd_ioctl_entry: Interface is down 
[ 3583.177057] dhd_ioctl_entry: Interface is down 
[ 3583.177092] dhd_ioctl_entry: Interface is down 
[ 3583.177108] dhd_ioctl_entry: Interface is down 
[ 3583.177127] dhd_ioctl_entry: Interface is down 
[ 3583.177145] dhd_ioctl_entry: Interface is down

関連情報