| ECS Home Automation and Security Archives |
| Subject: From: Date: | RE: [ecs] Smarthome USB Powerlinc Mark Gilmore Fri, 13 Feb 2004 18:40:50 -0800 |
Hi Paul, I'm sorry, but this looks like a *major* hassle (plus Linux only, *and* revision-dependent). What I can't figure out is how they expect companies to support a device without a protocol spec. At 10:11 PM 2/10/2004 -0500, you wrote: >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 > > > >--- >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
--- Outgoing 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