<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://crancho.com/w/index.php?action=history&amp;feed=atom&amp;title=DSCAlarm</id>
	<title>DSCAlarm - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://crancho.com/w/index.php?action=history&amp;feed=atom&amp;title=DSCAlarm"/>
	<link rel="alternate" type="text/html" href="https://crancho.com/w/index.php?title=DSCAlarm&amp;action=history"/>
	<updated>2026-05-02T05:44:55Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.2</generator>
	<entry>
		<id>https://crancho.com/w/index.php?title=DSCAlarm&amp;diff=849&amp;oldid=prev</id>
		<title>Ohayden: /* Links */</title>
		<link rel="alternate" type="text/html" href="https://crancho.com/w/index.php?title=DSCAlarm&amp;diff=849&amp;oldid=prev"/>
		<updated>2009-07-04T10:28:41Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Links&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Linksys WRTSL54GS ==&lt;br /&gt;
[[DSCAlarm:Router|Router Information / Setup]]&lt;br /&gt;
&lt;br /&gt;
== DSCMon[itor] - Web Interface and Binaries ==&lt;br /&gt;
[[DSCAlarm:DSCMon|DSCMon]]&lt;br /&gt;
&lt;br /&gt;
== TODOs ==&lt;br /&gt;
=== Started ===&lt;br /&gt;
*Finish developing dscmon. &lt;br /&gt;
*Finish web interface.&lt;br /&gt;
*`-&amp;gt; Add color option for zone labels&lt;br /&gt;
*Document dsc binaries in the &amp;quot;copy extra&amp;quot; area and the &amp;quot;script&amp;quot; area&lt;br /&gt;
&lt;br /&gt;
=== Completed ===&lt;br /&gt;
*&amp;lt;s&amp;gt;Change dscsend to use the dsc.conf file.&amp;lt;/s&amp;gt; - Done.&lt;br /&gt;
*&amp;lt;s&amp;gt;Have dscmon pass parameters to dsclog.&amp;lt;/s&amp;gt; - Done.&lt;br /&gt;
*&amp;lt;s&amp;gt;Add code to read a log file in dscmon.&amp;lt;/s&amp;gt; - Done, it now uses the /etc/dsc.conf.&lt;br /&gt;
*&amp;lt;s&amp;gt;Finish developing dsclog. As now I&amp;#039;m using cat /dev/tts/1 &amp;gt; dsc.log and I don&amp;#039;t believe this is a good long term solution.&amp;lt;/s&amp;gt; - I have dsclog writing to the log file.  It&amp;#039;s primitive and will need refactoring later.&lt;br /&gt;
*&amp;lt;s&amp;gt;Clean up and document scripts.&amp;lt;/s&amp;gt; - Done.&lt;br /&gt;
*&amp;lt;s&amp;gt;Fix firewall issue (isn&amp;#039;t bocking ssh)&amp;lt;/s&amp;gt; - Web interface is stubborn, so I added my drop to the S55knockd script.&lt;br /&gt;
*&amp;lt;s&amp;gt;Fix serial communications problem&amp;lt;/s&amp;gt; - Ended up being a setup issue, so I changed the S15serial script.&lt;br /&gt;
*&amp;lt;s&amp;gt;Finished dscsend to send proper packets to the serial port. It will calculate the proper checksum, etc.&amp;lt;/s&amp;gt; - Initial version done.&lt;br /&gt;
&lt;br /&gt;
== IT-100 Information ==&lt;br /&gt;
&lt;br /&gt;
I use the IT-100 to connect to the keybus on the DSC alarm.  The IT-100 gives me a RS232 port for bi-directional communications.  The docs say that it only uses pins 2, 3, and 5 (Rx = Receive, Tx = Transmit, and SG = Signal Ground).  By default, the baud rate is 9600, but it can be changed through the IT-100&amp;#039;s protocol.  There is no flow control.  The settings are as follows:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Baud Rate !! Parity !! Data Bits !! Stop Bits !! Hardware Flow Control&lt;br /&gt;
|- &lt;br /&gt;
| 9600      || None   || 8         || 1         || None&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== RS232 Information ==&lt;br /&gt;
&lt;br /&gt;
Typical RS232 Pinout:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Pin !! Label  !! Function &lt;br /&gt;
|- &lt;br /&gt;
| 1   || DCD    || Data Carrier Detect (Modem)&lt;br /&gt;
|- &lt;br /&gt;
| 2   || Rx/RxD || Receive Line&lt;br /&gt;
|- &lt;br /&gt;
| 3   || Tx/TxD || Transmit Line&lt;br /&gt;
|- &lt;br /&gt;
| 4   || DTR    || Data Terminal Ready (Flow Control)&lt;br /&gt;
|- &lt;br /&gt;
| 5   || SG/GND || Signal Ground&lt;br /&gt;
|- &lt;br /&gt;
| 6   || DSR    || Data Set Ready (Flow Control)&lt;br /&gt;
|- &lt;br /&gt;
| 7   || RTS    || Request To Send (Flow Control)&lt;br /&gt;
|- &lt;br /&gt;
| 8   || CTS    || Clear To Send (Flow Control)&lt;br /&gt;
|- &lt;br /&gt;
| 9   || RI     || RI Ring Indicator (Modem)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Male Connector            !! Female Connector&lt;br /&gt;
|- &lt;br /&gt;
| [[Image:male_rs232.gif]]  || [[Image:female_rs232.gif]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*A low state is defined as anything =&amp;lt; -3&lt;br /&gt;
*A high state is defined as another =&amp;gt; +3&lt;br /&gt;
*Anything between -3 and +3 is in the dead area&lt;br /&gt;
&lt;br /&gt;
== Communications Problem ==&lt;br /&gt;
&lt;br /&gt;
=== Explanation ===&lt;br /&gt;
&lt;br /&gt;
For some reason, my laptop will communicate with the IT-100 just fine, but my Linksys WRTSL54GS router with a TTL shifter will not communicate to the IT-100.  Here&amp;#039;s where it gets crazy: I can communicate just fine between the laptop and the Linksys router (still using the TTL shifter).  The problem is that I need the Linksys router to communicate with the IT-100.&lt;br /&gt;
&lt;br /&gt;
=== Research ===&lt;br /&gt;
&lt;br /&gt;
Laptop pin states, port is closed.&lt;br /&gt;
*Pin 3: Low = -10&lt;br /&gt;
*Pin 4: Low = -10&lt;br /&gt;
*Pin 7: Low = -10&lt;br /&gt;
&lt;br /&gt;
Laptop pin states, port is open and not connected to anything.&lt;br /&gt;
*Pin 3: Low = -10&lt;br /&gt;
*Pin 4: High = +10&lt;br /&gt;
*Pin 7: High = +10&lt;br /&gt;
&lt;br /&gt;
Laptop pin states, port is open and connected to IT-100.&lt;br /&gt;
*Pin 2: Low = -5&lt;br /&gt;
*Pin 3: Low = -9&lt;br /&gt;
*Pin 4: High = +9&lt;br /&gt;
*Pin 6: High = +9&lt;br /&gt;
*Pin 7: High = +9&lt;br /&gt;
*Pin 8: High = +9&lt;br /&gt;
&lt;br /&gt;
Laptop pin states, port is open and connected to Linksys.&lt;br /&gt;
*Pin 1: High = 8&lt;br /&gt;
*Pin 2: Low = -5&lt;br /&gt;
*Pin 3: Low = -9&lt;br /&gt;
*Pin 4: High = +8&lt;br /&gt;
*Pin 6: High = +8&lt;br /&gt;
*Pin 7: High = +9&lt;br /&gt;
*Pin 8: High = +9&lt;br /&gt;
&lt;br /&gt;
Linksys pin states, port is closed.&lt;br /&gt;
*Pin 2: Low = -6&lt;br /&gt;
&lt;br /&gt;
Linksys pin states, port is open and not connected to anything.&lt;br /&gt;
*Pin 2: Low = -6&lt;br /&gt;
&lt;br /&gt;
Linksys pin states, port is open and connected to IT-100.&lt;br /&gt;
*All pins are low.  Pin 2 carried about -2 volts, which is in the dead area.&lt;br /&gt;
&lt;br /&gt;
=== Solution ===&lt;br /&gt;
I figured out that all I need to do was twist the Rx and Tx lines.  Yup, a simple null modem adapter would have solved the issue all a long!  I&amp;#039;m only guessing that my laptop worked because either the terminal program or the Belkin USB to Serial adapter was smart enough to switch the lines.&lt;br /&gt;
&lt;br /&gt;
== How to Communicate ==&lt;br /&gt;
I&amp;#039;ve used both minicom and microcom without problems.  I haven&amp;#039;t figured out how to send &amp;quot;\r\n&amp;quot; with either terminal, but I was able to do it from an echo.  I basically ssh into the Linksys router twice (I guess I could use screen and switch back and forth).  In one session I type the following:&lt;br /&gt;
 cat /dev/tts/1&lt;br /&gt;
&lt;br /&gt;
Then in the other session I echo the 001 packet, which asks for the current status, as such:&lt;br /&gt;
 echo -en &amp;quot;\n00191\r\n&amp;quot; &amp;gt; /dev/tts/1&lt;br /&gt;
&lt;br /&gt;
That&amp;#039;s all there was to it!&lt;br /&gt;
&lt;br /&gt;
== How to get COM Settings ==&lt;br /&gt;
*setserial -g /dev/tts/*&lt;br /&gt;
*cat /proc/tty/driver/serial&lt;br /&gt;
*stty -F /dev/tts/1 -a&lt;br /&gt;
&lt;br /&gt;
== Setup COM Port ==&lt;br /&gt;
* See the following script: [[DSCAlarm:Router:Scripts#S15serial|S15serial]]&lt;br /&gt;
&lt;br /&gt;
If setup properly then it will look like the following:&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color: green&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;root@orc:~# stty -F /dev/tts/1 -a&amp;#039;&amp;#039;&amp;#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
 speed 9600 baud; rows 0; columns 0;&lt;br /&gt;
 intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = &amp;lt;undef&amp;gt;;&lt;br /&gt;
 eol2 = &amp;lt;undef&amp;gt;; swtch = &amp;lt;undef&amp;gt;; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;&lt;br /&gt;
 werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 5;&lt;br /&gt;
 -parenb -parodd cs8 -hupcl -cstopb cread clocal -crtscts&lt;br /&gt;
 ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl ixon ixoff&lt;br /&gt;
 -iuclc -ixany -imaxbel&lt;br /&gt;
 -opost -olcuc -ocrnl -onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0&lt;br /&gt;
 ff0&lt;br /&gt;
 -isig -icanon -iexten -echo -echoe -echok -echonl -noflsh -xcase -tostop&lt;br /&gt;
 -echoprt -echoctl -echoke&lt;br /&gt;
  &lt;br /&gt;
 &amp;lt;span style=&amp;quot;color: green&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;root@orc:~# cat /proc/tty/driver/serial&amp;#039;&amp;#039;&amp;#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
 cat: cat: No such file or directory&lt;br /&gt;
 serinfo:1.0 driver:5.05c revision:2001-07-08&lt;br /&gt;
 0: uart:16550A port:B8000300 irq:3 baud:114583 tx:277 rx:0 RTS|DTR&lt;br /&gt;
 1: uart:16550A port:B8000400 irq:3 baud:9593 tx:0 rx:0 RTS|CTS|DTR|DSR|CD&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
*[http://www.dsc.com/download.php?t=1&amp;amp;id=10910 IT-100 Data Interface Module v1.0 Developer&amp;#039;s Guide]&lt;br /&gt;
*[http://www.gnu.org/software/libc/manual GNU C Programming Reference Manual]&lt;br /&gt;
*[http://en.wikibooks.org/wiki/C_Programming/Standard_libraries ANSI Libraries]&lt;/div&gt;</summary>
		<author><name>Ohayden</name></author>
	</entry>
</feed>