# HG changeset patch # User Michael Spacefalcon # Date 1403393773 0 # Node ID 5c75d84ffa81ab23ffe5b95a27f81b25ed39bc59 # Parent 14618bd924ec838d9a53d71692ac65b3006daea9 rvinterf/doc: started documenting the usage of rvinterf tools diff -r 14618bd924ec -r 5c75d84ffa81 rvinterf/doc/rvinterf.usage --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/rvinterf/doc/rvinterf.usage Sat Jun 21 23:36:13 2014 +0000 @@ -0,0 +1,59 @@ +Rvinterf (the specific program by this name) is an extended version of rvtdump +(see rvtdump.usage) that decodes and dumps and/or logs any and all output +generated by the firmware running on the target just like rvtdump, but also +creates a local UNIX domain socket on the host machine to which "client" +programs can connect. "Client" programs connecting to rvinterf via this local +socket interface can: + +1. Receive copies of selected RVTMUX packets coming from the target; + +2. Send arbitrary RVTMUX packets toward the target. + +Rvinterf is invoked just like rvtdump: + +rvinterf [options] /dev/ttyXXX + +The following options have the same meaning as in rvtdump, see rvtdump.usage +for the details: -b, -B, -d and -l. The only difference is that -b without -l +is potentially useful and thus allowed. + +Additional rvinterf options which don't exist in rvtdump are: + +-n + + Suppress the output on stdout like -b, but don't fork into background. + This option is passed by "client" programs when they invoke rvinterf + behind the scenes instead of connecting to an already-running rvinterf + instance. + +-s pathname_for_socket + + By default the local UNIX domain socket created by rvinterf is bound to + /tmp/rvinterf_socket; this option allows any other pathname to be + specified. + +-S + + This option is not meant for direct use by human users. It is passed + by "client" programs when they invoke rvinterf behind the scenes with + an unnamed and unbound socket pair instead of conecting to an already- + running rvinterf instance. + +-w number_in_seconds + + It has been discovered experimentally that if an RVTMUX packet is sent + to a target when the latter is in the "deep sleep" state, the target + wakes up, but the packet that was sent is not received correctly. TI's + reference fw seems to wait for 10 s after last serial activity before + falling into deep sleep (provided that all other conditions for that + sleep mode are satisfied), hence the following workaround has been + implemented in rvinterf: if a packet is to be sent to the target and + more than a set time has elapsed since the last transmitted packet, the + packet is preceded by a "wake-up shot" of 64 0 bytes (outside of a + packet, ignored by the fw) and a 100 ms pause. This hack is not pretty, + but it appears to do its job of making RVTMUX communication with target + firmwares reliable. + + The -w option changes the elapsed time threshold at which the "wake-up + shot" is sent; the default is 7 s. Specify -w 0 to disable this hack + altogether. diff -r 14618bd924ec -r 5c75d84ffa81 rvinterf/doc/rvtdump.usage --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/rvinterf/doc/rvtdump.usage Sat Jun 21 23:36:13 2014 +0000 @@ -0,0 +1,40 @@ +Rvtdump is a utility that listens on a serial port, receives traces or any other +packets emitted by the running firmware of a GSM device in TI's RVTMUX format, +decodes them into readable ASCII and emits them to stdout and/or to a log file. +It is to be invoked as follows: + +rvtdump [options] /dev/ttyXXX + +where the sole non-option argument is the serial port it should open and listen +on. + +The available options are: + +-b + + Normally the rvtdump process remains in the foreground and emits its + output on stdout. The -b option suppresses the normal output and causes + rvtdump to put itself in the background: fork at startup, then have the + parent exit while the child remains running. -b is not useful and not + allowed without -l. + +-B baud + + Selects which RVTMUX serial channel baud rate our tool should listen + for. Defaults to 115200 baud, which appears to be TI's default and is + correct for mokoN, leo2moko and Pirelli's fw. Use -B 57600 for Compal's + RVTMUX, the one accessible via **16379#. + +-d + + This option is not meant for direct use by human users. It is inserted + automatically when rvtdump is launched from fc-xram as the secondary + program that immediately takes over the serial channel. + +-l logfile + + Log all received and decoded packets into the specified file in addition + to (without -b) or instead of (with -b) dumping them on stdout. Each + line in the log file is also time-stamped; the timestamps are in GMT + (gmtime(3)) instead of local time - Spacefalcon the Outlaw dislikes + local times.