主线内核中的 Banana PI M2M (allwinner A33/R16) WiFI 驱动程序

主线内核中的 Banana PI M2M (allwinner A33/R16) WiFI 驱动程序

我正在尝试使用主线内核让 WiFi 在 Banana PI M2M 上工作。

香蕉 pi m2m 的设备树定义非常不完整,sun8i-r16-bananapi-m2m.dts我成功地使 SPI 工作,但我现在正在努力让 WiFi 驱动程序正常工作。

香蕉派M2M采用的是AP6212芯片,从外观上看是采用的是BRCM4329芯片。

AP6212通过SDIO1连接到全志A33,PL6连接WL_PMU_EN,PL7连接WL-WAKE-AP。 (https://drive.google.com/file/d/0B4PAo2nW2KfndHY1VF9UWXl2Rm8/view?usp=sharing

我已经用以下内容修改了 dts:

&mmc1 {
        pinctrl-names = "default";
        pinctrl-0 = <&mmc1_pg_pins>;
        vmmc-supply = <&reg_aldo1>;
        mmc-pwrseq = <&wifi_pwrseq>;
        bus-width = <4>;
        non-removable;
        status = "okay";

        brcmf: wifi@1 {
                reg = <1>;
                compatible = "brcm,bcm4329-fmac";
                interrupt-parent = <&r_pio>;
                interrupts = <0 7 IRQ_TYPE_LEVEL_LOW>;  /* PL7 */
                interrupt-names = "host-wake";
        };
};

我已在内核 80211 中启用了 bcrm-fmac 驱动程序和 brcm-fmac-sdio。在 buildroot 中我添加了 wireless-regdb 包。我还从bananapi 官方映像(内核3.4)复制了/lib/firmware/brcm获取固件和配置。

此时我可以使用 modprobe 加载驱动程序,但遇到超时问题,不太确定从这里看哪里......

# modprobe brcmfmac
[   67.440758] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[   67.513578] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[   67.595615] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43430-sdio for chip BCM43430/1
# [   68.745996] brcmfmac: brcmf_sdio_htclk: HT Avail timeout (1000000): clkctl 0x50
[   69.767856] brcmfmac: brcmf_sdio_htclk: HT Avail timeout (1000000): clkctl 0x50

我的猜测(但这实际上只是猜测)是我缺少一些正确唤醒 wifi 芯片的步骤,但在板上测量,看起来不同的导轨处于正确的水平。

有没有人有机会在香蕉 pi m2m 上获得与不同驱动程序一起工作的最新内核?

感谢您的任何答案或提示!

答案1

我有同样的主板,也想使用主线 Linux。

我在 Banana pi m2m bsp 的 3.4 内核日志中找到了这一行:

[   14.519605] DHD: dongle ram size is set to 524288(orig 524288) at 0x0
[   14.535387] dhd_conf_read_others: ccode = CN
[   14.535623] dhd_conf_read_others: regrev = 0
[   14.535763] Final fw_path=/lib/firmware/ap6212/fw_bcm43438a1.bin
[   14.535959] Final nv_path=/lib/firmware/ap6212/nvram.txt

因此,复制/lib/firmware/ap6212/fw_bcm43438a1.bin/lib/firmware/brcm/brcmfmac43430-sdio.bin 并复制/lib/firmware/ap6212/nvram.txt/lib/firmware/brcm/brcmfmac43430-sdio.sinovoip,bananapi-m2m.txt 就可以了。

我现在已经可以使用 Wi-Fi 了。

相关内容