メインラインカーネルのバナナPI M2M(allwinner A33/R16) WiFIドライバ

メインラインカーネルのバナナPI M2M(allwinner A33/R16) WiFIドライバ

メインラインカーネルを使用してBanana PI M2MでWiFiを操作しようとしています。

バナナパイm2mのデバイスツリー定義は非常に不完全です。sun8i-r16-bananapi-m2m.dtsSPIが動作するように管理しましたが、今はWiFiドライバを動作させるのに苦労しています。

Banana Pie M2MはAP6212チップを使用し、一見するとBRCM4329チップを使用しています。

WL_PMU_ENAP6212はSDIO1、PL6接続、PL7接続を介してAllwinner A33に接続されています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パッケージを追加しました。また、/lib/firmware/brcmバナナパイの公式イメージ(カーネル3.4)から取得したファームウェアと設定をコピーしました。

この時点で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

私の推測は(実際には単なる推測にすぎません)、Wi-Fiチップを正しく目覚めさせるためのいくつかのステップがありません。しかし、ボードで測定してみると、さまざまなレールが正しいレベルにあるようです。

バナナパイ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に接続できるようになりました。

関連情報