ECS Home Automation and Security Archives
  learn more | view messages for this month | NetBloc® | terms of use | search

Google
 


  subject (prev) or (next) | time (prev) or (next) | author (prev) or (next) | view more subjects

Subject:
From:
Date:
RE: [ecs] Smarthome USB Powerlinc
Paul Fitch
Tue, 10 Feb 2004 22:11:46 -0500

Here is the section I think will do you the most good.  This is from his
FAQ.  I'm keeping it here in the list because others might be interested.

Q: How did you get the programming documentation for the PowerLinc USB?
A: This was the most difficult transceiver to write code for.  I started by
contacting SmartHome and they were very polite but said that they didn't
have the time to provide the information.  The original PowerLinc Serial
manual was somewhat limited and took a few days of experimentation to make
work.  Imagine the number of technical support calls they would get by
releasing programming information for a USB interface that few people have
programmed to in the first place. I can't fault SmartHome at all because USB
isn't as simple as writing to a serial port and generally is not likely to
be a simple weekend project for someone.  To write a transceiver driver, you
need 4 basic things: 1) the communications method for the device, 2) the
translation table for generating the X10 signals, 3) the transmission
communications sequence and packet format, 4) the receive communications
sequence and packet format.  The communications method was easy enough to
figure out by interrogating the USB device to find out that it was a HID
class device which preferred interrupt mode for communications.  All of the
documentation for USB drivers skips over how to communicate in interrupt
form and always uses polling with bulk transfers.  Even the Synapse software
from SmartHome says that it uses polling.  I turned to the IBM Bluetooth USB
drivers that had an interrupt driven receiver and figured out how to at
least write a receiver.  By complete accident I was just testing out the
receiver to see if I could even load the module at 10:30pm at night when my
main computer started sending the X10 signals to put the house to sleep.  I
received all of the signals and found out that the receive protocol is
incredibly simple in that it doesn't require any handshaking (identical in
process to the PowerLinc Serial).  From there I turned on the receiver and
sent enough codes on the line to figure out the translation table (minus the
extended codes).  The last one was the most difficult.  After banging
against the device for a day thinking that the transmission process was as
simple as the receive, I went to www.usb.org and found a link to USB Central
which had a freeware USB sniffer for windows.  I fired it up, fired up the
USB Synapse software from SmartHome, and captured the USB traffic.  The
protocol is similar in process to that of the PowerLinc Serial.  The actual
data to be sent is very different, and the packet format is different, but
the concept is similar.  After a bit of signaling, I was able to figure out
what the fields were for the basic X10 protocol.  After about 32 hours of
trial and error hacking with the device, I had the protocol documented, and
about 4 hours later I had fully working drivers.  The documentation for what
I worked out is provided in the wish-1.4.0 and later packages in PDF format.



-----Original Message-----
From: Mark Gilmore [mailto:mark1@markgilmore.net]
Sent: Wednesday, February 11, 2004 8:25 AM
To: ecs@netbloc.com
Subject: RE: [ecs] Smarthome USB Powerlinc


thanks, Paul.
i'll peruse the stuff tomorrow.

At 08:00 PM 2/10/2004 -0500, you wrote:

>On the Smarthome page I found the following LINK
>http://wish.sourceforge.net/
>That link leads to a site with an absolute BUTLOAD of Linux X10 stuff, with
>Linux code for the USB Powerlinc.  Smarthome itself does not have specs,
but
>the guy that set this site up seems to have worked out most everything you
>would need to get Linux ECS working with the USB Powerlinc.  The Windows
>version should follow, once you have an idea on how it works.
>
>Personally, I think that ECS supporting the newest PLC out there would be a
>good selling point.  Especially since most everything else X-10 is years
>old.
>
>Take a look at the site, and if you are interested, I would be happy to let
>you use my USB Powerlinc to play with.  They are only $35 new, so I could
>get another if there was a Discount in it for me on my copy of ECS<g>.
>
>-----Original Message-----
>From: Mark Gilmore [mailto:mark1@markgilmore.net]
>Sent: Tuesday, February 10, 2004 11:24 AM
>To: ecs@netbloc.com
>Subject: Re: [ecs] Smarthome USB Powerlinc
>
>
>Hi Paul,
>I might consider this if I can find a protocol spec.
>Do you know where I can find one ?
>Thanks,
>
>At 08:16 PM 2/9/2004 -0500, you wrote:
>
>
> >Mark, have you considered this device?  I purchased one, and am
considering
> >running ECS on my XP machine.  My XP machine does not have serial ports,
so
> >this seemed like a good idea<g>.  I would be happy to send my USB
Powerlink
> >to you for testing.
> >
> >
> >
> >
> >---
> >Incoming mail is certified Virus Free.
> >Checked by AVG anti-virus system (http://www.grisoft.com).
> >Version: 6.0.580 / Virus Database: 367 - Release Date: 2/6/2004
>
>Mark Gilmore
>http://OmnipotenceSoftware.com
>
>
>---
>Incoming mail is certified Virus Free.
>Checked by AVG anti-virus system (http://www.grisoft.com).
>Version: 6.0.580 / Virus Database: 367 - Release Date: 2/6/2004

Mark Gilmore
http://OmnipotenceSoftware.com


  subject (prev) or (next) | time (prev) or (next) | author (prev) or (next) | view more subjects




Services provided by [NetBloc]®! NetBloc Solutions Inc.
Terms of use. Indexing software (c) 1999 Lin-De, Inc
.