Armadilloフォーラム

Armadillo-IoT A6をルーターのように動かす

shimojo.takayuki

2024年5月13日 11時58分

初歩的な質問となりますが、首題の件についてご教示頂きたく。
下記のような構成にて、ひとまずGoogle Public DNSへ疎通確認をしたいと思っています。
 PC--(Ethernet)--Armadillo-IoT A6--(LTE-M)--インターネット

下記のブログやフォーラムを参照させて頂きながら対応しているのですが、PCからのpingが通すことが出来ずに困っております。
[Armadillo-IoT:ルーターとして使用してみた]
https://armadillo.atmark-techno.com/blog/615/1831
[Armadillo-IoT(G3):ルーターのように動かす(dnsmasqで実現)]
https://armadillo.atmark-techno.com/blog/615/6816
[Armadillo-IOT-A6有線LANからLTE経由で外部接続する方法]
https://armadillo.atmark-techno.com/forum/armadillo/12879

現状は、
 Armadillo-IoT A6--(LTE-M)--インターネット
においてはGoogle Public DNSにpingが通ることを確認しておりますので、A6の設定に問題があるかと考えておりますが、上記ブログに記載のnmcliコマンドがA6になかったりと対応に苦慮しております。A6の場合、どのように設定をすればルーターとして利用可能になるのかご教示頂けますと幸甚です。

コメント

at_mitsuhiro.yoshida

2024年5月13日 15時26分

吉田です。

> [Armadillo-IoT(G3):ルーターのように動かす(dnsmasqで実現)]
> https://armadillo.atmark-techno.com/blog/615/6816
をベースに

ブログ「2. 3G/LTEの設定」を
製品マニュアル「LTE の設定」に置き換え、
https://manual.atmark-techno.com/armadillo-iot-a6/armadillo-iota6_produ…

ブログ「3. 有線LANの設定」部分を
製品マニュアル「 固定IPアドレスに設定する」に置き換えるといかがでしょうか。
https://manual.atmark-techno.com/armadillo-iot-a6/armadillo-iota6_produ…

shimojo.takayuki

2024年5月13日 16時23分

ご回答ありがとうございます。

> [Armadillo-IoT(G3):ルーターのように動かす(dnsmasqで実現)]
> https://armadillo.atmark-techno.com/blog/615/6816
頂戴した助言を基に、改めて上記手順に従って設定をしているのですが、「2. 3G/LTEの設定」「3. 有線LANの設定」に出てくるnmcliコマンドがArmadillo-IoT A6にはなく、実行エラーが出ます。
「2. 3G/LTEの設定」「3. 有線LANの設定」の手順は必要でしょうか。
必要なようであれば、nmcliのインストール方法または代替の方法をご教示頂けると幸いです。

また、「6. ポートフォワードに設定」に御座います
 iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
