Commit 4d443a08 authored by Kumar Sanghvi's avatar Kumar Sanghvi Committed by David S. Miller
Browse files

Documentation: Update Phonet doc for Pipe Controller implementation

Updates the Phonet document with description related to Pipe controller
Signed-off-by: default avatarKumar Sanghvi <>
Acked-by: default avatarLinus Walleij <>
Signed-off-by: default avatarDavid S. Miller <>
parent 2ddaad39
......@@ -182,6 +182,59 @@ The pipe protocol provides two socket options at the SOL_PNPIPE level:
or zero if encapsulation is off.
Phonet Pipe-controller Implementation
Phonet Pipe-controller is enabled by selecting the CONFIG_PHONET_PIPECTRLR Kconfig
option. It is useful when communicating with those Nokia Modems which do not
implement Pipe controller in them e.g. Nokia Slim Modem used in ST-Ericsson
U8500 platform.
The implementation is based on the Data Connection Establishment Sequence
depicted in 'Nokia Wireless Modem API - Wireless_modem_user_guide.pdf'
It allows a phonet sequenced socket (host-pep) to initiate a Pipe connection
between itself and a remote pipe-end point (e.g. modem).
The implementation adds socket options at SOL_PNPIPE level:
It accepts an integer argument where-in
lower order 16 bits: pn_dev and pn_port pair for remote pep.
higher order 16 bits: 8 bit pipe-handle
It sends a PNS_PEP_CONNECT_REQ on sequenced socket itself. On getting
PNS_PEP_CONNECT_RESP, it sends PNS_PEP_CONNECT_REQ to remote pep. On
getting response from remote pep, it selects the best possible Flow
control mechanism supported by remote-pep (modem) and then it sends
PNS_PEP_CREATED_IND to the sequenced socket and to the remote pep.
It then updates the pipe state associated with the sequenced socket to
It follows the same sequence as above for enabling a pipe by sending
PNS_PEP_ENABLE_REQ initially and then sending PNS_PEP_ENABLED_IND after
getting responses from sequenced socket and remote-pep.
It will also update the pipe state associated with the sequenced socket
This will send out PNS_PEP_DISCONNECT_REQ on the sequenced socket and
the remote pep.
It will also update the pipe state associated with the sequenced socket
This getsocktopt allows the user-space running on the sequenced socket
to examine the pipe state associated with that socket ie. whether the
pipe is created (PIPE_DISABLED) or enabled (PIPE_ENABLED) or disabled
(PIPE_DISABLED) or no pipe exists (PIPE_IDLE).
After a pipe has been created and enabled successfully, the Pipe data can be
exchanged between the host-pep and remote-pep (modem).
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment