備忘録
NCS v2.6.0 のサンプルアプリケーション ModemShell を使用して、
Ubuntu Desktop(LTS 22.04.1)から UART 経由で PPP 接続できるか実験してみた。
ModemShell
UARTが2ポート必要。
1つは ModemShell 用
1つは PPP 用
例えば、デフォルトで uart0 がコンソール用に設定されていて uart1 を ppp 用にするには、
zephyr,ppp-uart = &uart1;
を設定してあげる。
ボーレートは 1000000 にしてみた。
115200でも大丈夫だった。
ハードウエアフロー制御の指定は外しておいた。
/ {
chosen {
zephyr,ppp-uart = &uart1;
};
};
&uart1 {
status = "okay";
current-speed = <1000000>;
pinctrl-0 = <&uart1_default>;
pinctrl-1 = <&uart1_sleep>;
pinctrl-names = "default", "sleep";
};
&pinctrl {
uart1_default: uart1_default {
group1 {
psels = <NRF_PSEL(UART_TX, 0, 7)>,
<NRF_PSEL(UART_RX, 0, 5)>;
};
};
uart1_sleep: uart1_sleep {
group1 {
psels = <NRF_PSEL(UART_TX, 0, 7)>,
<NRF_PSEL(UART_RX, 0, 5)>;
low-power-enable;
};
};
};
prj.confに。overlay-pppを追記する。
デフォルトで uart0が ppp ようになっているので。
uart1 に変更する場合は。
CONFIG_UART_1_INTERRUPT_DRIVEN=n
CONFIG_UART_1_ASYNC=y
CONFIG_UART_1_NRF_HW_ASYNC=y
CONFIG_UART_1_NRF_HW_ASYNC_TIMER=1
のように0を1に変える必要がある。
PPP接続
nRF9160 の PPP UART 入出力は PPPの通信フレームが生で流れるので、PPPD の Modem操作関連の設定は不要となる。
(pppのインストール&設定の過程は省略)
nRF9160をUART接続して Ubuntuのコマンドライン上にて、pppd を起動する。
(PPP関連の詳細は他のサイトを参照してください)
接続したら、ping で疎通を確認して実験を終了。
以上、ご参考まで。