.\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.43) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "TWINSTAR 8" .TH TWINSTAR 8 "2024-01-05" "perl v5.36.0" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" twinstar \- Control the Twinstar feature of a Xorcom Astribank .SH "SYNOPSIS" .IX Header "SYNOPSIS" twinstar {status|jump|enable\-wd|disable\-wd|ports} .SH "DESCRIPTION" .IX Header "DESCRIPTION" \&\fBtwinstar\fR is a tool to control the Twinstar (dual \s-1USB\s0 port) of a Xorcom Astribank. There is a single and mandatory argument which is the command to run. That command operates on all the Astribanks connected to the system. .PP Technically all the commands are implemented using Dahdi::Xpp::Mpp which in turn uses astribank_tool. Thus using thus tool will require root permissions or otherwise read/write permissions to the \s-1USB\s0 device. .PP The twinstar may be in \fIwatchdog mode\fR, which means that it will jump to the remote host if it loses contact with the local host. This can happen if the machine is powered down or hangs or even if the xpp drivers are unloaded. Which is why the standard twinstar scripts put the Astribanks in twinstar mode on startup and remove it on normal shutdown. .PP An Astribank will only jump to the other host (either if asked explicitly or by the watchdog) only if there is a different Astribank connected to the other port and running. Which is why all of this has no effect on systems that don't need this functionality. .PP The command are: .SS "status" .IX Subsection "status" Shows the current status of all Astribanks. Note that it only shows Astribanks whose current active \s-1USB\s0 port is the one connected to this computer. .PP Example output: .PP .Vb 3 \& DEVICE PORT WATCHDOG POWER0 POWER1 \& usb:001/010 0 on yes yes \& usb:001/011 0 on yes yes .Ve .PP For each Astribank on the system that has Twinstar support we get: .IP "Device" 4 .IX Item "Device" The address of the device. This is the bus address, e.g. the address you see in lsusb / dahdi_hardware. .IP "Port" 4 .IX Item "Port" The active \s-1USB\s0 port on the Astribank. This should be always '0' on the master and always 1 on the slave. .IP "Watchdog" 4 .IX Item "Watchdog" \&\fIon\fR if the watchdog is triggered in the Atribank or \fIoff\fR otherwise. .IP "Power0, Power1" 4 .IX Item "Power0, Power1" Shows which ports of this Astribank are connected to a \s-1USB\s0 port of a running computer. This only shows whether or not the \s-1USB\s0 host provides power. .SS "ports" .IX Subsection "ports" Shows the same 'Port' column of the \fBstatus\fR command. .SS "jump" .IX Subsection "jump" Command all the Astribanks to jump to the other port. This works regardless the watchdog mode is enabled or not. But requires that there is power on the other port. .SS "enable-wd" .IX Subsection "enable-wd" Enables watchdog mode. .SS "disable-wd" .IX Subsection "disable-wd" Disables watchdog mode. .SH "FILES" .IX Header "FILES" \&\fBtwinstar\fR mostly uses astribank_tool which in turn mostly uses \s-1USB\s0 files under /dev/bus/usb .