View Full Version : Kramer VP-88ETH driver, ready for use
beelzerob
04-02-2007, 05:59 PM
This driver is now complete and is no longer in beta. Use the driver that comes with the official CQC release.
beelzerob
04-21-2007, 10:49 AM
Release version of driver posted here and given to Dean.
jscheller
05-21-2007, 06:43 PM
Beelzerob -
I just fixed a particularly irksome synchronization problem in my setup by loading up this driver and writing a small macro... Just wanted to say thanks for this driver... :-D
Jim
beelzerob
05-21-2007, 06:48 PM
Glad to hear it was of use!
When I write a driver, satisfaction is guaranteed....or at least promised!
znelbok
12-04-2008, 12:56 AM
Can you tell me if the Kramer VP-8x8A is an easy mod. I tried your driver with it but it is just waiting to connect.
Here is the protocol doc.
http://www.kramerelectronics.com/software/rs232protocols/protocol2000.pdf
Thanks
Mick
beelzerob
12-04-2008, 05:46 AM
I'll take a look at it tonight. I'm sure I still have the vp88 protocol somewhere.
znelbok
12-04-2008, 10:49 AM
I dug it up on the kramer web site and it is the same document. I was using a wrong cable. I need a gender changer to get it going so it may still be OK. If you could still just confirm for me that they are the same document at least I would know for sure.
Mick
znelbok
12-04-2008, 11:25 PM
It works but not completely
The Audio stuff seems to fall over. It appears to be more a driver issue and not so much the hardware connected
Setting all audio autputs
{
CQCGenDrvS, MEng.System.CQC.Drivers.Kramer.VP88ETH.DriverImpl. 695, Status/App Status
<StringFldChanged>: [EXCEPTION] AudioInput1 is not a valid item name for enum MEng.System.CQC.Drivers.Kramer.VP88ETH.DriverImpl. E_Inputs
}
SEtting one audio output
{
CQCGenDrvS, MEng.System.CQC.Drivers.Kramer.VP88ETH.DriverImpl. 695, Status/App Status
<StringFldChanged>: [EXCEPTION] AudioInput6 is not a valid item name for enum MEng.System.CQC.Drivers.Kramer.VP88ETH.DriverImpl. E_Inputs
}
Changing all outputs from the front panel does not get picked up by the driver and they end up out of sync. Changing one output at a time works OK.
There may be more, that's just my initial findings from 10 minutes of testing.
Mick
znelbok
02-21-2009, 01:01 AM
As an update to this and a plea for help
There was an error in the code (I think). There was a list of the eight audiooutputs but the first was actually audioinput and the rest were audio outputs.
Other than that
here is what I have found
All video seems to be OK - its this audio that does not work properly
On connect the driver has the correct inputs assigned to the outputs.
When changing all outputs on the switch, the driver does not update with the new inputs.
Can you please have a look for me. I have tried to work through it, but a lack of understanding of CML and that its someone else's code makes it hard to work through this.
Mick
Changing a single audio output
The value written to the field Kramer.AudioOutputx was rejected by the driver (where x is 1-8)
Changing the input on the matrix switch, the associated field changes to "NoInput"
Changing AllAudioOutputs produces the same error message above
beelzerob
02-21-2009, 06:29 AM
Well, I always will go after bugs in the drivers I write, so no problem.
Can you get me a log @ medium verbose of the problem occuring? Please clear the logs first so I only get a snapshot of the problem occuring. Then describe what it is you did and what the driver SHOULD have done instead.
Sorry for needing all the detail, but that driver is an older one for me, so I'm not familiar with it yet, and I'll have to take what you tell me along with the protocol doc to figure out what's wrong.
znelbok
02-21-2009, 11:59 AM
PM sent so as not to repeat information here in this thread.
Here are the log files referred to.
Mick
beelzerob
02-21-2009, 02:47 PM
Hey Dean, could you move this thread to the driver dev forum? I think this one predates that....
beelzerob
02-21-2009, 10:29 PM
Fixed. Here is fixed version, and it's been given to Dean for the next release.
znelbok
02-22-2009, 12:29 AM
Many thanks go out to Rob for fixing this so quickly
Mick
Do you know if this driver can be used with the VS-162AVRCA?
znelbok
03-21-2009, 12:08 PM
There is a common protocol (single document) for all Kramer units. Its only individual functions of the units that differ.
So if you have say a 16x16 switch, it should work but only for the first 8 inputs and outputs
Mick
There is a common protocol (single document) for all Kramer units. Its only individual functions of the units that differ.
So if you have say a 16x16 switch, it should work but only for the first 8 inputs and outputs
Mick
Well thats good news and bad news.
I may have to use IR if thats the case.
Thanks Mick.
znelbok
03-21-2009, 01:36 PM
but after saying that it should be trivial to change it to support 16x16.
Maybe Beelzerob will do it for you quickly, maybe an addition in the manifest to select the matrix size (4x4, 8x8 or 16x16)
Mick
beelzerob
03-21-2009, 01:43 PM
Probably the bigger issue will be changing the name, or essentially creating a new driver, as it won't be just an 88 driver anymore.
The protocol I had for the vp88eth I don't recall looking very generic...so if you can get me the protocol for this other thing you want to use, I can compare them and see just how much they have in common, and see if it really is a simple matter of changing the number of inputs and outputs.
Probably the bigger issue will be changing the name, or essentially creating a new driver, as it won't be just an 88 driver anymore.
The protocol I had for the vp88eth I don't recall looking very generic...so if you can get me the protocol for this other thing you want to use, I can compare them and see just how much they have in common, and see if it really is a simple matter of changing the number of inputs and outputs.
http://www.kramerelectronics.com/software/rs232protocols/protocol2000.pdf
Thanks for taking a look.
znelbok
03-21-2009, 04:57 PM
This is the same protocol for the 8x8 VGA switch I am using and as I said it covers all of their switches.
Mick
Hopefully then it may be an easy upgrade to 16x16
beelzerob
03-21-2009, 05:29 PM
True enough, it does match the doc I have for the vp88eth, though this doc is a newer version. No idea what the version change affects, though.
I have my new 16x16 now in place thanks to the insurance company and the driver works well. If this is the case will the driver be able to support 16x16 without too much fuss?
beelzerob
03-26-2009, 04:13 AM
So it works fine for the first 8 inputs/outputs? I was taking a look at the driver, and I think I can produce a new KramerXX driver that takes the number of inputs/outputs as a user selection.
I havent tested the full 8x8 but have tested inputs 1,2,3 and outputs 1,3,8 and all works. Ill be able to hook more gear in today, ill let you know if there are any issues but i doubt it.
beelzerob
03-27-2009, 04:16 PM
Paul, give this one a try. You'll have to install the driver pack and then uninstall your old driver and install this one, because you need to run the .manifest to select the number of inputs/outputs you have.
The driver is named KramerProtocol_2k (Dev).
CQCGenDrvS, MEng.User.CQC.Drivers.Kramer.Protocol_2k.DriverImp l_Dev.691, Status/App Status
<StringFldChanged>: [EXCEPTION] Input2 is not a valid item name for enum MEng.User.CQC.Drivers.Kramer.Protocol_2k.DriverImp l_Dev.E_AudioInputs
Got that error when configured with 16x16 but when configured with 8x8 its ok.
beelzerob
04-04-2009, 09:14 AM
Paul, try this one. If it still doesn't work, then please capture a log of it on Medium verbose. Then send me a PM for my email address so you can send it to me. Then we'll work together to debug that.
All good mate, thank you.
beelzerob
04-04-2009, 04:17 PM
Ok, sounds good. I'll package it up and give it to Dean.
znelbok
08-05-2010, 10:29 PM
I need some help with this driver.
Firstly
How does it work. I had the port monitor running and the driver appears to poll initially and then just sits waiting for a message to come in - I did not think the Kramer switcher sent asynchronous messages.
Secondly
I have used the remote and the kramer software (using the Ethernet interface) to change the outputs and the driver does not update at all. Why is it so (related to the first question)
Now a request.
A lot of the switches have Ethernet on them and you can connect to them via an IP on port 5000. Kramer ship a virtual serila pot mapping utility, but can we have the driver modified to allow connection tot he IP address.
How does the driver go if there is no Audio. I have a VS-66HDCP switch which is a HDMI switch with no audio. Do we need a setting in the manifest to indicate if audio is available or not or will the fact that we are not using breakaway audio enough?
The problem
I have tried the deveoplment driver fot he protocol2k, and it wont connect. The switch is 2K compliant. I had modified the 88ETH driver and got it working, but this one fails. Looking at the port monitor, it appears to be asking for the breakaway setting (0B 80 80 81) with a reply of 50 80 82 81.
Is this related to the above issue re no audio?
Thanks
Mick
beelzerob
08-06-2010, 05:34 AM
Hmmph...I'm over a year removed from this driver, so I have no remembrance of how it works.
Send me some logs files (medium verbose) of it acting badly, please. PM me for email if you don't have it.
znelbok
08-06-2010, 02:41 PM
Will do but it wont show anything more than what I have already stated.
Mick
beelzerob
08-06-2010, 08:43 PM
I need some help with this driver.
Firstly
How does it work.
The vp88 and 2k drivers both do not poll. So there apparently are asynch messages. Note 2 in the protocol doc indicates this.
Secondly
I have used the remote and the kramer software (using the Ethernet interface) to change the outputs and the driver does not update at all. Why is it so (related to the first question)
That is what the driver log will show. If nothing shows up in the driver log, then it sounds like it is not connected correctly. If any other cqcer's using this driver could pipe up and confirm that manual changes are reflected in the driver, that would help.
Now a request.
Adding an IP version of the driver is fairly trivial. I should be able to do that at some point.
How does the driver go if there is no Audio. I have a VS-66HDCP switch which is a HDMI switch with no audio. Do we need a setting in the manifest to indicate if audio is available or not or will the fact that we are not using breakaway audio enough?
Dunno. I'm pretty sure if you have audio following video then it should work, as I think I only send the video change command if they're audio follow video.
The problem
The query is indeed asking for the breakaway setting. The device is responding with an error for an out of range code. The only thing I can think of that is out of range is the device number maybe? It's asking for device 1. You might check what the device num is set to.
znelbok
08-08-2010, 02:40 PM
Its not the machine ID
Sent this to the unit
0B FF 80 81
and got back
4B FF 80 81
0B FE 80 81
and got back
4B FE 80 81
First reply indicates that the function is not defined (this unit has not audio capabilities) which should explain the out of range response to the initial query.
The second I am not sure. See note 6 for more info.
Also note that at Kramer they can not count in hex. The doc says to send a 126 or 127 and to them that converts to FE & FF (not 7E & 7F like real people). This one had me confused for a while as I was sending 7E and getting no response.
Did some more testing on one unit here and it definately is asnyc. What I am suspecting is that it is only the front panel that will trigger an async message.
My testing will continue, but so far it would appear that chaging the unit by any other means (IR remote or IP/Serial, will not trigger an async message, so CQC gets out of sync (not good).
IR is predominately how the unit will be used, and I need CQC to stay in CQC with it so I think that the driver will have to incorporate polling of the unit.
Mick
beelzerob
08-08-2010, 02:56 PM
Also note that at Kramer they can not count in hex. The doc says to send a 126 or 127 and to them that converts to FE & FF (not 7E & 7F like real people). This one had me confused for a while as I was sending 7E and getting no response.
Well, if you're talking input or output or machine number, that's because in the protocol the first bit of those words is hard coded to 1. You basically disregard the first bit of those words.
Can you confirm with kramer or some other kramer user here that async messages only occur when using the front panel? I'll implement polling then if that's the case, but it seems strange to me that they wouldn't have async messages for all other methods of changing the device settings.
Out of curiosity, with a driver that could control everything, why would you specifically opt for IR control? Is this switcher in the main living area and you are just using a remote?
znelbok
08-08-2010, 04:48 PM
I have double checked on the unit in question (the one with IR). You only get an async message when there is an input available (on) - this is probably common to all Kramer switches.
***EDIT*** This is wrong - more testing has shown that you get a message, its just a couple of seconds late as opposed to almost isntant when there is an input.
The switcher is in a general area (not a home) used be lots of people and the unit is locked away. The only viable option was to use IR.
So really, the main concern is that the driver [appears to] fails to connect with switches with no audio.
Thanks
Mick
Oh, and Doh - I should have remembered that re the 7E etc. That is plain confusing when trouble shooting. Knew that copmment would bite me back.
PPS - and dont forget about the IP version - I know you are an expert at that now
znelbok
08-22-2010, 09:56 PM
Has there been any progress on this.
Just to recap the issues
breakaway setting query required to connect is not allowing the driver to connect because there is no audio in the unit and hence an out of range reply is given (which is enough to say that the unit is there and alive)
IP version of the driver as a nice ot have since they are adding ethernet ports in now (both mine have them).
Mick
beelzerob
08-24-2010, 10:22 AM
Well, that breakaway query isn't just a heartbeat detection. The breakaway setting does affect other things. I'll have to see about how to handle that.
The IP thing will be easy.
I'll *try* to get some time this week to take a look at it.
beelzerob
08-27-2010, 05:32 AM
Ok, try this.
As long as you select False for "Use audio/video breakaway" when you install the driver, you shouldn't get that exception on connect.
beelzerob
08-30-2010, 11:24 AM
Welllllll?
znelbok
08-30-2010, 12:27 PM
Thanks for that, I have hurt my back and I am not doing much for a day or two. Will let you know ASAP (or is that ASAM, as soon as mobile)
Mick
znelbok
08-31-2010, 04:37 PM
The serial will connect (via the VSP utility from Kramer), but it gives an error when changing outputs.
"The value written to Field <moniker>.Output6 was rejected by the driver."
I was getting the same error whith my hacked together version, so maybe there is something slightly in the newer version of CQC????
The value was changed from the CQC Field Browser. It does change the output to the desired input, but just produces this error.
Log file attached (Kramer Log Serial.txt)
The IP version will not connect.
"The Com Port must be open to do this"
Log file attached (Kramer Log IP.txt)
Mick
beelzerob
08-31-2010, 06:17 PM
Is the $Reconfigured field new? I wonder how that's causing a problem.
The port thing I don't believe is the driver's fault...it sounds like the port is closing after I write to it. maybe from some kind of error? It would be helpful if someone else could give this a try too as a sanity check.
znelbok
09-01-2010, 05:42 PM
Does the fact it says com port indicate that there is something wrong when it is a socket connection and not a serial connection?
I have no ideas about the $Reconfigured field - might be a field relating to the new button on the admin interface to reconfigure the driver settings (com port etc.)
I think the problem for the IP driver is line 527. I think you have missed the if statement here to check if it is a IP driver or not.
Line 637 also throws a connection error
Mick
beelzerob
09-01-2010, 06:11 PM
Does the fact it says com port indicate that there is something wrong when it is a socket connection and not a serial connection?
Well done!
Try these
znelbok
09-02-2010, 07:54 PM
Thank you
The IP version connects now and works fine apart from the error message
09/03 13:37:14-AF053639, CQCServer, CQCDrv_GPCR_Kra_Swit_Thread14
{
CQCGenDrvS, MEng.User.CQC.Drivers.Kramer.Protocol_2k.DriverImp l_Dev.483, Status/App Status
<GetMessage>: Entering function
}
09/03 13:37:20-AF053639, CQCServer, CIDOrbSrvWorkThread_4
{
CQCGenDrvS, MEng.User.CQC.Drivers.Kramer.Protocol_2k.DriverImp l_Dev.759, Status/App Status
<StringFldChanged> Output6 Value: Input1
}
09/03 13:37:20-AF053639, CQCServer, CIDOrbSrvWorkThread_4
{
CQCGenDrvS, MEng.User.CQC.Drivers.Kramer.Protocol_2k.DriverImp l_Dev.243, Status/App Status
<Send> Msg sent: 1 10000001 10000110 10000001
}
09/03 13:37:20-AF053639, CQCServer, CIDOrbSrvWorkThread_4
{
CQCKit, CQCKit_DriverBase.cpp.4690, Failed/Not Found, Error: 2016/0/0
The value written to field GPCR_Kra_Swit.Output6 was rejected by the driver
}
09/03 13:37:21-AF053639, CQCServer, CQCDrv_GPCR_Kra_Swit_Thread14
{
CQCGenDrvS, MEng.User.CQC.Drivers.Kramer.Protocol_2k.DriverImp l_Dev.287, Status/App Status
<ProcessMessage>: Instr: SwitchVideo Input: 1 Output: 6
}
09/03 13:37:21-AF053639, CQCServer, CQCDrv_GPCR_Kra_Swit_Thread14
{
CQCGenDrvS, MEng.User.CQC.Drivers.Kramer.Protocol_2k.DriverImp l_Dev.328, Status/App Status
<ProcessMessage>: [EXCEPTION] Field $Reconfigured was accessed as a type different from its defined type
}
I cant get it to produce it in the driver development interface, only from the field browser or a command button (i.e. the interface viewer).
It ouwld appear the new field $Reconfigured is catching the string change and producing the error. Not sure why the driver dev environment wont do it though.
Mick
Dean Roddey
09-03-2010, 09:38 AM
The reconfigured thing shouldn't be happening. I'll look at that.
beelzerob
09-03-2010, 11:45 PM
Ya, offhand I didn't do anything that would have affected my field numbers, so I don't know what I could have done to have them be offset incorrectly.
znelbok
09-13-2010, 08:22 PM
Any update on why this is happening?
Mick
Dean Roddey
09-13-2010, 09:54 PM
That kind of thing can happen if the driver goes back to look up its driver fields and doesn't get one of the driver field ids set correctly, so it's pointing actually at the wrong field.
beelzerob
09-14-2010, 08:08 AM
I hope to be able to put some time into loose ends in CQC here this week.
beelzerob
09-14-2010, 06:28 PM
I think I found the #reconfigured issue. The writed failed I'm still not sure about...basically the machine isn't responding to the message sent.
Try this.
znelbok
09-15-2010, 05:22 PM
Did not work.
It did not report anything about the re-configure field, just that it was rejected by the driver. It did change the switch though.
Mick
09/16 11:19:36-AF053639, CQCServer, CIDOrbSrvWorkThread_4
{
CQCGenDrvS, MEng.User.CQC.Drivers.Kramer.Protocol_2k.DriverImp l_Dev.243, Status/App Status
<Send> Msg sent: 1 10000010 10000110 10000001
}
09/16 11:19:36-AF053639, CQCServer, CIDOrbSrvWorkThread_4
{
CQCGenDrvS, MEng.User.CQC.Drivers.Kramer.Protocol_2k.DriverImp l_Dev.483, Status/App Status
<GetMessage>: Entering function
}
09/16 11:19:36-AF053639, CQCServer, CIDOrbSrvWorkThread_4
{
CQCKit, CQCKit_DriverBase.cpp.4690, Failed/Not Found, Error: 2016/0/0
The value written to field GPCR_Kra_Swit.Output6 was rejected by the driver
}
09/16 11:19:36-AF053639, CQCServer, CQCDrv_GPCR_Kra_Swit_Thread18
{
CQCGenDrvS, MEng.User.CQC.Drivers.Kramer.Protocol_2k.DriverImp l_Dev.1056, Status/App Status
<Poll> Entering function.
}
beelzerob
09-15-2010, 06:33 PM
It *did* work....it doesn't report using a bad field ID anymore, so I fixed that problem. As I said, I don't know yet about why the device isn't responding in time. The easiest fix would be to simply disable checking for a response, but that wouldn't be correct.
When you use the field to do whatever it is you're trying to do (where it says the field write failed), does the device actually do it? In other words, is it working correctly even though the log says it isn't?
If not then something must be wrong with that command.
znelbok
09-15-2010, 09:58 PM
My apologies - you did fix the problem relating to the field ID.
Yes, it is working in that it changes, but it produces an error on the screen (one of those windows boxes that the IV produces) and you have to clikc OK or Details.
Changing from the Admin interface creates the exact same response.
In all cases the output changes to the requested input. SO i believe it is not a command issue, just something in the driver getting a little screwed up. Not sure why this is the case.
I actually might load up an older version of CQC and see if it produces the error - I dont think it will, I suspect it is the newer version creating the problem.
Mick
beelzerob
09-16-2010, 04:17 AM
Well, it's because the driver is returning "write failed" that the popup box comes up...and the driver is doing that because it doesn't think it's getting a response from the device when the command you sent (via the string field) is delivered.
It would be *very* interesting if an older version of CQC removed this issue...but I think it won't. I'm wondering if this is somehow related to your somewhat abnormal device...just because if this was a typical issue I'm sure I would have heard about it by now (the popup tends to get attention).
If you want, for the time being, the simplest way to keep this from happening is to go into that StringFldChanged function and change all the return values to Success. Then you won't get that popup. Since you're telling me it all DOES work, then there's nothing lost at this point.
znelbok
09-16-2010, 06:44 PM
Here is where it gets interesting
I have two Kramer switches, The second is a VP8x8A that also has ethernet.
I installed an older verison of CQC and got the same error (worded slightly different) for the switch first switch I was trying.
I got the ethernet going on the other switch and connected to it with the same driver. It supports audio, but I did not select breakaway, just for consistency. It does NOT produce the error.
The only difference between them is that the first is a 6x6 matrix, and the second is an 8x8 matrix (with audio).
I thought the driver harness was not generating an error but it does, just does not produce a popup
CQCKit, CQCKit_DriverBase.cpp.4690, Failed/Not Found, Error: 2016/0/0
The value written to field sdf.Output6 was rejected by the driver
It must be a timing thing. If I step through the driver then I dont get any error messages back. If I just let the driver run then I get an error message.
I have a break point at line 755 to catch the string field change, stepping from there works fine, continuing (alt g) produces the error.
Mick
znelbok
08-28-2011, 08:46 PM
So I had to make sme changes today to the audio switching and the driver is producing this error everytime I want to change the audioinput on any AudioOutput (logging on high, the only line produced)
{
CQCKit, CQCKit_DriverBase.cpp.4690, Failed/Not Found, Error: 2016/0/0
The value written to field Kra_Swit.AudioOutput1 was rejected by the driver
}
I thought we put to bed this issue in the past, but it appears to have reared its ugly head again.
The AudioBreakaway field is also blank and I get the same message when I try to select either option.
The audio fields are not updating either when they are changed at the switch itself.
Mick
znelbok
09-07-2011, 07:00 PM
Any help at all for this problem - the driver is broken and should be removed if it not going to be fixed.
this is from teh log
{
CQCGenDrvS, MEng.System.CQC.Drivers.Kramer.Protocol_2k.DriverI mpl.653, Status/App Status
<StringFldChanged> AudioOutput5 Value: AudioInput5
}
09/08 12:58:28-AF053639, CQCServer, CIDOrbSrvWorkThread_2
{
CQCGenDrvS, MEng.System.CQC.Drivers.Kramer.Protocol_2k.DriverI mpl.679, Status/App Status
<StringFldChanged>: [ERROR] Unknown field ID
}
Mick
Dean Roddey
09-07-2011, 07:03 PM
Can you open it up to me via the remote port server? I can take a look at it though I don't know anything about the device per se.
znelbok
09-08-2011, 01:59 AM
Thanks, but you can't get access - My router does not support port forwarding (sat modem).
I managed to get it working. I don't understand how he did it, but I it was not creating FieldID's for the fields it created. I dont undertstand what he did with it all, but I ended up adding two arrays and then modifying the rest of the driver to suit. Took a couple of hours, but I daresay it was a simple fix for he who wrote it. Its not pretty but ts working.
Mick
Mick
vBulletin v3.5.4, Copyright ©2000-2013, Jelsoft Enterprises Ltd.