diff options
Diffstat (limited to 'Documentation/networking/caif/README')
-rw-r--r-- | Documentation/networking/caif/README | 109 |
1 files changed, 0 insertions, 109 deletions
diff --git a/Documentation/networking/caif/README b/Documentation/networking/caif/README deleted file mode 100644 index 757ccfaa1385..000000000000 --- a/Documentation/networking/caif/README +++ /dev/null @@ -1,109 +0,0 @@ -Copyright (C) ST-Ericsson AB 2010 -Author: Sjur Brendeland/ sjur.brandeland@stericsson.com -License terms: GNU General Public License (GPL) version 2 ---------------------------------------------------------- - -=== Start === -If you have compiled CAIF for modules do: - -$modprobe crc_ccitt -$modprobe caif -$modprobe caif_socket -$modprobe chnl_net - - -=== Preparing the setup with a STE modem === - -If you are working on integration of CAIF you should make sure -that the kernel is built with module support. - -There are some things that need to be tweaked to get the host TTY correctly -set up to talk to the modem. -Since the CAIF stack is running in the kernel and we want to use the existing -TTY, we are installing our physical serial driver as a line discipline above -the TTY device. - -To achieve this we need to install the N_CAIF ldisc from user space. -The benefit is that we can hook up to any TTY. - -The use of Start-of-frame-extension (STX) must also be set as -module parameter "ser_use_stx". - -Normally Frame Checksum is always used on UART, but this is also provided as a -module parameter "ser_use_fcs". - -$ modprobe caif_serial ser_ttyname=/dev/ttyS0 ser_use_stx=yes -$ ifconfig caif_ttyS0 up - -PLEASE NOTE: There is a limitation in Android shell. - It only accepts one argument to insmod/modprobe! - -=== Trouble shooting === - -There are debugfs parameters provided for serial communication. -/sys/kernel/debug/caif_serial/<tty-name>/ - -* ser_state: Prints the bit-mask status where - - 0x02 means SENDING, this is a transient state. - - 0x10 means FLOW_OFF_SENT, i.e. the previous frame has not been sent - and is blocking further send operation. Flow OFF has been propagated - to all CAIF Channels using this TTY. - -* tty_status: Prints the bit-mask tty status information - - 0x01 - tty->warned is on. - - 0x02 - tty->low_latency is on. - - 0x04 - tty->packed is on. - - 0x08 - tty->flow_stopped is on. - - 0x10 - tty->hw_stopped is on. - - 0x20 - tty->stopped is on. - -* last_tx_msg: Binary blob Prints the last transmitted frame. - This can be printed with - $od --format=x1 /sys/kernel/debug/caif_serial/<tty>/last_rx_msg. - The first two tx messages sent look like this. Note: The initial - byte 02 is start of frame extension (STX) used for re-syncing - upon errors. - - - Enumeration: - 0000000 02 05 00 00 03 01 d2 02 - | | | | | | - STX(1) | | | | - Length(2)| | | - Control Channel(1) - Command:Enumeration(1) - Link-ID(1) - Checksum(2) - - Channel Setup: - 0000000 02 07 00 00 00 21 a1 00 48 df - | | | | | | | | - STX(1) | | | | | | - Length(2)| | | | | - Control Channel(1) - Command:Channel Setup(1) - Channel Type(1) - Priority and Link-ID(1) - Endpoint(1) - Checksum(2) - -* last_rx_msg: Prints the last transmitted frame. - The RX messages for LinkSetup look almost identical but they have the - bit 0x20 set in the command bit, and Channel Setup has added one byte - before Checksum containing Channel ID. - NOTE: Several CAIF Messages might be concatenated. The maximum debug - buffer size is 128 bytes. - -== Error Scenarios: -- last_tx_msg contains channel setup message and last_rx_msg is empty -> - The host seems to be able to send over the UART, at least the CAIF ldisc get - notified that sending is completed. - -- last_tx_msg contains enumeration message and last_rx_msg is empty -> - The host is not able to send the message from UART, the tty has not been - able to complete the transmit operation. - -- if /sys/kernel/debug/caif_serial/<tty>/tty_status is non-zero there - might be problems transmitting over UART. - E.g. host and modem wiring is not correct you will typically see - tty_status = 0x10 (hw_stopped) and ser_state = 0x10 (FLOW_OFF_SENT). - You will probably see the enumeration message in last_tx_message - and empty last_rx_message. |