yuki.shigefuji
2024年3月5日 15時48分
お世話になっております。
表題の件で調査、検証をした際に上手くできなかったため相談させていただきたく存じます・
下記が、WiFiドングルをArmadilloで使用するための環境を構築するために行ったことです。
結果としてはうまくできませんでした。
このドングルをArmadilloで使用するために何を行ったらよいか、確認していただけませんでしょうか?
下記、行ったこととその結果です。
==========
Wifiドングル(BUFFALO WI-U3-1200AX2l)をArmadilloで使用するため、
rtl8852auのドライバをインストールしたい。
そのために、下記を試みた。
まず、ArmadilloのベースOS上でインストールを試みた。
・Armadilloに必要なものをインストール
make, gcc, git, linux-headersをapk addでインストール
・gitからソースを取得
git clone https://github.com/lwfinger/rtl8852au.git
・rtl8852auをmake
cd rtl8852au
make
しかし、結果としてはmakeする際、/lib/modules/にbuildディレクトリがなく、エラーとなる
buildディレクトリを手動で作成しても`No rule to make target 'modules'.`となる。
調べると、buildディレクトリは、linux headerへのシンボリックリンクとのことだが、
linux headerがうまくインストールされておらず、これもできない。
次に、ATDE上でクロスコンパイルを試みた。
しかし、ATDE上で上記のドライバのソースをmakeしようとしても、クロスコンパイラの指定ができない。
当然、通常通りにmakeするとx86_64向けのビルドになってしまう。
make時に`ARCH=aarch64`や`arm`を指定しても、x86_64向けにコンパイルされてしまう。
`CROSS_COMPILE=arm-linux-gnueabh-`を指定すると、エラーが発生してコンパイルできない。
==========
ご確認いただき何か補足等あればお願いいたします。
コメント
yuki.shigefuji
お世話になっております。
==========
ATDE上でドライバのビルドが完了し、Armadilloに入れて、
Armadilloでmodprobeで8852auをロードしました。
(その際、cfg82011が依存モジュールとなっているので、
これをロードしたうえで8852auをロードしております。)
lsmodで見てもこの2つのモジュールはロードされております。
ただし、これだけではWiFiドングルとしては認識されず、ストレージとして認識されるようでしたので、
usb_modeswitchを新たにインストールし、/etc/udev/rules.d/40-usb_modeswitch.rulesという
ファイルを作成し、下記のようなルールを記載しました。
ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="0bda", ATTR{idProduct}=="1a2b", RUN+="/sbin/modprobe 8852au", RUN+="/usr/sbin/usb_modeswitch '/%k'"
こうすることで、起動時にモジュールがロードされ、ドングルがストレージとしてではなくWiFiドングルとして
認識されるようになると思っておりました。
実際に、起動時にdmesgを確認すると、下記のような行があり、正常に動いているように見えます。
usbcore: registered new interface driver rtl8852au
しかし、実際には認識されていないようで、ifconfigなどでもWiFiアダプタの情報が出てきません。
ドングルを認識させるために、このほか必要な作業等ありますでしょうか。
ご確認よろしくお願いいたします。
> yuki.shigefujiさん
>
> お世話になっています、
> マルティネです。
>
>
> > まず、ArmadilloのベースOS上でインストールを試みた。
>
> 基本的に ATDE でビルドすることを推奨しています。
> 参考までに、Armadillo Base OS でビルドに必要なヘッダーファイルパッケージを用意していませんが、ソースディレクトリをダウンロードページからダウンロードして展開すればそれでも使えるはずです(このモジュールでは KSRC の変数を設定すれば使用されます)
>
> > 次に、ATDE上でクロスコンパイルを試みた。
> > しかし、ATDE上で上記のドライバのソースをmakeしようとしても、クロスコンパイラの指定ができない。
> > 当然、通常通りにmakeするとx86_64向けのビルドになってしまう。
> > make時に`ARCH=aarch64`や`arm`を指定しても、x86_64向けにコンパイルされてしまう。
>
> 分かりにくくてすみません。
> linux カーネルのビルドとおなじに ARCH=arm64 ですね:
> https://manual.atmark-techno.com/armadillo-iot-g4/armadillo-iotg-g4_pro…
>
> 去年福田さんが書いたブログの通りに rtl8852au のモジュールをビルドしてみて問題なさそうでしたので、以下の手順で試してみてください:
> https://armadillo.atmark-techno.com/blog/10899/14608
> (ARCH, CROSS_COMPILE と KSRC の三つの変数を設定してビルドできました)
>
> よろしくお願いします。
yuki.shigefuji
お世話になっております。
本件につきまして、見解又は意見を頂きたく存じます。
お手数ですがご確認よろしくお願いいたします。
> お世話になっております。
>
> ==========
> ATDE上でドライバのビルドが完了し、Armadilloに入れて、
> Armadilloでmodprobeで8852auをロードしました。
> (その際、cfg82011が依存モジュールとなっているので、
> これをロードしたうえで8852auをロードしております。)
> lsmodで見てもこの2つのモジュールはロードされております。
>
> ただし、これだけではWiFiドングルとしては認識されず、ストレージとして認識されるようでしたので、
> usb_modeswitchを新たにインストールし、/etc/udev/rules.d/40-usb_modeswitch.rulesという
> ファイルを作成し、下記のようなルールを記載しました。
> ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="0bda", ATTR{idProduct}=="1a2b", RUN+="/sbin/modprobe 8852au", RUN+="/usr/sbin/usb_modeswitch '/%k'"
>
> こうすることで、起動時にモジュールがロードされ、ドングルがストレージとしてではなくWiFiドングルとして
> 認識されるようになると思っておりました。
> 実際に、起動時にdmesgを確認すると、下記のような行があり、正常に動いているように見えます。
> usbcore: registered new interface driver rtl8852au
>
> しかし、実際には認識されていないようで、ifconfigなどでもWiFiアダプタの情報が出てきません。
>
> ドングルを認識させるために、このほか必要な作業等ありますでしょうか。
>
> ご確認よろしくお願いいたします。
>
>
> > yuki.shigefujiさん
> >
> > お世話になっています、
> > マルティネです。
> >
> >
> > > まず、ArmadilloのベースOS上でインストールを試みた。
> >
> > 基本的に ATDE でビルドすることを推奨しています。
> > 参考までに、Armadillo Base OS でビルドに必要なヘッダーファイルパッケージを用意していませんが、ソースディレクトリをダウンロードページからダウンロードして展開すればそれでも使えるはずです(このモジュールでは KSRC の変数を設定すれば使用されます)
> >
> > > 次に、ATDE上でクロスコンパイルを試みた。
> > > しかし、ATDE上で上記のドライバのソースをmakeしようとしても、クロスコンパイラの指定ができない。
> > > 当然、通常通りにmakeするとx86_64向けのビルドになってしまう。
> > > make時に`ARCH=aarch64`や`arm`を指定しても、x86_64向けにコンパイルされてしまう。
> >
> > 分かりにくくてすみません。
> > linux カーネルのビルドとおなじに ARCH=arm64 ですね:
> > https://manual.atmark-techno.com/armadillo-iot-g4/armadillo-iotg-g4_pro…
> >
> > 去年福田さんが書いたブログの通りに rtl8852au のモジュールをビルドしてみて問題なさそうでしたので、以下の手順で試してみてください:
> > https://armadillo.atmark-techno.com/blog/10899/14608
> > (ARCH, CROSS_COMPILE と KSRC の三つの変数を設定してビルドできました)
> >
> > よろしくお願いします。
at_takuma.fukuda
アットマークテクノの福田です。
先日のマルティネさんの投稿でも紹介いただいた下記のブログ記事では、
カーネルモジュールのビルドだけでなく、ビルドしたモジュールを読み込むための手順をご紹介しています。
https://armadillo.atmark-techno.com/blog/10899/14608
一度、この記事の手順に従って動作を確認してみていただけますでしょうか?
yuki.shigefuji
お世話になっております。
頂いた回答については、その通りに実行してみて、あとは実機に適用するだけなんですが
まっさらな状態になるので一旦保留にしております。
あともう一点確認なんですが、ずっと動かしていると、rc.logにログがたまり続けるんですが、
これはそもそも何のファイルなんでしょうか?
という疑問がありまして、宮里さんと相談したところアットマークに問い合わせてほしいとのことでした。
Armadillo上でpythonのプログラムを連続稼働させている際、
/run/openrc/rc.logがたまり続け、ディスクサイズ100%まで食いつぶしてしまう
現象が発生しております。
rc.logというファイルは何が記載されるのでしょうか。
また、ログがたまり続けないようにすることはできるのでしょうか。
> アットマークテクノの福田です。
>
> 先日のマルティネさんの投稿でも紹介いただいた下記のブログ記事では、
> カーネルモジュールのビルドだけでなく、ビルドしたモジュールを読み込むための手順をご紹介しています。
> https://armadillo.atmark-techno.com/blog/10899/14608
>
> 一度、この記事の手順に従って動作を確認してみていただけますでしょうか?
at_dominique.m…
yuki.shigefujiさん、
マルティネです。
先週の質問に返事しなくてすみませんでした、wifi を動かせたようでよかったです。
> あともう一点確認なんですが、ずっと動かしていると、rc.logにログがたまり続けるんですが、
> これはそもそも何のファイルなんでしょうか?
> という疑問がありまして、宮里さんと相談したところアットマークに問い合わせてほしいとのことでした。
rc.log は起動時のサービス開始のログを記載して、起動が完了したら /var/log/openrc.log にリネームされます。
まだ rc.log の状態で存在していますので、openrc が完了してないと判断しています(rc-status 等で確認すれば、何かのサービスがまだ「starting」になっているはずです)
(例えば、/etc/local.d の start ファイルでしたら、そのスクリプトが実行中の間に starting になります。長く実行する場合は &
等で background で実行する必要があります)
そのサービスを修正すればそれ以降の出力は /dev/null に redirect されますので、見えなくなります。
よろしくお願いします。
yuki.shigefuji
ご連絡いただきましてありがとうございます。
載せていただいたURLの通り、インストールイメージの作成まで行い、
作成したイメージをArmadilloのインストールいたしました。
なお、インストール時に下記URLにあるように、署名に失敗するという現象が
発生しました。
https://armadillo.atmark-techno.com/faq/swupdate-troubleshooting-abos
ですので、同記事の対策にあるように、initial_setup.swuを再インストールすることで、
initial_setup.swuをインストールしました。
インストールが完了したArmadilloを、再起動してドングルを認識させようとしましたが、
ドングルがいまだ認識しないようです。
正確には、デバイスは認識されていますが、CD-ROMとして認識されてしまうようです。
すべてATDE上で、ドングルのドライバインストールからイメージ作成まで手順の通りに
行ったと思っておりますが、何かこのほか手順等必要でしょうか。
> yuki.shigefujiさん、
>
> マルティネです。
> 先週の質問に返事しなくてすみませんでした、wifi を動かせたようでよかったです。
>
> > あともう一点確認なんですが、ずっと動かしていると、rc.logにログがたまり続けるんですが、
> > これはそもそも何のファイルなんでしょうか?
> > という疑問がありまして、宮里さんと相談したところアットマークに問い合わせてほしいとのことでした。
>
> rc.log は起動時のサービス開始のログを記載して、起動が完了したら /var/log/openrc.log にリネームされます。
> まだ rc.log の状態で存在していますので、openrc が完了してないと判断しています(rc-status 等で確認すれば、何かのサービスがまだ「starting」になっているはずです)
> (例えば、/etc/local.d の start ファイルでしたら、そのスクリプトが実行中の間に starting になります。長く実行する場合は &
等で background で実行する必要があります)
>
> そのサービスを修正すればそれ以降の出力は /dev/null に redirect されますので、見えなくなります。
>
> よろしくお願いします。
at_dominique.m…
> インストールが完了したArmadilloを、再起動してドングルを認識させようとしましたが、
> ドングルがいまだ認識しないようです。
> 正確には、デバイスは認識されていますが、CD-ROMとして認識されてしまうようです。
CD-ROM として認識されている場合は usb_modeswitch のコマンドが必要だと思いますので、
以前のメッセージの様に usb-modeswitch パッケージを追加して udev ルールを追加する必要がありそうですね。
以前の見落としていた回答で usb の modeswitch を行ってもドライバーがロードされてますが wlan のインターフェースが生成されてないということでしたので、もしかしたら同じかもしれませんがどのみち必要になりそうですね。
以下の2点を確認していただけますか?
* usb のデバイスIDは 0bda:1a2b だと思いますが、念のため lsusb コマンドの出力を提供していただけますか。
また、モジュールの alias を確認したいですので「modinfo 8852au」の出力もお願いします。
* modeswitch は独自にインストールしていただいても構いませんし、結果的にはコンテナなどで実行した方が更新しやすいと思いますが、確認のためは「usb-modeswitch-udev」パッケージをインストールするだけでプログラムも 0bda:1a2b向けの udev のルールも記載されますので「persist_file -a add usb-modeswitch-udev
」で一度インストールしていただいて再起動してみていただけますか。
(「persist_file -a」でパッケージをインストールできますが、ABOS を更新する場合になくなりますので動作確認できたらアップデート手順か別の方法を説明します)
以前の回答で udev ルールに modprobe を実行していましたが、それはあえて実行しない方がいいと思います。その再起動した状態で lsmod でモジュールがロードされているかどうかを確認し、ロードされた場合に「iw dev
」コマンドで wireless インターフェースの確認をお願いします。
よろしくお願いします
yuki.shigefuji
お世話になっております。
ご返信いただきありがとうございます。
下記の通り、確認いたしましたので、ご連絡いたします。
usbのデバイスIDは下記の通りで、0bda:1a2b となっております。
armadillo:~# lsusb Bus 003 Device 001: ID 1d6b:0002 Bus 001 Device 001: ID 1d6b:0002 Bus 003 Device 003: ID 2c7c:0125 Bus 001 Device 002: ID 0bda:1a2b Bus 004 Device 001: ID 1d6b:0003 Bus 002 Device 001: ID 1d6b:0003 Bus 003 Device 002: ID 0424:2422
また、modinfo 8852au の出力は下記のとおりです。
armadillo:~# modinfo 8852au filename: /lib/modules/5.10.178-0-at/kernel/drivers/net/wireless/realtek/rtw89/8852au.ko author: Realtek Semiconductor Corp. description: Realtek Wireless Lan Driver license: GPL parm: rtw_scan_interval_thr:Threshold used to judge if scan request comes from scan UI, unit is ms. parm: rtw_decrypt_phy_file:Enable Decrypt PHY File parm: rtw_load_phy_file:PHY File Bit Map parm: rtw_phy_file_path:The path of phy parameter parm: rtw_target_tx_pwr_5g_d:5G target tx power (unit:dBm) of RF path D for each rate section, should match the real calibrate power, -1: undefined parm: rtw_target_tx_pwr_5g_c:5G target tx power (unit:dBm) of RF path C for each rate section, should match the real calibrate power, -1: undefined parm: rtw_target_tx_pwr_5g_b:5G target tx power (unit:dBm) of RF path B for each rate section, should match the real calibrate power, -1: undefined parm: rtw_target_tx_pwr_5g_a:5G target tx power (unit:dBm) of RF path A for each rate section, should match the real calibrate power, -1: undefined parm: rtw_target_tx_pwr_2g_d:2.4G target tx power (unit:dBm) of RF path D for each rate section, should match the real calibrate power, -1: undefined parm: rtw_target_tx_pwr_2g_c:2.4G target tx power (unit:dBm) of RF path C for each rate section, should match the real calibrate power, -1: undefined parm: rtw_target_tx_pwr_2g_b:2.4G target tx power (unit:dBm) of RF path B for each rate section, should match the real calibrate power, -1: undefined parm: rtw_target_tx_pwr_2g_a:2.4G target tx power (unit:dBm) of RF path A for each rate section, should match the real calibrate power, -1: undefined parm: rtw_tx_pwr_lmt_enable:0:Disable, 1:Enable, 2: Depend on efuse parm: rtw_tx_pwr_by_rate:0:Disable, 1:Enable, 2: Depend on efuse parm: rtw_pll_ref_clk_sel:force pll_ref_clk_sel, 0xF:use autoload value parm: rtw_rxgain_offset_5gm:default RF Gain 5GL Offset value:0 parm: rtw_rxgain_offset_5gm:default RF Gain 5GM Offset value:0 parm: rtw_rxgain_offset_5gl:default RF Gain 5GL Offset value:0 parm: rtw_rxgain_offset_2g:default RF Gain 2G Offset value:0 parm: rtw_FileMaskEfuse:default drv Mask Efuse value:0 parm: rtw_OffEfuseMask:default open Efuse Mask value:0 parm: rtw_TxBBSwing_5G:default init value:0xFF parm: rtw_TxBBSwing_2G:default init value:0xFF parm: rtw_GLNA_type:default init value:0 parm: rtw_powertracking_type:default init value:64 parm: rtw_dbcc_en:0:Disable, 1:Enable DBCC parm: rtw_rfe_type:default init value:64 parm: rtw_amplifier_type_5g:BIT6:5G ext-PA, BIT7:5G ext-LNA parm: rtw_amplifier_type_2g:BIT3:2G ext-PA, BIT4:2G ext-LNA parm: rtw_amsdu_mode:0:non-spp, 1:spp, 2:all drop parm: rtw_dfs_region_domain:0:UNKNOWN, 1:FCC, 2:MKK, 3:ETSI parm: rtw_adaptivity_th_edcca_hl_diff:th_edcca_hl_diff for Adaptivity parm: rtw_adaptivity_th_l2h_ini:th_l2h_ini for Adaptivity parm: rtw_adaptivity_mode:0:normal, 1:carrier sense parm: rtw_adaptivity_en:0:disable, 1:enable parm: rtw_hiq_filter:0:allow all, 1:allow special, 2:deny all parm: rtw_max_roaming_times:The max roaming times to try parm: if2name:The default name to allocate for second interface parm: ifname:The default name to allocate for first interface parm: rtw_excl_chs:exclusive channel array parm: rtw_channel_plan:The default chplan ID when rtw_alpha2 is not specified or valid parm: rtw_country_code:The default country code (in alpha2) parm: rtw_vht_rx_mcs_map:VHT RX MCS map parm: rtw_rx_ampdu_sz_limit_4ss:RX AMPDU size limit for 4SS link of each BW, 0xFF: no limitation parm: rtw_rx_ampdu_sz_limit_3ss:RX AMPDU size limit for 3SS link of each BW, 0xFF: no limitation parm: rtw_rx_ampdu_sz_limit_2ss:RX AMPDU size limit for 2SS link of each BW, 0xFF: no limitation parm: rtw_rx_ampdu_sz_limit_1ss:RX AMPDU size limit for 1SS link of each BW, 0xFF: no limitation parm: rtw_tx_bw_mode:The max tx bw for 2.4G and 5G. format is the same as rtw_bw_mode parm: rtw_lps_level:The default LPS level parm: rtw_ips_mode:The default IPS mode version: v1.15.0.1-0-g487ee886.20210714 alias: usb:v056Ep4020d*dc*dsc*dp*icFFiscFFipFFin* alias: usb:v2357p0141d*dc*dsc*dp*icFFiscFFipFFin* alias: usb:v2357p0140d*dc*dsc*dp*icFFiscFFipFFin* alias: usb:v2357p013Fd*dc*dsc*dp*icFFiscFFipFFin* alias: usb:v2001p3321d*dc*dsc*dp*icFFiscFFipFFin* alias: usb:v2001p0141d*dc*dsc*dp*icFFiscFFipFFin* alias: usb:v0411p0312d*dc*dsc*dp*icFFiscFFipFFin* alias: usb:v0B05p1A62d*dc*dsc*dp*icFFiscFFipFFin* alias: usb:v0B05p1997d*dc*dsc*dp*icFFiscFFipFFin* alias: usb:v0BDAp885Cd*dc*dsc*dp*icFFiscFFipFFin* alias: usb:v0BDAp885Ad*dc*dsc*dp*icFFiscFFipFFin* alias: usb:v0BDAp8832d*dc*dsc*dp*icFFiscFFipFFin* srcversion: EDF4A7954BA2A7E896AF6F2 depends: cfg80211 vermagic: 5.10.178 SMP preempt mod_unload modversions aarch64
また、persist_file -a add で、 usb-modeswitch-udevをインストールし、再起動しました。
すると、modeswitchされたようで、lsusbの結果が下記のように変化しておりました。
(0bda:1a2b が 0411:038a になっている。)
armadillo:~# lsusb Bus 003 Device 001: ID 1d6b:0002 Bus 001 Device 001: ID 1d6b:0002 Bus 003 Device 003: ID 2c7c:0125 Bus 001 Device 003: ID 0411:038a Bus 004 Device 001: ID 1d6b:0003 Bus 002 Device 001: ID 1d6b:0003 Bus 003 Device 002: ID 0424:2422
また、dmesgをみても、CD-ROMとしての認識ではなくなったようです。
[ 28.927983] usb 1-1: new high-speed USB device number 2 using xhci-hcd [ 29.077231] usb-storage 1-1:1.0: USB Mass Storage device detected [ 29.078521] scsi host0: usb-storage 1-1:1.0 [ 29.726249] usb 1-1: USB disconnect, device number 2 [ 30.503974] usb 1-1: new high-speed USB device number 3 using xhci-hcd
ただし、それでもWiFiドングルとしては認識されておらず、
ifconfigにも出現しませんし、iw dev でも何も出力されません。
なお、以前の回答にありました、/etc/udev/rules.d/40-usb_modeswitch.rules は
削除して行っております。
上記の情報から、考えられる手立てはありますでしょうか。
お手数ですが、よろしくお願いいたします。
at_dominique.m…
yuki.shigefujiさん、
ご返事ありがとうございます、
マルティネです。
結論から言うと、rtl8852au のドライバーはまだこのデバイスをサポートしていない様ですので、対応は難しいと考えています。
ドライバを強制的に使わせることで動くかもしれませんが、それでダメでしたらこちらにできることはありません。
以下回答の詳細です。
> modinfo 8852au の出力は下記のとおりです。
>
> armadillo:~# modinfo 8852au > [...] > alias: usb:v056Ep4020d*dc*dsc*dp*icFFiscFFipFFin* > alias: usb:v2357p0141d*dc*dsc*dp*icFFiscFFipFFin* > [省略] > alias: usb:v0411p0312d*dc*dsc*dp*icFFiscFFipFFin*
この alias のリストはサポートされているリストになりますので、buffalo の 0411 でしたら 0312 のidしか対応されてません。
github の issues 等も確認してみたが、この 038a について何も情報がないので何ともない状態ですので、あまり期待できないと考えています。
0312 の id を調べたところ、 BUFFALO WI-U3-1200AX2(/N) だそうですので、yuki.shigefujiさんが使用している BUFFALO WI-U3-1200AX2l の名前がすごく近いです。
保証は全くありませんが、もしかしたら id だけを追加すればこのまま動くかもしれません。
rtl8852au のディレクトリに以下の変更を加えてドライバを更新してみてください
(前の行をコピーして id を変更しただけです)
diff --git a/os_dep/linux/usb_intf.c b/os_dep/linux/usb_intf.c index 4b32cde99238..9c58ae83adb6 100755 --- a/os_dep/linux/usb_intf.c +++ b/os_dep/linux/usb_intf.c @@ -157,6 +157,7 @@ static struct usb_device_id rtw_usb_id_tbl[] = { /*=== BUFFALO WI-U3-1200AX2(/N) =======*/ {USB_DEVICE_AND_INTERFACE_INFO(USB_VENDOR_ID_BUFFALO, 0x0312, 0xff, 0xff, 0xff), .driver_info = RTL8852A}, + {USB_DEVICE_AND_INTERFACE_INFO(USB_VENDOR_ID_BUFFALO, 0x038a, 0xff, 0xff, 0xff), .driver_info = RTL8852A}, /*=== D-Link DWA-X1850 ====*/ {USB_DEVICE_AND_INTERFACE_INFO(USB_VENDOR_ID_DLINK, 0x0141, 0xff, 0xff, 0xff), .driver_info = RTL8852A},
> なお、以前の回答にありました、/etc/udev/rules.d/40-usb_modeswitch.rules は
> 削除して行っております。
はい、usb-modeswitch-udev パッケージに入ってますのでそれでいいです。
よろしくお願いします。
yuki.shigefuji
お世話になっております。
ご連絡ありがとうございます。
rtl8852au のドライバーはまだこのデバイスをサポートしておらず、
対応が難しいとのことで、別のWiFiドングル(CD-ROM機能がないと思われるもの)で、
再度同じ手順でインストールを行ったところ、無事インストールすることができました。
今回使用したものは下記になります。
・Wi-Fiドングル:TP-Link Archer T2U Nano
・ドライバ:rtl8812au(https://github.com/aircrack-ng/rtl8812au)
上記で、ArmadilloにてWiFi接続できることが確認できました。
ご対応いただきましてありがとうございました。
at_dominique.m…
2024年3月6日 8時16分
yuki.shigefujiさん
お世話になっています、
マルティネです。
> まず、ArmadilloのベースOS上でインストールを試みた。
基本的に ATDE でビルドすることを推奨しています。
参考までに、Armadillo Base OS でビルドに必要なヘッダーファイルパッケージを用意していませんが、ソースディレクトリをダウンロードページからダウンロードして展開すればそれでも使えるはずです(このモジュールでは KSRC の変数を設定すれば使用されます)
> 次に、ATDE上でクロスコンパイルを試みた。
> しかし、ATDE上で上記のドライバのソースをmakeしようとしても、クロスコンパイラの指定ができない。
> 当然、通常通りにmakeするとx86_64向けのビルドになってしまう。
> make時に`ARCH=aarch64`や`arm`を指定しても、x86_64向けにコンパイルされてしまう。
分かりにくくてすみません。
linux カーネルのビルドとおなじに ARCH=arm64 ですね:
https://manual.atmark-techno.com/armadillo-iot-g4/armadillo-iotg-g4_pro…
去年福田さんが書いたブログの通りに rtl8852au のモジュールをビルドしてみて問題なさそうでしたので、以下の手順で試してみてください:
https://armadillo.atmark-techno.com/blog/10899/14608
(ARCH, CROSS_COMPILE と KSRC の三つの変数を設定してビルドできました)
よろしくお願いします。