● Armadillo-X1向けWPEB-265AXI(BT) [B33]先行評価マニュアル ● 目次 1. はじめに 2. ソフトウェア構成 2.1. ブートローダー(U-Boot) 2.2. initramfs アーカイブ 2.3. Linux カーネル 2.4. ユーザーランド 3. 動作確認手順 4. ビルド手順 5. 開発済み環境のアップデート手順 6. SISOへの変更手順 7. 既知の不具合 1. はじめに 本書では、Armadillo-X1でSparkLAN社製WLAN+BT コンボモジュール WPEB-265AXI(BT) [B33]の先行評価を行うにあたり、必要な情報を記載しま す。 本リリースに含まれるソフトウェアは以下のURLより取得できます。 - https://download.atmark-techno.com/misc/wlan_ax_rc/x1/ 2. ソフトウェア構成 WPEB-265AXI(BT) [B33]を利用する為に必要なソフトウェア構成を記載しま す。Armadillo サイト(http://armadillo.atmark-techno.com)で公開して いるVoxMicro社製AEH-AR9462対応ソフトウェアとの差分についても記載し ます。 本リリースに含まれるソフトウェアを利用して、VoxMicro社製AEH-AR9462 を利用することも可能です。 次のソフトウェア(および開発環境)については、本リリースには含まれません。 - インストールディスクイメージ - リカバリーイメージ - ATDE(6/7/8) 2.1. ブートローダー(U-Boot) 変更が不要です。現在ご利用のブートローダーをそのままご利用いただけます。 2.2. initramfs アーカイブ 変更が不要です。現在ご利用のinitramfs アーカイブをそのまま利用いただけます。 2.3. Linux カーネル 変更が必要です。次のバージョンをご利用ください。 - Linux 3.14をご利用の場合: v3.14-x1-at24-rc1 - Linux 4.9をご利用の場合 : v4.9-x1-at26-rc1 Linux 3.14の各種ファイル名は次の通りです。 - ソースファイル: linux-3.14-x1-at24-rc1.tar.xz - Linuxカーネルイメージファイル: uImage-x1-v24.00_rc1 - DTB: armadillo_x1-v24.00-rc1.dtb - v3.14-x1-at23からのパッチ: linux-3.14-x1_wlan_ac_rc1.patch Linux 4.9の各種ファイル名は次の通りです。 - ソースファイル: linux-4.9-x1-at26-rc1.tar.xz - Linuxカーネルイメージファイル: uImage-x1-v4.9-at26-rc1 - DTB: armadillo_x1-v4.9-at26-rc1.dtb - v4.9-x1-at25からのパッチ: linux-4.9-x1_wlan_ac_rc1.patch Linux 3.14に対する変更内容は次の通りです。 - WPEB-265AXI(BT) [B33]を検出できないPCIeドライバの修正 - WLANドライバ(bcmdhd)のアップデート - WPEB-265AXI(BT) [B33]のWLAN/BTドライバをデフォルトコンフィギュ レーションに追加 - WPEB-265AXI(BT) [B33]のWLANファームウェアを追加 Linux 4.9に対する変更内容は次の通りです。 - WLANドライバ(bcmdhd)のアップデート - WPEB-265AXI(BT) [B33]のWLAN/BTドライバをデフォルトコンフィギュ レーションに追加 - WPEB-265AXI(BT) [B33]のWLANファームウェアを追加 - WPEB-265AXI(BT) [B33]のBTドライバの不具合修正 2.4. ユーザーランド 変更が必要です。次のバージョンをご利用ください。 - Debian 8(jessie)ご利用の場合 : v20221118_rc1 - Debian 9(stretch)をご利用の場合 : v20221118_rc1 - Debian 10(buster)をご利用の場合 : v20221118_rc1 Debian 8(jessie)の各種ファイル名は次の通りです。 - ルートファイルシステム (gzip圧縮アーカイブファイル): debian-jessie-armhf_ax1_20221118_rc1.tar.gz - ルートファイルシステム 構築ツール: x1-debian-builder-v1.3.0.tar.gz Debian 9(stretch)の各種ファイル名は次の通りです。 - ルートファイルシステム (gzip圧縮アーカイブファイル): debian-stretch-armhf_ax1_20221118_rc1.tar.gz - ルートファイルシステム 構築ツール: at-debian-builder-v1.8.0.tar.gz Debian 10(buster)の各種ファイル名は次の通りです。 - ルートファイルシステム (gzip圧縮アーカイブファイル): debian-buster-armhf_ax1_20221118_rc1.tar.gz - ルートファイルシステム 構築ツール: at-debian-builder-v2.4.0.tar.gz ユーザーランドに対する変更内容は次の通りです。 - WPEB-265AXI(BT) [B33]のBTファームウェアを追加(firmware-bcmdhd-bt) - WPEB-265AXI(BT) [B33]のBT初期化用アプリケーションを追加(brcm-patchram-plus) - WPEB-265AXI(BT) [B33]のWLAN初期化高速化の為、rng-toolsを追加 ※変更内容はDebianバージョンによらず共通です。 2.5. ATDE 本リリースには含まれませんが、Linux カーネルをビルドする為にパッ ケージの追加が必要です。次のようにコマンドを入力して、 WPEB-265AXI(BT) [B33]のWLANファームウェアを追加してください。 [atde]$ sudo apt update [atde]$ sudo apt install firmware-bcmdhd 3. 動作確認手順 WPEB-265AXI(BT) [B33]を利用する為に、各種イメージファイルを用いて動 作確認を行う手順を記載します。 3.1. イメージファイルの書き換え 次のイメージファイルを書き換えます。 - Linux カーネルイメージ - DTB - ルートファイルシステム 書き換え手順に変更はありません。ご利用の環境に応じた以下いずれか のドキュメントをご参照ください。各ファイル名については、「2. ソフ トウェア構成」をご参照ください。 [Armadillo-X1 製品マニュアル(Linux 3.14対応)] https://manual.atmark-techno.com/armadillo-x1/armadillo-x1_product_manual_ja-1.7.2/ch11.html#sct.update_image_simply [Armadillo-X1 製品マニュアル (Debian GNU/Linux 9 対応)] https://manual.atmark-techno.com/armadillo-x1/armadillo-x1_product_manual_ja-2.3.2/ch11.html#sct.update_image_simply [Armadillo-X1 製品マニュアル (Debian GNU/Linux 10 対応)] https://manual.atmark-techno.com/armadillo-x1/armadillo-x1_product_manual_ja-3.2.2/ch11.html#sct.update_image_simply 3.2. 動作確認 イメージファイルを書き換えた後に再起動します。 次のように、ネットワークデバイスwlan0が存在する場合はWLANが正しく 動作しています。MACアドレスのOUI(上位3オクテット)が "00:0e:8e"(SparkLAN Communications, Inc.)になっていることを確認し てください。 [armadillo]# ip addr show dev wlan0 10: wlan0: mtu 1500 qdisc pfifo_fast state DORMANT group default qlen 1000 link/ether 00:0e:8e:XX:XX:XX brd ff:ff:ff:ff:ff:ff また、次のように、HCIインターフェースhci0が存在する場合はBTが正し く動作しています。BDアドレスが、WLANのMACアドレス+1になっているこ とを確認してください。 [armadillo]# hciconfig hci0: Type: BR/EDR Bus: UART BD Address: 00:0E:8E:XX:XX:XXX ACL MTU: 1021:8 SCO MTU: 64:1 UP RUNNING RX bytes:750 acl:0 sco:0 events:44 errors:0 TX bytes:1508 acl:0 sco:0 commands:44 errors:0 4. ビルド手順 Linuxカーネルのソースファイルをビルドする手順を記載します。 4.1. 開発環境の準備 「2.5. ATDE」をご参照の上、ご利用のATDEにWPEB-265AXI(BT) [B33]の WLANファームウェアを追加してください。 4.2. 本リリースに含まれるLinuxカーネルのビルド ビルド手順に変更はありません。ご利用の環境に応じた以下いずれかの ドキュメントをご参照ください。各ソースファイルファイル名について は、「2. ソフトウェア構成」をご参照ください。 [Armadillo-X1 製品マニュアル(Linux 3.14対応)] https://manual.atmark-techno.com/armadillo-x1/armadillo-x1_product_manual_ja-1.7.2/ch10.html#sct.build-linux [Armadillo-X1 製品マニュアル (Debian GNU/Linux 9 対応)] https://manual.atmark-techno.com/armadillo-x1/armadillo-x1_product_manual_ja-2.3.2/ch10.html#sct.build-linux [Armadillo-X1 製品マニュアル (Debian GNU/Linux 10 対応)] https://manual.atmark-techno.com/armadillo-x1/armadillo-x1_product_manual_ja-3.2.2/ch10.html#sct.build-linux 5. 開発済み環境のアップデート手順 すでに開発済みの環境をアップデートする手順を記載します。 5.1. パッチを利用したLinuxカーネルのビルド すでに開発済みのソースコードをお持ちの場合は、本リリースに含まれ るパッチを適用してWPEB-265AXI(BT) [B33]に対応させることができます。 まず、開発済みソースコードのディレクトリに移動します。 [atde ~]$ cd linux/ [atde ~/linux/]$ cd linux/ パッチを適用します。ご利用のLinuxカーネルバージョンに応じたパッチ をご利用ください。各パッチファイル名については、「2. ソフトウェア 構成」をご参照ください。次の例では、linux-3.14-x1にパッチを適用し ています。 [atde ~/linux/]$ patch -p 1 < [path-to]/linux-3.14-x1_wlan_ac_rc1.patch Linuxカーネルコンフィギュレーションをカスタマイズしている場合は、 デフォルトコンフィギュレーションを適用することができません。その 為、次のようにコンフィギュレーションの変更を行ってください。 [atde ~/linux/]$ make ARCH=arm menuconfig Device Drivers ---> [*] Network device support ---> [*] Wireless LAN ---> <*> Broadcom FullMAC wireless cards support (bcmdhd/fw_bcm43752a2_pcie_ag_apsta.bin) Firmware path (bcmdhd/nvram_ap6275p_mp.txt) NVRAM path Enable Chip Interface (PCIe bus interface support) ---> [*] USB support ---> <*> USB Serial Converter support ---> <*> USB CP210x family of UART Bridge Controllers ビルド手順に変更はありません。ご利用の環境に応じた以下いずれかの ドキュメントをご参照ください。 [Armadillo-X1 製品マニュアル(Linux 3.14対応)] https://manual.atmark-techno.com/armadillo-x1/armadillo-x1_product_manual_ja-1.7.2/ch10.html#sct.build-linux [Armadillo-X1 製品マニュアル (Debian GNU/Linux 9 対応)] https://manual.atmark-techno.com/armadillo-x1/armadillo-x1_product_manual_ja-2.3.2/ch10.html#sct.build-linux [Armadillo-X1 製品マニュアル (Debian GNU/Linux 10 対応)] https://manual.atmark-techno.com/armadillo-x1/armadillo-x1_product_manual_ja-3.2.2/ch10.html#sct.build-linux 5.2. ユーザーランドのアップデート WPEB-265AXI(BT) [B33]を利用する為に、Armadilloにいくつかのパッケー ジをインストールする必要があります。次のようにコマンドを入力して ください。 [armadillo]# apt update [armadillo]# apt install brcm-patchram-plus rng-tools 6. SISOへの変更手順 WPEB-265AXI(BT) [B33]のWLANをSISO(単一アンテナ)で利用する手順を記載 します。SISOへの変更は、ファームウェア(nvram_ap6275p_mp.txt)の変更 のみで対応できます。 SISO対応ファームウェアは以下より取得可能です。 https://download.atmark-techno.com/misc/wlan_ax_rc/g3/image/nvram_ap6275p_mp.txt ATDEの"/lib/firmware/bcmdhd/"に配置しているファームウェアがLinuxカー ネルイメージファイルに取り込まれます。Linuxカーネルのビルド前にファー ムウェアを差し替えます。次のようにコマンドを入力してください。 [atde]$ sudo cp nvram_ap6275p_mp.txt /lib/firmware/bcmdhd/ 以上でATDEの設定は完了です。このATDEでビルドしたLinuxカーネルイメー ジファイルで起動するとSISOで利用できます。 SISO利用時に利用されるアンテナは"ANT1"です。 ANT2 ANT1 +-----------------------+ | o o | | | | | | | | | | | | | +-+ +-+ +-+ +---+ +-------------+ 7. 既知の不具合 現在判明している不具合です。今後のアップデートで修正予定です。 - linux-4.9-x1利用時に、"iw reg"コマンドを利用したワイヤレス規制ドメインの設定/参照ができません - create-apに修正が必要です ワイヤレス規制ドメインの設定は、暫定対策として次のように行うことが できます。次の例では"JP"(0x4a 0x50)を設定しています。 [armadillo]# echo -ne '\x06\x00\x04\x00\x4a\x50' | iw dev wlan0 vendor send 0x001A11 0x100e - create-apは、暫定対策として次のように修正すると利用が可能になります。 --- /usr/bin/create_ap_wlan.orig +++ /usr/bin/create_ap_wlan @@ -250,16 +250,8 @@ get_phy_device() { local x for x in /sys/class/ieee80211/*; do [[ ! -e "$x" ]] && continue - if [[ "${x##*/}" = "$1" ]]; then - echo $1 - return 0 - elif [[ -e "$x/device/net/$1" ]]; then - echo ${x##*/} - return 0 - elif [[ -e "$x/device/net:$1" ]]; then - echo ${x##*/} - return 0 - fi + echo "${x##*/}" + return 0 done echo "Failed to get phy interface" >&2 return 1