を実行致しますと、下記エラーが発生致します。こちらの対処方法も合わせてご教示頂けますと幸いです。
 iptables v1.8.2 (nf_tables): Chain 'MASQUERADE' does not exist
 Try `iptables -h' or 'iptables --help' for more information.

shimojo.takayuki

2024年5月13日 16時40分

吉田様

追伸で御座います。
構成している
 PC--(Ethernet)--Armadillo-IoT A6--(LTE-M)--インターネット
につきまして、ひとまず
 PC--(Ethernet)--Armadillo-IoT A6
のpingが通るようにはなりました。
ですが、PCからGoogle Public DNSへのpingは変わらず不調のままです。
なお、Armadillo-IoT A6の/etc/network/interfacesの設定は以下の通りです。
 auto lo eth0
 iface lo inet loopback
 iface eth0 inet static
address 192.168.100.10
netmask 255.255.255.0
network 192.168.100.0
broadcast 192.168.100.255
gateway 192.168.100.1
また、PC側のTCP/IPv4の設定は、IPアドレス、DNSサーバー共に自動取得としております。

at_mitsuhiro.yoshida

2024年5月14日 9時59分

吉田です。

お手数おかけします、以下が追加で必要となります。

(1) iptables-legacy を選択する必要があります。

root@armadillo:~# update-alternatives --set iptables /usr/sbin/iptables-legacy

(2) Linux カーネルのコンフィグレーションに以下を追加する必要があります。

Networking support --->
  [*] Network packet filtering framework (Netfilter) --->
  IP: Netfilter Configuration --->
    [*] iptables NAT support --->
    [*] MASQUERADE target support

Linux カーネルのコンフィグレーション変更手順は製品マニュアルの以下を参照ください。
「イメージをカスタマイズする」
https://manual.atmark-techno.com/armadillo-iot-a6/armadillo-iota6_produ…

Linux カーネルのビルド方法と Armadillo への適用方法は製品マニュアルの以下を参照ください。
「Linux カーネルをビルドする」
https://manual.atmark-techno.com/armadillo-iot-a6/armadillo-iota6_produ…
「特定のイメージファイルだけを書き換える」
https://manual.atmark-techno.com/armadillo-iot-a6/armadillo-iota6_produ…

LTE の設定手順は nmcli を使用せずに製品マニュアルの以下を参照ください。
「LTE の設定」
https://manual.atmark-techno.com/armadillo-iot-a6/armadillo-iota6_produ…

shimojo.takayuki

2024年5月14日 13時08分

吉田様

ご返信頂きありがとうございます。

> 「イメージをカスタマイズする」
> https://manual.atmark-techno.com/armadillo-iot-a6/armadillo-iota6_produ…
上記手順に従い、
 make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- LOADADDR=0x82000000 uImage
を実行したところ、下記エラーが発生してしまいました。
  ./scripts/gen_initramfs_list.sh: Cannot open 'initramfs_a600.cpio.gz'
 make[1]: *** [usr/Makefile:60: usr/initramfs_data.cpio.gz] エラー 1
 make: *** [Makefile:1068: usr] エラー 2

initramfs アーカイブへのシンボリックリンク作成も行っているため、手順に誤りはないかと考えております。
お手数ですが、対処方法をご教示頂けますと幸甚です。
Linuxカーネルのソースコードアーカイブは以下のものを使用致しました。
https://armadillo.atmark-techno.com/resources/software/armadillo-iot-a6…

shimojo.takayuki

2024年5月14日 13時14分

吉田様
2024年5月14日 13時08分に投稿させて頂きました下記について、私のオペミスであることが判明いたしましたので、ご放念下さい。
引き続き、頂戴したご回答を基に対応してまいります。状況が変わり次第、改めてご報告させて頂きます。
> 吉田様
>
> ご返信頂きありがとうございます。
>
> > 「イメージをカスタマイズする」
> > https://manual.atmark-techno.com/armadillo-iot-a6/armadillo-iota6_produ…
> 上記手順に従い、
>  make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- LOADADDR=0x82000000 uImage
> を実行したところ、下記エラーが発生してしまいました。
>   ./scripts/gen_initramfs_list.sh: Cannot open 'initramfs_a600.cpio.gz'
>  make[1]: *** [usr/Makefile:60: usr/initramfs_data.cpio.gz] エラー 1
>  make: *** [Makefile:1068: usr] エラー 2
>
> initramfs アーカイブへのシンボリックリンク作成も行っているため、手順に誤りはないかと考えております。
> お手数ですが、対処方法をご教示頂けますと幸甚です。
> Linuxカーネルのソースコードアーカイブは以下のものを使用致しました。
> https://armadillo.atmark-techno.com/resources/software/armadillo-iot-a6…

at_mitsuhiro.yoshida

2024年5月14日 13時14分

initramfs 実体とシンボリックリンクの位置と名前が合っているかを確認ください。

atmark@atde8:~$ ls initramfs_a600-2.1.2.cpio.gz
initramfs_a600-2.1.2.cpio.gz
atmark@atde8:~$ cd linux-v4.14-at65/
atmark@atde8:~/linux-v4.14-at65$ ls -l initramfs_a600.cpio.gz
lrwxrwxrwx 1 atmark atmark 31  5月 14 09:14 initramfs_a600.cpio.gz -> ../initramfs_a600-2.1.2.cpio.gz

shimojo.takayuki

2024年5月14日 13時40分

> initramfs 実体とシンボリックリンクの位置と名前が合っているかを確認ください。
>
>

> atmark@atde8:~$ ls initramfs_a600-2.1.2.cpio.gz
> initramfs_a600-2.1.2.cpio.gz
> atmark@atde8:~$ cd linux-v4.14-at65/
> atmark@atde8:~/linux-v4.14-at65$ ls -l initramfs_a600.cpio.gz
> lrwxrwxrwx 1 atmark atmark 31  5月 14 09:14 initramfs_a600.cpio.gz -> ../initramfs_a600-2.1.2.cpio.gz
> 

私のオペミスにより、実体のないものをシンボリックリンクしてしまっておりました。
お忙しいところご面倒をお掛け致しました。
改めてシンボリックリンクを作成し直して無事にLinuxカーネルを作成出来たのですが、Linuxカーネルのみの書換えの場合、下記のどちらを利用すればよろしいのでしょうか。
 arch/arm/boot/uImage
 arch/arm/boot/dts/armadillo-iotg-a6.dtb

「12.2. 特定のイメージファイルだけを書き換える」の「表12.4 イメージファイルと書き込み先の対応」に記載されておりますファイル名より、uImageだけでよいかと思いつつ、「uImage-aiotg-a6-v4.14-at[version]」というファイル名になっておりますため、念のため確認をさせて頂きたく。
https://manual.atmark-techno.com/armadillo-iot-a6/armadillo-iota6_produ…

at_mitsuhiro.yoshida

2024年5月14日 15時16分

吉田です。

ビルドして生成されました uImage をコピーしてください。
uImage-aiotg-a6-v4.14-at[version] は Armadillo サイト上で提供しています標準イメージになります。

shimojo.takayuki

2024年5月14日 16時52分

吉田様

ご返答ありがとうございます。
作成したuImageのコピーも問題なく行え、
 PC--(Ethernet)--Armadillo-IoT A6--(LTE-M)--インターネット(8.8.8.8)
にてPCからインターネット(8.8.8.8)へひとまずpingが通るようになりました。
ご多忙のところご対応頂き、誠にありがとうございました。