PDA

View Full Version : GC-100 Serial ports (again)


MikeA
02-27-2005, 07:38 PM
Dean
I am still a bit confused about why CQC can't use the GC-100 serial ports.
I have been able to setup a telnet connection on my computer between the serial port of the GC-100 and a USB to serial adapter. Seemed to work fine in sending and receiving info. I used a telnet program that works over IP (Eric's Telnet98) to send/receive characters to the GC-100, and Hyperlink in Windows to send/receive characters to the USB adapter. Worked wonderfully.
It seems as 'simple' as writing and receiving characters to the IP port specified for the serial port on the GC-100. Isn't this the same way you would send/receive control characters to a device (like my Qualia 004 or Escient DVDM) via their IP connection? Once it leaves CQC via the IP commands, why does it matter if it gets converted to/from serial by the GC-100 on the way?
I can appreciate that, at some level, this isn't a true serial device with all the normal controls and features that would be delivered by a WinXP driver, but, I also don't see why all that overhead is necessary anyway.
What am I missing?
Mike

Dean Roddey
02-27-2005, 08:09 PM
It's a practical issue. If device X is a serial device, then the driver is going to be written to talk to a serial port, not over IP to a specialized device like the GC-100. If you wrote the driver to talk over IP to a GC-100 serial port, then that driver would only work over a GC-100 serial port, not over a standard port. This wouldn't be very practical since most folks are going to be using standard serial ports.

So supporing these types of devices will require abstracting the concept of a serial port, so that from CQC's point, and hence to a driver, it still looks like a standard serial port, so that they don't know that they are actually talking to a GC-100 port over IP.

And that also means coming up with a way to abstract the names of serial ports. Right now, a com port is represented by an enumerated value, COM1, COM2, etc... but that won't work in this type of world. There will have to be a change to something like /Serial/Local/COM1 or /Serial/GC-100/Port1 and so forth, because the GC-100 ports are not standard ports, so there needs to be some way for them to be added to the list of available ports on a particular CQCServer host and for users to distinguish which ports are which, and to have an expandable namespace of that sort so that multiple different types of pseudo ports to be plugged in and distinguished. I can't pretend like they are really COM9 and COM10, because you could later add a real port that gets assigned to COM9 and COM10 and it would get really wierd at that point. It requires a larger, segemented namespace to be able to plug various pseudo devices into.

And there will have to be a way to provide a pluggable mechanism for a driver to indicate to CQC that anything starts with /Serial/GC-100/ is something that it will handle vs. it being a standard serial port. This all has to be dynamic because you want a loaded driver for a device like a GC-100 to be able to provide support for it's serial ports without my having to change CQC to add built in knowledge of it. SO there has to be some sort or registration mechanism like "I can provide pseudo serial ports for port names starting with /Serial/FooBar/", that the driver can call on the CQCServer it is loaded into, in order to make it's abstracted ports available there.

And even after all that, they will still be a support burden, because people will inevitably connect them to something that uses port settings the GC-100 doesn't support. Users don't understand serial port issues necessarily, so it would be VERY nice to also be some way for CQC to know what kind of serial port features a diver uses, so that it can warn the user that that device is not supportable via a GC-100 port (for instance it uses something besides N parity.) But that's tough, because what a driver does is part of the code of that driver, and it's not easy to determine what all it mighty try to do. If I can't warn them, then the driver will just fail and they'll have to figure out why.

I can look at the original configuration in the driver manifest, but if the driver, five hours into running decides it needs to twiddle a control line, it's going go fail then because that's not supported over that kind of serial port. So the driver will appear to run, then fail at some point later.

And so forth and so on. It's actually pretty complex in order to be able to support them in more than a kludgey way.

MikeA
02-27-2005, 08:23 PM
OK, I think I got it now. The problem is that the GC-100 has an inherently limited serial capability (19.2kbps max, no parity, only none and hardware device control, probaly more...). That means that even if it had a decent WinXP driver for that functionality, you'd still have the problem of people plugging it into stuff that required a more complete set of serial port capability and flexibility.
That said. Assuming GC gets decent market share, you could consider creating a driver class kind of like infrared. It would be a unique driver class, like you describe above, that users/installers could then configure, the way we do with infrared now, for specific, qualifying situations. I agree that doesn't make sense right now.
Consider this thread dead, and get something with more leverage done, like Z-wave!
Thanks for the thoughts.
Mike

Dean Roddey
02-27-2005, 08:50 PM
OK, I think I got it now. The problem is that the GC-100 has an inherently limited serial capability (19.2kbps max, no parity, only none and hardware device control, probaly more...). That means that even if it had a decent WinXP driver for that functionality, you'd still have the problem of people plugging it into stuff that required a more complete set of serial port capability and flexibility.


I was just assuming that no Windows level driver will get done for it, since I've begged and begged and they don't seem much interested in that. I was assuming that I would have to provide an abstraction for serial ports at my level, with all the complexity that implies.

I've done some of that work, which is to create a base com port class which does everything via virtual methods, so that I can create new derivatives that represent other types of non-standard serial ports. But all the other stuff would also have to get done. A big one is that whole naming convention thing and how a new driver (for a device that supports pseudo ports) loaded into CQCServer will make those ports automatically available without having a lot of hardwired infrastructure for it and so forth.

Since it's really a device driver loaded into CQCServer that would be providing the serial ports, I assume the naming convention would have to be something like:

/Serial/GC-100/[moniker]/PortX

Since you could have multiple GC-100's on a given machine, and the moniker is the differentiating factor between them. So when you went to load a driver, you might see a list like:

/Serial/Std/COM1
/Serial/Std/COM2
/Serial/GC-100/HTGC1/Port1
/Serial/GC-100/HTGC1/Port2
/Serial/GC-100/HTGC2/Port1
/Serial/GC-100/HTGC2/Port2

or something like that, representing the real local ports and the virtual ports available on that machine. So in this case there are two real 'standard' ports, and two ports each on two GC-100s whose drivers are running in that target CQCServer.

JoelD
02-03-2006, 03:11 PM
Hi everyone.

This December I decided to start looking into DIY home automation to see what was out there and if it was something I wanted to get into. Of course I quickly found HomeSeer/Mainlobby and looked at it some, as well as a couple others. But eventually I found CQC, and have been "lurking" in these forums ever since.

As a "computer/software geek" myself, I have a great appreciation for how well it appears that Dean has architected CQC. As a result I've decided that I'm going to download the CQC trial to "get my feet wet" in DIY home automation, and see if it's something I'd like to pursue (...or more to the point: something my wife will allow me to "waste" hours in front of the computer pursuing :wink: ).

I'm just going to start simple with things like: controlling Zoom Player, etc. on my main PC from my CQC PC; a local weather display screen; etc.

But meanwhile I'm thinking about the future, and where I might want to go with it next, etc.

Along those lines...

I'm thinking I would eventually need something like the GC-100 to control a few IR things, and it just seemed depressing to me that I would have the GC-100 already sitting there right next to other devices which use serial ports and yet I wouldn't be able to use the serial ports that a right there on the GC-100. (Of course that's assuming those devices only needed the limited serial capability of the GC-100.)

That got me doing some looking, which has led to this question:

Has anyone tried any existing "virtual port" utility software with the GC-100 and CQC, to make CQC think it is just talking to a standard Windows serial port?

Such as these:

Tactical Software’s Serial/IP COM Port Redirector (http://www.tacticalsoftware.com/products/serialip.htm) -- This one appears to be the "virtual port" utility that comes packaged with quiet a few serial/ethernet devices. (They have a free trial (http://www.tacticalsoftware.com/download/form/serialip.php).)

Labtam’s VPortPro (http://www.labtam-inc.com/index.php?act=products&pid=17)

HW Group’s HW Virtual Serial Port (http://www.hw-group.com/products/hw_vsp/index_en.html) -- Free for personal use. But they list specific "compatible devices", so I don't know if it would be compatible with hardware from other manufacturers or just those.


By the way:
Thanks for the information, ideas, and answers that you all have already given me... even though you didn't know I was listening. :D

Dean Roddey
02-03-2006, 03:17 PM
If you don't actually need the IR blasting to be remote from the controller, then you won't necessarily need the GC-100. We should have (some time this month, though I need to get an update on this) access to the 4 zone R2DI IR blaster boards. These are PCI boards that can do 4 zones of blasting via stickon emitters. I've already got the driver done (for an external version of the same product), so we are ready to go as soon as it's available.

I'll get another update on when these should be arriving.

JoelD
02-04-2006, 05:26 AM
Thanks, Dean.

Sounds like by the time I'm ready to do anything IR-wise, those will be available. So I could just go with that and a separate USB/Serial or similar device (so I only have one cable to run - not as robust as direct serial-serial, but more convenient).

The other thing I liked about the GC-100 was the sensors (specifically the video-out and voltage sensors) to be able to sense when my "dumb" devices are on/off. Are there other options for sensors like that?

Thanks.

Dean Roddey
02-04-2006, 09:20 AM
We will have an 8 or 16 digital I/O PCI board option as well. Or, you could buy an inexpensive Carl's Electronics box (see the supported devices page) which has like 4 contact closures and 8 digital inputs I believe. It's not expensive.

GCEngineer
03-13-2006, 12:11 PM
Not sure if this was answered, but Lantronix makes a port redirector software package that creates a virtual COM port on the PC and redirects it to an IP address (such as that of the GC-100). Use of such a package usually allows applications expecting local serial ports to use serial ports on the GC-100 without modification of the application.

Roy.

znelbok
03-13-2006, 01:40 PM
This is interesting. See this thread (http://charmedquark.com/phpBB2/viewtopic.php?t=6811) and specifically post from Jason
"From my experience most redirection software will work with most devices in this raw mode. It seems just to basically move serial data from com xx(virtual com port) to IP x.x.x.x port xxxx"

If this is the case then the GC should work fine with a redirector package. It would be great to see if someone could try it out.

I too am ina situation where a GC100 would be an excellent addition. My server sits in a server room on the other end of the house from the theatre and I dont want to put in a PC just to get serial control of devices. Thats a lot of money in both hardware costs and electricity just running it. THe GC or a similar item with ethernet capabilites would be great.

The CG suits because of the added IR and digital I/O.

Mick

GCEngineer
03-13-2006, 02:05 PM
I have actually used the Lantronix redirector to do just this. It seems to work with most applications, however I caution, that I can not speak specifically as to CQC's ability to work this way. I'll defer to them for that.

If the application does not specifically require direct access to the serial port hardware (hard to believe this would be the case in a Windows app), the Redirector solution will work.

Roy.

Dean Roddey
03-13-2006, 02:21 PM
As long as it looks like a standard serial port, that's good enough for us.

znelbok
03-13-2006, 09:16 PM
I currently use the lantronix redirector with the c-bus network interface, and it works fine (maybe) with CQC. i say maybe because it works fine if there are no phantom groups used in the c-bus driver but otherwise it is perfect. THe downside is that you need to be logged on to get it to redirect.

So basically that would mean that the serial ports on the CG are accessible via CQC - good news all round.

Mick

Dean Roddey
03-13-2006, 11:20 PM
Having to be logged in wouldn't be so great, since the drivers run in a service in the background, so they'd not be able to connect until you logged in.

I'll see what I can do about finally getting the GC ports supported directly in CQC. I'll think about it a bit and try to come up with the smart way first instead of trying 4 dumb ways along the way, so that I can get it done quickly and correctly. The basics are obvious, but making it really smart is harder. The problem is that these ports won't suport some stuff, and in order to avoid a support nightmare the whole driver install wizard thing needs to be able to reject an attempt to use these types of virtual ports (and I assume there'll be others) if it can't support the device driver being loaded.

rhamer
03-13-2006, 11:47 PM
Might be easier to run the Lantronix as a service.

If I remember correctly there was a utility that came with the WinNT Resource kit called SVRANY or something like it that may be an option. That way you don't need to get involved.

Cheers

Rohan

ToyMaster458
03-14-2006, 07:06 AM
Might be easier to run the Lantronix as a service.


Might be but knowing Dean that would add more points of failure which creates support issues. This would work for the short haul but I think Dean is on the right track with having all handled by CQC.

GCEngineer
03-14-2006, 07:35 AM
FYI All -

The next release of the GC-100, to be in full production by month's end, does support 38400 baud rate, and parity on the serial ports. Hopefully this will help with some of those applications we may have trouble with before.

Roy.

JoelD
03-14-2006, 10:36 AM
One of the redirector software packages that I mentioned in my earlier post in this thread runs as a Windows service: Tactical Software's redirector (http://www.tacticalsoftware.com/products/serialip.htm). (Apparently several serial/ip devices package a lite version of Tactical's redirector software with their products... it would be nice if GC did that.) From what I can find, it looks like Tactical's redirector software is a little more expensive than Lantronix'.

Anybody with a GC device want to try it (http://www.tacticalsoftware.com/download/form/serialip.php)?

I really like Dean's architectural philosophy of not being dependent on third party subsystems, so I like that Dean's considering handling it directly in CQC. But one of these redirector software packages might at least be a short-term solution until Dean gets a chance to work on it.

GCEngineer
03-14-2006, 11:24 AM
Nice tip, I just downloaded the Tactical Redirector and it works quite well.

I connected a GC-IRL learner to the GC-100's serial port. Setup the virtual COM port in Tactical, and then connected to it using our GC-IRL Learner Application (the learner app only knows how to connect to serial ports). Everything seems to work.

I especially like the TRACE function that allows the user to capture and view in real-time all the data going to and from the virtual COM port. Could really come in handy while debugging.

It is a bit pricey though, too pricey for such a simple utility IMHO.

Roy.

znelbok
03-14-2006, 12:36 PM
Yes there is a fairly simple way to get a program running as a service. I have done it with another program. The files required are in the resource kit. Just requires a small registry edit as well.

The only reason I had not done it with the redirector is the impending change to a PCI (and I'm lazy)

Mick

Jason
04-24-2006, 01:07 AM
I have actually used the Lantronix redirector to do just this. It seems to work with most applications, however I caution, that I can not speak specifically as to CQC's ability to work this way. I'll defer to them for that.

Roy.
I can confirm also that the lantronix software works with the on board GC serialport.
Just need to tick Raw mode in the port settings tab.
Seems it will work with most com port redirector packages.
It works with windows Hyperterminal tcp/ip connection too.

Cheers
Jason.

ToyMaster458
07-10-2006, 10:00 AM
FYI All -

The next release of the GC-100, to be in full production by month's end, does support 38400 baud rate, and parity on the serial ports. Hopefully this will help with some of those applications we may have trouble with before.

Roy.
I just got off the phone with Global Cache and have confirmed that all shipping GC-100's have 1200 - 38,400 baud rates and parity. This was done via firmware.

Hiller
10-01-2006, 12:06 PM
Did anything ever happen in regards to reworking the driver after this conversation? I just ordered a GC-100 without realizing that CQC doesn't support the serial port. It was the ideal solution for me. Serial for my processor, one output for a dual IR blaster, and two ports for current sensing magnets to give me power status.

If the driver hasn't been reworked, did the redirector software work?

Thanks,
Steve

Dean Roddey
10-01-2006, 12:42 PM
Some folks said that the redirector software worked if I remember correctly.

bradishm
10-10-2006, 08:09 AM
So is anyone actually using the serial port of the GC-100? If so, what software are you using? Issues or problems working with CQS?

Thanks!

mike

ToyMaster458
10-10-2006, 07:51 PM
I will be testing this in the next week or two. I will post my findings.

eded9698
11-08-2006, 09:34 AM
I have had problems getting the Lantronix redirector software, GC100 and the Denon 3805 driver working together. The driver seems to loss its connection with the reciever, which causes the denon to turn on once the connection is made. the CQC log state lost connection every few seconds.

ToyMaster458
11-11-2006, 06:01 PM
I have it connected to a Integra DVD using Lantronix Software and I keep loosing connection.

ToyMaster458
11-11-2006, 06:32 PM
Here is the crazy part. I am able to connect and stay connect along with issue commands from Hyperterminal with no issues. But when I connect using CQC it keeps resetting the connection.

Dean Roddey
11-11-2006, 07:57 PM
It may be because of the much higher rate of traffic with the driver relative to doing it by hand. Hard to say.

ToyMaster458
11-13-2006, 01:50 PM
I called GC and they have not seen this issue before. It seems as it is dropping the connection every minute to minute and fifteen seconds like clock work. They also use the Lantronix driver and have not seen issues releated to traffic like this.

ToyMaster458
11-15-2006, 08:54 AM
As a follow up to everyone. It ended up being a small issue with the Integra DVD Driver. Mark was quick with the Fix :-)

SomeWhatLost
01-11-2007, 06:39 PM
How do you get the Stupid Lantronix CPR to work? and more to the point is anyone who is using the Lantronix CPR using ver4.0.0.1? from the description, it looks like it it only does their proprietary Tru-Link thing and their older proprietary RFC-2217 thing... I saw the previous post about setting the Port Settings to RAW, but that option doesn't appear to exist anywhere... could they have gotten tired of all the Global Cache people leaching their software from them because GC doesn't want to develop their own?

does anyone have an older version that works? assuming I am not just missing something horribly obvious?

Hiller
01-12-2007, 09:40 AM
I'm using the redirector software with no problems. When I get home I'll take a look and let you know what I'm doing.

SomeWhatLost
01-12-2007, 04:50 PM
I'm using the redirector software with no problems. When I get home I'll take a look and let you know what I'm doing.
Thanks, That would be helpful, it would at least let me know if its something I am doing wrong or not...

Hiller
01-13-2007, 05:32 PM
Sorry I didn't get back to you yesterday, to be honest I forgot about it. I'm using version 3.1.0.1, it's whatever was current when I downloaded it. The setup was simple. Add the IP, port (4999) and then the port to redirect to. During testing I didn't use silent mode but once I knew it was working I turned that on. I did use RAW mode but other than that I don't know what to tell you. I might try to update to your version tomorrow and see if I have any problems.

SomeWhatLost
01-13-2007, 09:55 PM
Sorry I didn't get back to you yesterday, to be honest I forgot about it. I'm using version 3.1.0.1, it's whatever was current when I downloaded it. The setup was simple. Add the IP, port (4999) and then the port to redirect to. During testing I didn't use silent mode but once I knew it was working I turned that on. I did use RAW mode but other than that I don't know what to tell you. I might try to update to your version tomorrow and see if I have any problems.

no problem. any chance I could get you to send me ver 3.1.0.1? and for what its worth, if you don't have the install I wouldn't suggest 'upgrading' to 4.0.0.1 unless you can go back...

Hiller
01-15-2007, 05:19 AM
http://www.softwx.com/weather/virtualvp.html

I just did a Google search for Lantronix 3.1.0.1. If that link doesn't work then try some of the other sites.

Good Luck,
Steve

SomeWhatLost
01-16-2007, 09:14 AM
Thanks, I should of thought of Googleing for it... oh well, its been a long week...

anyway, for what its worth v3.1.0.1 seems to work fine (mostly), v4.0.0.1 doesn't work at all... seems Lantronix did get tired of supporting other peoples hardware...

I am having some issue with v3.1.0.1, mainly if on my server I try to enable 2 virtual com ports, and then I do a reboot, windows gets stuck in a death spiral of booting up, getting stuck, then rebooting itself...
fortunately this issue only happens on my server (running XP MCE), I tried opening up a whole bunch of com ports on another machine (running XP Pro) and that works fine... must be something running on my server it doesn't like...

unfortunately, I need to run this on my server... why can't things ever go smooth?