Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 214795
b: refs/heads/master
c: 4d443a0
h: refs/heads/master
i:
  214793: f6f07e7
  214791: 6ad6af4
v: v3
  • Loading branch information
Kumar Sanghvi authored and David S. Miller committed Sep 28, 2010
1 parent 0b5dfac commit f7c2716
Show file tree
Hide file tree
Showing 2 changed files with 54 additions and 1 deletion.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 2ddaad397c47de012dfb956b0c05540da1a0dde5
refs/heads/master: 4d443a085de2b6bcae5e0a773c63b8731ff27101
53 changes: 53 additions & 0 deletions trunk/Documentation/networking/phonet.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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'
document.

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:

PNPIPE_CREATE
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
be PIPE_DISABLED.

PNPIPE_ENABLE
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
to PIPE_ENABLED.

PNPIPE_DESTROY
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
to PIPE_IDLE

PNPIPE_INQ
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).

Authors
-------

Expand Down

0 comments on commit f7c2716

Please sign in to comment.