Wifi with dhd on armbian 5.25 bananapim2p


thesign
 Share

1 1

Recommended Posts

Hi there,

Recently you helped me to setup a WiFI AP on Armbian and a bananapim2p board: https://forum.armbian.com/index.php/topic/2395-access-point-mode-with-ap6212-on-armbian-521/

 

The current problem I am facing: the dhd module on armbian 5.25 does not on my bananapim2p boards.

To be precise:
I have one bananapi m2p where the dhd module loads perfectly on armbian 5.25, I created an image of this board's emmc and flashed the emmc of two different m2p boards.

The dhd config file looks like:

cat /etc/modprobe.d$ cat /etc/modprobe.d/dhd.conf
options dhd op_mode=2 firmware_path=/lib/firmware/ap6212/fw_bcm43438a0_apsta.bin

With the modprobe configuration the m2p boards hang on boot (raising network interface ...) and boot perfectly if a remove the module configuration.

I am also not able to manually load the dhd module:
 

[  363.081480] dhd_wifi_platform_load: Enter
[  363.978718] dhd_conf_set_chiprev: chip=0xa9a6, chiprev=1
[  363.978999] dhd_conf_set_conf_path_by_nv_path: config_path=/lib/firmware/ap6212/config.txt
[  363.979090] dhd_conf_read_config: Ignore config file /lib/firmware/ap6212/config.txt
[  363.982876] dhd_attach(): thread:dhd_watchdog_thread:57e started
[  363.983230] dhd_attach(): thread:dhd_dpc:57f started
[  363.983286] dhd_dpc_thread: set dpc_cpucore 0 from config.txt
[  363.983559] dhd_attach(): thread:dhd_rxf:580 started
[  363.983637] dhd_deferred_work_init: work queue initialized 
[  363.984789] dhd_conf_read_config: Ignore config file /lib/firmware/ap6212/config.txt
[  363.984862] dhd_conf_set_fw_name_by_chip: firmware_path=/lib/firmware/ap6212/fw_bcm43438a1.bin
[  363.984915] dhdsdio_download_firmware: set use_rxchain 0
[  363.984952] dhdsdio_download_firmware: set txglomsize 40
[  363.987065] dhdsdio_download_code_file: Open firmware file failed /lib/firmware/ap6212/fw_bcm43438a1.bin
[  363.987123] _dhdsdio_download_firmware: dongle image file download failed
[  363.987251] dhd_bus_start: failed to download firmware /lib/firmware/ap6212/fw_bcm43438a1.bin
[  363.987300] dhdsdio_probe: dhd_bus_start failed
[  363.987413] dhd_wlfc_deinit():3301, Already disabled!
[  364.040146] dhd_detach(): thread:dhd_watchdog_thread:57e terminated OK
[  364.040219] dhd_detach(): thread:dhd_rxf:580 terminated OK
[  364.040240] dhd_dpc_thread: Unexpected up_cnt 0
[  364.040282] dhd_detach(): thread:dhd_dpc:57f terminated OK
[  364.080411] dhd_os_prealloc: failed to alloc memory, section: 7, size: 0bytes
[  376.080202] dhd_wifi_platform_load_sdio: sdio_register_driver timeout or error 
[  376.081002] dhd_module_init: Failed to load the driver, try cnt 0
[  376.081147] dhd_module_init: Failed to load driver max retry reached**
[  376.081189] dhd_module_init: Exit err=-62

Do you have any idea how I could further debug this issue?
It would be great if I could give back to the amazing armbian project, by helping to fix this issue - in case anybody else faces similar issues.

 

Link to post
Share on other sites

Armbian is a community driven open source project. Do you like to contribute your code?

Short update I managed to get the WiFi on the revised board running again.
Turns out there are firmware files for the revised AP6212 chip: https://github.com/BPI-SINOVOIP/BPI-files/tree/master/others/brcm/lib/firmware/ap6212

Once the firmwarefiles *1.* are copied to the firmware folder everything works again.

The only minor issue I still have to fix is that the wlan interface now is wlan1 instead of wlan0. Any suggestions on how to "correctly" name the wlan interface are appreciated.

Link to post
Share on other sites

Once the firmwarefiles *1.* are copied to the firmware folder everything works again.

 

Did you have to rename them then or was it already sufficient to simply copy them in there?

 

Regarding device node names: you could deal with udev rules or simply stop anachronistic config methods and use network-manager instead (nmtui or nmcli).

Link to post
Share on other sites

network manager is not an option - for my headless setup.

 

Huh? I always use NM headless. As suggested above simply use nmtui (NetworkManager Terminal UI) or nmcli (NetworkManager CLI). It's 2017 already, no need to edit static config files or deal with device node names any more.

 

A simple copy of the *a1 files was enough.

 

@Igor: What about adding those to Armbian firmware package then?

Link to post
Share on other sites

thanks @tkaiser for the nmtui/nmcli advice - will update my skills to 2017 ;)

 

Just for the record: The skill level to deal with nmtui is zero. It's the 'it just works' variant of dealing with Wi-Fi on Linux especially compared to the stupid and anachronistic methods every SBC tutorial on the net moronically repeats over and over again (wpa_supplicant, hostapd, udev rules and so on)

Link to post
Share on other sites

Guest
This topic is now closed to further replies.
 Share

1 1