View Full Version : Denon 2808ci Receiver Driver
wuench
12-31-2007, 11:30 AM
Denon 2808ci Receiver Driver
Version 1.0
Description:
This driver controls the Denon 2808ci A/V receiver. This receiver has a good set of features,
and a pretty good control protocol that allows for a considerable amount of control.
This driver is CML based and the classes are found in the CML scope MEng.System.CQC.Drivers.Denon.2808ci.DriverImpl.
Release Info
Version 1.0
Original Version
Quirks and Limitations:
Because the audio effects reported back are not always the same as those set, two fields are used. FXRead shows
the current effect as reported by the receiver, while FXWrite is used to set the effect. Not all effects are available
for all source types. There is currently an issue with 7CH STEREO. When set the receiver will set this mode, but
will no longer allow polling of the effect mode until changed to something else. So FXRead will show last effect before
7CH STEREO was set.
Also, features have been added to allow the display and control of Ipods
directly via CQC. These features show the screen info as displayed in the Denon GUI via 9 display fields. Because these
fields are slow to update, it may take up to 1 second before the next command can be sent. To cut down on the overhead
the fields are only updated when one of the Zones has Ipod selected as it's source.
Tuning commands will not work unless a zone is powered on and it's source is set to the analog or XM tuner. Direct input
of frequencies has been added. If the frequency is less than 500 it is an FM frequency, greater than 500 is an AM frequency.
Warning: Do not leave the driver running while trying to update the Denon's Firmware, you run the risk of bricking the receiver.
Field Descriptions
See attached HTML file...
Driver is now included in CQC Release (2.3.0+)
https://www.paypal.com/en_US/i/btn/btn_donate_LG.gif (https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=TQ738S4A5STU8)
pjwinstalls
01-04-2008, 01:44 PM
I didnt try every single function, but all the ones i used worked great and stable so far.
Thanks!!
Philip
wuench
01-04-2008, 02:52 PM
Can you try to set the FXWrite to 7CHStereo and see if the FXRead reflects that?
On the 3808 it will change to 7CHStereo but the device won't respond to queries for the FX fields until it is changed to something else. So FXRead never says 7CHStereo.
new2CQC
09-05-2008, 05:07 PM
Can't find the driver I am running CQC 2.3.3... Strange I only see the 2807?
Thanks
wuench
09-05-2008, 05:27 PM
Hmmm.. I could've sworn it was added in 2.3.x, maybe it was a later release. It definitely looks like it is in 2.4.
I'll PM you a link to the file.
lpott6
09-08-2008, 11:03 AM
I will have a 2809ci on Thursday. I expect the 232 protocol to be similar except for new features. I will load it up and report back once I do some testing.
wuench
09-08-2008, 11:33 AM
Denon doesn't seem to have a protocol document out for it yet, or we could compare functions a lot easier. One difference is these new 09 boxes have Sirius support (and the 3808 and 4308 are getting an optional $100 firmware upgrade to support that as well).
lpott6
09-08-2008, 02:57 PM
Denon doesn't seem to have a protocol document out for it yet, or we could compare functions a lot easier. One difference is these new 09 boxes have Sirius support (and the 3808 and 4308 are getting an optional $100 firmware upgrade to support that as well).
I couldn't find one either. I look again tonight.
anogee
10-17-2008, 01:19 PM
I just joined the 2808CI club. My first controllable piece of AV equipment. :-D
lpott6
10-17-2008, 08:04 PM
I have been using it to control my 2809CI for almost a month and everything I have tried is working. I still want to connect zone 2 to my Russound, but haven't had time.
I think it would be safe to include the 2809CI model for this driver. It may a separate version with some added features down the road, but it is working.
wuench
10-18-2008, 06:22 AM
That's good to know. I just checked again and still no protocol document. It may not warrant one.
I just sent an email to Denon for info on the protocol updates for the 3808ci/4308ci October feature pack upgrade. It looks like the $100 update pretty much brings the 3808/4308 up to speed with the 2908's new features like Sirius Radio, Audyssey Dynamic Volume and EQ etc. Maybe that will get me the commands to support the 2908's additional features as well.
dman000000
11-19-2008, 11:50 AM
I just setup my new 2309ci and was hoping to use this driver to control the unit since the 23xx and 28xx are extremely similar in terms of features. When installing the driver I get a connected to device status but it loses the connection over and over with seemingly every poll after it reconnects.
The log shows a connection followed by timeouts and a "Poll:Exception getting async messages" error. Any idea what will stabilize the connection? I left the connection details as the default and am using a standard serial cable for the connection (same one I use for my CAV). Any help is appreciated. When I get this working, I can test out the driver to see what, if any, issues there are with the 23xx and "9" series differences.
Thanks,
Derrick
wuench
11-19-2008, 12:55 PM
What is the rest of the message for the exception? There should be more to it that tells exactly what type of exception occurred. Maybe "Timed out waiting for a message".
Also, Can you connect to it with hyperterm? 9600-N-8-1
Then type PW? and see if you get a response.
dman000000
11-21-2008, 06:40 PM
Here is a snippet of the log (numerous timeouts were removed to keep the length down):
11/21 22:24:47-HomeAuto, CQCServer, CQCDrv_2309ci_Thread8
{
CQCKit, MEng.System.CQC.Runtime.CQCLogger.865, Status/App Status
GetResponse: Timeout (%1 of %2).
}
11/21 22:24:47-HomeAuto, CQCServer, CQCDrv_2309ci_Thread8
{
CQCKit, MEng.System.CQC.Runtime.CQCLogger.1348, Status/App Status
Poll: Exception getting async messages. Timed out waiting for a message
}
11/21 22:24:48-HomeAuto, CQCServer, CQCDrv_2309ci_Thread8
{
CQCKit, MEng.System.CQC.Runtime.CQCLogger.865, Status/App Status
GetResponse: Timeout (%1 of %2).
}
11/21 22:24:48-HomeAuto, CQCServer, CQCDrv_2309ci_Thread8
{
CQCKit, MEng.System.CQC.Runtime.CQCLogger.1477, Status/App Status
Exception during poll. Timed out waiting for a message
}
11/21 22:24:48-HomeAuto, CQCServer, CQCDrv_2309ci_Thread8
{
CQCKit, CQCKit_DriverBase.cpp.2667, Status/App Status
Driver '2309ci' has lost connection to it's device
}
11/21 22:24:50-HomeAuto, CQCServer, CQCDrv_2309ci_Thread8
{
CQCKit, CQCKit_DriverBase.cpp.2528, Status/App Status
Driver '2309ci' is trying to connect to its device
}
11/21 22:24:50-HomeAuto, CQCServer, CQCDrv_2309ci_Thread8
{
CQCKit, MEng.System.CQC.Runtime.CQCLogger.865, Status/App Status
GetResponse: Timeout (%1 of %2).
}
I removed a whole of timeouts here...
}
11/21 22:24:58-HomeAuto, CQCServer, CQCDrv_2309ci_Thread8
{
CQCKit, CQCKit_DriverBase.cpp.2570, Status/App Status
Driver '2309ci' has connected to its device
}
11/21 22:25:00-HomeAuto, CQCServer, CQCDrv_2309ci_Thread8
{
CQCKit, MEng.System.CQC.Runtime.CQCLogger.865, Status/App Status
GetResponse: Timeout (%1 of %2).
}
11/21 22:25:00-HomeAuto, CQCServer, CQCDrv_2309ci_Thread8
{
CQCKit, MEng.System.CQC.Runtime.CQCLogger.1348, Status/App Status
Poll: Exception getting async messages. Timed out waiting for a message
}
11/21 22:25:00-HomeAuto, CQCServer, CQCDrv_2309ci_Thread8
{
CQCKit, MEng.System.CQC.Runtime.CQCLogger.865, Status/App Status
GetResponse: Timeout (%1 of %2).
}
11/21 22:25:00-HomeAuto, CQCServer, CQCDrv_2309ci_Thread8
{
CQCKit, MEng.System.CQC.Runtime.CQCLogger.1477, Status/App Status
Exception during poll. Timed out waiting for a message
}
11/21 22:25:00-HomeAuto, CQCServer, CQCDrv_2309ci_Thread8
{
CQCKit, CQCKit_DriverBase.cpp.2667, Status/App Status
Driver '2309ci' has lost connection to it's device
}
11/21 22:25:02-HomeAuto, CQCServer, CQCDrv_2309ci_Thread8
{
CQCKit, CQCKit_DriverBase.cpp.2528, Status/App Status
Driver '2309ci' is trying to connect to its device
}
11/21 22:25:03-HomeAuto, CQCServer, CQCDrv_2309ci_Thread8
{
CQCKit, MEng.System.CQC.Runtime.CQCLogger.865, Status/App Status
GetResponse: Timeout (%1 of %2).
}
As for your question about hyperterm...I honestly have no idea how to do that. I think I established a connection over the COM port but don't know how to send anything. The connection stayed stable for the 3 or so minutes that I was connected (CQC can't sustain the connection for more than a couple of seconds). I've tried two different COM ports including one that I know works perfectly with other devices.
Thanks again for taking a look.
wuench
11-22-2008, 04:35 AM
When you connect with Hyperterm, just type PW? and see if you get anything back.
The difference is the driver is actually trying to send something and if it doesn't get the response it expects back (or any response) it logs a timeout, after 3 timeouts it reconnects.
dman000000
11-22-2008, 04:52 AM
sorry for the remedial question, but how exactly do i use hyperterminal to do what you suggest? i created a new connection using COM1 at 9600-N-8-1 and it says it is connected but i cannot type anything into the window and i do not see any kind of command prompt or command option. i am using xp with sp2.
sic0048
11-22-2008, 05:09 AM
It is probably how hyperterm is set up. In the options menu (going off memory here), you need to turn on the echo local characters so you can actually see what you are typing.
Mark Stega
11-22-2008, 05:17 AM
sorry for the remedial question, but how exactly do i use hyperterminal to do what you suggest? i created a new connection using COM1 at 9600-N-8-1 and it says it is connected but i cannot type anything into the window and i do not see any kind of command prompt or command option. i am using xp with sp2.You just put the cursor in the main window and type. You won't see characters unless the device you are connected to explicitly echos any input or you turn on local echo. So as wuench suggested, type PW? and see if anything comes back from the device. If not, then
1) The port is bad (unlikely unless you are using a USB to serial adapter)
2) The cable is incorrectly wired (likely - have stright through, need null modem or VV)
3) The device is not configured to communication (possible)
wuench
11-22-2008, 05:46 AM
I concur with all of the above, here are some other thoughts that may help.
I believe the Denons take a straight though serial cable. Not null modem.
Make sure that all other programs and drivers that are configured to use that COM port are shutdown.
Make sure the RS232 port on the Denon is setup for "Serial Control" and Setup Lock is "Off". Under the menu Manual Setup...Option Setup on the Denon.
And hit <enter> after you type PW?.
dman000000
11-22-2008, 01:52 PM
Okay - here is the situation:
Using hyperterminal, I connect through the appropriate port (enable echoing) and type PW? but nothing at all happens. There is a few second delay between the keystroke and the display of the character if that at all matters. I suppose a significant user error could still be the issue with doing exactly what you are suggesting since I am not very COM port/ hyperterminal savvy.
1) The port is bad (unlikely unless you are using a USB to serial adapter)
I have the standard serial and an addon card with two additional. I've tried this on two different ports with no luck while I can add my CAV66 to either port with no issues
2) The cable is incorrectly wired (likely - have stright through, need null modem or VV)
I am using the same cable that I use to connect the CAV (which also uses straight through)
3) The device is not configured to communication (possible)
I confirmed that RS-232 is set to "Serial Control" and that Setup Lock is "Off" in the Denon menu.
There is nothing else on this machine that uses a serial port and as I mentioned, there is no issue with connecting the CAV using these ports (I keep removing and adding that driver while trying to troubleshoot).
Any ideas on what else I could try to see what is going on?
EDIT: I also realized that I am able to send commands to the receiver but it just can't hold the connection. I was able to sneak in power and mute commands during the brief times that it does reconnect and confirmed at the receiver that the state is changing appropriately.
wuench
11-22-2008, 03:15 PM
If you have the COM port set to 9600-8-N-1 then I am out of ideas.
I noticed this (http://denon.custhelp.com/cgi-bin/denon.cfg/php/enduser/std_adp.php?p_faqid=4&p_created=1168015684&p_sid=qlXgocej&p_accessibility=0&p_redirect=&p_lva=&p_sp=cF9zcmNoPSZwX3NvcnRfYnk9JnBfZ3JpZHNvcnQ9JnBfc m93X2NudD0xNDQsMTQ0JnBfcHJvZHM9JnBfY2F0cz0mcF9wdj0 mcF9jdj0mcF9zZWFyY2hfdHlwZT1hbnN3ZXJzLnNlYXJjaF9ub CZwX3BhZ2U9MQ**&p_li=&p_topview=1) on Denon's site.
Other than that I would try and contact Denon and see what's up. Until you can get reliable communication through hyperterm, there is no way the driver is going to work. The time it is taking to respond is just way to long, and if we adjusted the driver for the kind of response times you are describing, it would hang CQC all the time.
dman000000
11-22-2008, 05:03 PM
I did see that same page which I was why I tried sending some commands even though the connection wasn't stable. The unit is clearly responding to what I am sending so it seems like a different issue than what that answer addresses.
But I am still not convinced that I am doing the hyperterminal test properly. I removed the (working) CAV driver and tested that COM port on hyperterminal following the same steps and received no echoed characters/ no response back at all. I know for a fact that that connection is good since I just sent commands to the CAV using the driver with no issues. Some quick web searching brings up the same steps that you describe so I am puzzled why I wouldn't see anything. I thought it might matter that I typically work off of the CQC server via remote desktop (no monitor in the closet) but saw the same results after doing it direct from that machine.
I'd feel a lot better about calling Denon about this if I could get a response from another device through the hyperterminal test. Are there other settings that I am missing? Is there a command line approach to pinging a device on the other side of the port?
dman000000
11-26-2008, 10:21 AM
I'm still trying to get a stable connection with the 2309 using this driver and came across something that I think could be relevant. i pulled up the protocol docs for the 2808 and the 2309 and they look absolutely identical in terms of communication format except for one thing.
Under "Synchronous system" the two protocols show the following info:
2808CI: Tone step synchronization
2309CI: Asynchronous
Given that the error message in my logs is "CQCKit, MEng.System.CQC.Runtime.CQCLogger.1348, Status/App Status
Poll: Exception getting async messages. Timed out waiting for a message", I thought this might be something...
The 2809 protocol also says Asynchronous so maybe this is a generational change to the protocol. Not knowing anything about what this really means, I figured I'd throw it out there to see if this makes sense to anyone and if an alternate version of the driver could be created with this change.
Thanks!
Mark Stega
11-26-2008, 11:47 AM
I'm still trying to get a stable connection with the 2309 using this driver and came across something that I think could be relevant. i pulled up the protocol docs for the 2808 and the 2309 and they look absolutely identical in terms of communication format except for one thing.
Under "Synchronous system" the two protocols show the following info:
2808CI: Tone step synchronization
2309CI: Asynchronous
Given that the error message in my logs is "CQCKit, MEng.System.CQC.Runtime.CQCLogger.1348, Status/App Status
Poll: Exception getting async messages. Timed out waiting for a message", I thought this might be something...
The 2809 protocol also says Asynchronous so maybe this is a generational change to the protocol. Not knowing anything about what this really means, I figured I'd throw it out there to see if this makes sense to anyone and if an alternate version of the driver could be created with this change.
Thanks!
That part of the protocol manual is curious -- I've never heard or "Tone step synchonization" and if you Google search the term the only place it shows up is in Denon serial protocol manuals. I think this is a red herring.
I would have thought that the lack of XM would have made the driver fail when it tried to query the XM info...
[Edit] I looked at the driver and it you run it in the driver test harness there are a ton of debug writes; You can probably find out what query is causing the problem.
dman000000
11-27-2008, 03:42 PM
I finally figured out the problem. The offending query was Z3?. The 2309 doesn't have a zone3 so it was losing the connection every time that query was sent. It really surprised me that the effect of sending an unrecognized query would be so dramatic. I did a quick and dirty fix by replacing all "Z3" commands to the unit with "Z2" and sure enough the connection has been rock solid all day with no lost connections. I am still getting some timeout errors in the log file presumably from other unsupported features versus the 2808, but at least I have it working...
phenix
04-19-2009, 12:21 PM
Would this driver work with a denon 2308ci?
wuench
04-19-2009, 02:00 PM
The Denon protocol is pretty standard across the whole line so maybe, the only way to know for sure is to try it.
Dean Roddey
04-19-2009, 02:52 PM
Most of the time they won't work. They will kind of work, but there are almost always small differences that will bite you, because the device returns something the driver can't understand.
phenix
04-19-2009, 03:44 PM
So what would my options be? I can either control it by IR or hope that someone will write a driver for it.
Dean Roddey
04-19-2009, 05:47 PM
More or less. It's probably very similar to one of the other variants, so the effort required might not be too much.
dman000000
04-24-2009, 06:31 AM
Would this driver work with a denon 2308ci?
I'd say go ahead and give it a shot. I assume you will get the same issues that I had with the 2309ci, where it will get angry because of just a few unrecognized commands. If you are at all comfortable going into the driver file to make a few edits, it was a pretty easy fix for me to get it working. While there are many differences between the 2308(9) and the 2808, the only one that was involved in the polling process (and therefore created problems) was the lack of a zone 3. I just changed all references to "Z3" to "Z2" and it has been rock solid since.
phenix
04-26-2009, 04:00 PM
Thanks for all the replies
dman000000 Thank for the tips
I've never done any driver stuff but I'm willing to give it a shot to get this to work. I'm new to CQC but if you could maybe point me in the right direction to where I would go to edit the driver or any good post you know of on this topic I would really appreciate it.
Thanks
SomeWhatLost
05-29-2011, 02:48 PM
anyone have any luck getting this to work with a denon 2310ci?
is there a better/closer match driver to use with the 2310?
vBulletin v3.5.4, Copyright ©2000-2013, Jelsoft Enterprises Ltd.