Skip to content

Commit e79f94a

Browse files
committed
doc: PPP sequence diagrams
Change PPP examples to SVG diagrams to show all channels. Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
1 parent 57123aa commit e79f94a

4 files changed

Lines changed: 782 additions & 34 deletions

File tree

doc/app/sm_cellular_modem.rst

Lines changed: 23 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -45,19 +45,13 @@ This also means that no more AT notifications are delivered over that UART while
4545
Example
4646
-------
4747

48-
Start PPP on the current UART:
48+
Switching UART from AT mode to PPP mode and back:
4949

50-
::
51-
52-
// Enable PPP.
53-
AT#XPPP=1
54-
OK
55-
56-
AT+CFUN=1
57-
OK
50+
.. figure:: ../images/ppp-uart-sequence.svg
51+
:alt: PPP session without CMUX.
52+
:align: center
5853

59-
#XPPP: 1,0,0
60-
// PPP is started, After this, the UART is in PPP data mode
54+
PPP session without CMUX.
6155

6256
PPP with CMUX
6357
=============
@@ -70,32 +64,14 @@ If you want PPP on DLC channel 1, start CMUX with ``AT#XCMUX=2`` before starting
7064
Example
7165
-------
7266

73-
Change the UART to CMUX mode.
74-
75-
::
76-
77-
AT#XCMUX=1
78-
OK
79-
80-
UART is now in multiplexing mode.
81-
Host should start the CMUX driver and initiate the handshake to establish the CMUX channels.
82-
83-
Next AT commands should be issued on DLC channel 1.
84-
Open the AT channel (DLC channel 1) on the host side and start PPP on the second CMUX channel (DLC channel 2):
67+
Start CMUX, then start PPP on DLC channel 2 while keeping AT on DLC channel 1:
8568

86-
::
69+
.. figure:: ../images/ppp-cmux-sequence.svg
70+
:alt: PPP session with CMUX showing split into DLC1 (AT) and DLC2 (PPP).
71+
:align: center
8772

88-
// Enable PPP
89-
AT#XPPP=1
90-
OK
73+
PPP session with CMUX.
9174

92-
AT+CFUN=1
93-
OK
94-
95-
// PPP is started on the second CMUX channel.
96-
#XPPP: 1,0,0
97-
98-
Now DLC channel 2 is in PPP data mode and accepting PPP LCP handshake, while DLC channel 1 is still available for AT commands.
9975

10076
Use case: Linux host
10177
********************
@@ -216,6 +192,19 @@ The controlling chip runs a Zephyr application, which uses Zephyr's native IP st
216192
* Power saving feature requires UART with DTR and RI pins connected between the controlling chip and the SiP.
217193
See :ref:`uart_configuration` for more information.
218194
* System mode is not configured. See the `%XSYSTEMMODE`_ command in the AT command Reference Guide for more details.
195+
* The Zephyr cellular modem driver is written with the expectation that the PPP session starts on the DLC channel used for AT commands, which is DLC channel 1 by default.
196+
197+
Example
198+
=======
199+
200+
The Zephyr modem driver requires the AT channel and PPP channel to be switched so that the PPP starts at DLC channel 1, while the AT channel is moved to DLC channel 2.
201+
This is achieved by starting CMUX with ``AT#XCMUX=2`` before the network is attached and starting the PPP.
202+
203+
.. figure:: ../images/ppp-zephyr-sequence.svg
204+
:alt: PPP session with CMUX showing Zephyr host control.
205+
:align: center
206+
207+
The Zephyr modem driver does extra DLC channel switching when starting the PPP session.
219208

220209
Configuration
221210
=============

doc/images/ppp-cmux-sequence.svg

Lines changed: 256 additions & 0 deletions
Loading

0 commit comments

Comments
 (0)