Unable to start Damon Deen's DirecTV driver

Odeen

Member
Hi guys,

I have just downloaded Damon Deen's "Various Drivers" package (http://www.cocoontech.com/forums/index.php?showtopic=14446&st=0&p=122565&) to try out RS-232 control of my DirecTV receiver.

I unzipped the various DLLs into the C:\Premise\SYS\bin\devices folder, restarted the Premise server, and added the DirecTV addin.

I then received the following Event Notification:
sys://Devices/Directv
Driver object could not be created.

The Error Info for DirecTV object is:
Error: Subsystem not registered.

What could I be doing wrong? Having RS232 control over the DirecTV receiver is kind of a big deal. In addition, other DLL drivers from the package (Integra, Infocus, Marantz and NAD) seem to load. My Premise install is, I believe okay, as I've been running the Vizia driver with about 25 nodes for several weeks now (and even had a little bugfix for it :p )

Thanks in advance!
 

etc6849

Senior Member
I don't use this one, but I just installed it as a test and it seems to work?!?

It sounds like you are doing everything correctly:

1. Paste the dll file (dll files only, do not paste the source code that's included in the zip).
2. Stop both Premise services (prkernel and psmonitor)
3. Restart Premise services
4. Open Builder and install Add-Ins

Have you tried toggling Status (see jpeg)? Also, I would try unchecking the add-in, deleting the dll file, restart, then re-download and perform the steps above. Also, I would try making a client backup of your Premise install (creates a large xdo file), change the xdo extension to xml, then open the xml in iexplorer and check for xml errors (e.g. invalid characters).

Also, what version of windows are you using? User Access Control turned on? Is Premise installed under an admin account? I don't think it's a windows issue, but that's just a few things to check. I did my test on Windows 7 Pro 64 bit and everything worked fine...
 

Attachments

  • direcTV.jpg
    direcTV.jpg
    29.5 KB · Views: 0

Odeen

Member
I don't use this one, but I just installed it as a test and it seems to work?!?

It sounds like you are doing everything correctly:

1. Paste the dll file (dll files only, do not paste the source code that's included in the zip).
2. Stop both Premise services (prkernel and psmonitor)
3. Restart Premise services
4. Open Builder and install Add-Ins

Have you tried toggling Status (see jpeg)? Also, I would try unchecking the add-in, deleting the dll file, restart, then re-download and perform the steps above. Also, I would try making a client backup of your Premise install (creates a large xdo file), change the xdo extension to xml, then open the xml in iexplorer and check for xml errors (e.g. invalid characters).

Also, what version of windows are you using? User Access Control turned on? Is Premise installed under an admin account? I don't think it's a windows issue, but that's just a few things to check. I did my test on Windows 7 Pro 64 bit and everything worked fine...


Thank you for testing the addon for me!

I just fired up my test Premise environment (Windows XP Home SP3, Admin user account). The computer has no antivirus and the firewall is turned off.

I uninstalled Premise, and deleted the Premise folder. I then rebooted, reinstalled Premise, and created a minimum configuration (Apartment model, Automation Browser and Global Cache drivers).

I then stopped the two Premise services, downloaded the Various Drivers ZIP file, and unzipped the DirecTV DLL into the BIN folder.
Restarted Premise, opened Builder, went to Add-Ins and found DirecTV on the bottom of the list. Added it and... Same error message.

This seriously disappointing :(. Is it possible to find out if this DLL has any dependencies? Could it be relying on some Microsoft DLL that was present on Win2K or older XP boxes, but is no longer present in an up-to-date install of XP?
 

Odeen

Member
FIXED!!!!!
Short version: The DirecTV driver requires MSVCR71.DLL to be in C:\Windows\System folder.


Long version:
So I thought to myself, "Well, what does it MEAN when a DLL can't load a subsystem?" Perhaps there's a subsystem outside of the DLL that the DLL needs. Perhaps it's a.... <drumroll> DEPENDENCY

Enter PE Explorer demo.

I loaded the DLL into PE explorer, and scanned it for dependencies. Kernel32.dll, user32.dll, etc, those DLL's all come with Windows and shouldn't be an issue. But this DLL was written in what, Microsoft Visual C++? That means that it needs MSVCR71.DLL, and it needs it, according to PE Explorer in C:\Windows\System.

I did not have MSVCR71.DLL in C:\Windows\System.

A quick download later, I placed the DLL file in my Windows folder, started the driver and... lo and behold, it works. Off to hook my DirecTV box to my GlobalCache, and to try it out. :)



Note to Premise file area admins: Please add a note to the Various Drivers file that the DirecTV driver requires MSVCR71.DLL. Hopefully it'll prevent others from having to duplicate my efforts. :)
 

chucklyons

Active Member
I don't use the DirecTV driver, but is it possible for you to put it in as a separate driver and include the missing dll?
 

Odeen

Member
I don't use the DirecTV driver, but is it possible for you to put it in as a separate driver and include the missing dll?

MSCVRT71.DLL is Microsoft property.. while it IS freely available on the internet, and gets installed by various commercial software packages, it's still a little iffy to actually have it avaialble for download.
 

etc6849

Senior Member
Now that you have it working, how in depth is the integration with your directv box? Is it a full two-way driver? Does it tell Premise what show is currently playing? Just curious. Thanks!
 

Odeen

Member
Now that you have it working, how in depth is the integration with your directv box? Is it a full two-way driver? Does it tell Premise what show is currently playing? Just curious. Thanks!

It's not working yet. DirecTV HR24 is really picky about USB to serial adapters, and neither one I own works. I'm going to pick up a supposedly compatible one later tonight and will report back.
 

Odeen

Member
I have a few preliminary results to report about the DirecTV driver. I'm using a DirecTV HR24 DVR with an IOGear USB to RS232 adapter. I couldn't get it running for the LONGEST time until I remembered to set the serial server's port speed to 9600 baud. Do'h. :)


1) All major functionality WORKS. Transport controls, channel selection, color buttons, back, list, and guide buttons all work.

2) "Media clip" information, and position within the media clip does NOT work. It would be nice if DirecTV box could transmit the program name, length, and current position, and the driver seems to allow for it, but it doesn't work.

3) The driver continuously polls the DVR for current channel information. As a result, the DVR becomes unresponsive after a few days of this, and requires a soft reset. I'd be much happier if the polling happened once every 15-30 seconds instead of several times a second.

4) Probably my Premise noobness (noobosity?), but I still can't actually use transport controls of the DVR from the Premise front-end UI. Something about the media zone UI buttons not mapping onto the actual transport controls of the DVR. They work when I'm using the DVR object in Premise Builder, but something gets broken with the media zone. Better watch the Home Theater Control training video. :)

5) While on the subject, Premise seems to come with a DirectTV and Dish Network channel lineups and icons in an add-on. I'd love to be able to integrate that into the UI, and have pushbutton access to major channels.
 
Top