PJLink Troubleshooting
-
@woland
Hello, I'm having the exact same problem with the exact same projector model - did you ever figure it out? I'm trying to send POWER ON and POWER OFF commands. -
@andy-demaine-iic said:
The IP address and port number is the same and there is no password
What exactly is the port number you are using? Regarding to this fresh forum thread by @eamon, he experienced the very same error "initial response not PJlink". It was found, that the port number he used was connected to some else service published by the projector, but PJlink beeing published on a different port number than misunderstandably suggested by the manual. Regarding to the Optomas users manual, the Port where the PJLink service is listening on, is 4352. Which is the exact same as used by Panasonic projectors and seams to be the default Projector Link service port: http://tcp-udp-ports.com/port-...
Best Dill
-
From our PJLink knowledge base article:
IMPORTANT NOTE: THE IP PORT FOR PJ LINK IS ALMOST ALWAYS 4352!
According to the PJ Link Specification, the default IP Port used for PJ Link is 4352. The menus/user interfaces on some projectors (notably Panasonic) might lead you to believe that you can change the PJ Link port number. But our experience and user feedback indicate this is almost never the case. Always try 4352 first!
If changing the port to 4352 doesn't work, try working through the steps in the article one by one.
Best wishes,
Woland
-
@woland Sorry I missed your replies. I'm pretty sure the port was set to 4352, but I'm not in the studio now. Will verify tomorrow. By the way, PJLink worked perfectly with the test application and also over telnet using the same port. No luck from Isadora though. However it does work fine from Isadora for my Epson Projectors. Thanks so much for the help!
-
@Woland just to confirm - the port in the Isadora PJLink actor is set to 4352. Using the test application or Telnet, I can turn the projector on and off using this port. Isadora gives me the "initial response not PJLINK" error message. When I change the IP address in the actor to one of my Epson projectors, everything works. Let me know if I can do anything to troubleshoot, I'm happy to invest some time getting this to work. The installation will only be launched in September so it would be wonderful to find a solution until then. Alternatively I'm considering writing a shell or Python script to automate power on/off, but it would be amazing to have everything within Isadora. Thank you!
-
From the manual for the Optoma ZH406ST:
This projector supports all commands of PJLink Class1 (Version 1.00).
http://pjlink.jbmia.or.jp/english/That being said, could you please:
- Try this test file with your two projectors PJLink Test.izz.zip.
- Let me know the model number of your Epson projectors
- Let me know the IP address of your Optoma and Epson projectors
-
@woland Sorry again for the delay. I tried your test file and it gives me the exact same result.
My Epson projectors work with Class 1 commands but not with Class 2. The Optoma gives me the "initial response not PJLINK" error on any command or query sent with the PJLink actor.
The Epson projectors I tested with are EB 700U and EB 2265U. All works perfectly on these.
Regarding IP adresses, initially I had all projectors on a 192.168.0.X network with DHCP. Currently I have them on separate network adapters due to the requirements of the installation, so the Epson 700U is set to a static IP of 192.168.1.2 and the Optoma ZH406ST is set to 192.168.2.2. Things continue to work for the Optoma with the PJ Link test application, but not with Isadora.
I did notice that the Optoma's network functionality seems generelly less mature and stable compared to the Epsons. It took me a few minutes and restarts to make it remember the static IP I set it to.
Thank you!
-
Update: Seems like other people are having problems with some projector brands' PJLink implementations. Apparently Optoma, Benq and some NEC projectors don't return valid standard class PJLink replies. So it might not be an Isadora-specific problem. Strange though that the official PJLink test app works despite this. Does this mean PJLink from Isadora categorically doesn't work with these brands due to their non-standard implementation? Is there any way to ignore the incorrect response, since the actual functionality does seem to work when the commands are sent from the test app or Telnet?
References:
- "Known Issues" note on https://www.sigmasix.ch/projec...
- https://forums.openlp.org/disc...
-
So we beta tested the PJ Link application before, and we tested it with the Test application and a few projects that I and others had lying around that where PJ Link enabled. Like you can imagine, we haven't tested out every single projector in the market. But if a projector is not sending PJLink commands in the order / described as in the protocol documenation then you can hardly say that Isadora is the fault ;) This is a Projector error. Regarding why it works with the Test application, it seems that they are not validating the response from the Projector to verify that it is as described in the protocol documenation. Could Mark add a way to still make it work with your projector, I think so. Some kind of hidden input field with an option to disable verifaction would already go a long way for your use-case / projectors.
Could you log the above ? It is kinda a bug-report / feature request.
-
I am happy to make an update to the Send PJLink actor, but I'm going to need some documentation on the replies that are actually being sent. Unfortunately, I don't have access to the models of projectors you mention, and so it's sort of impossible for me to try this and find out what's happening.
I guess I need to implement some way to write out the transactions.
(Sidenote: @Maki it is the convention in this forum to add your primary operating system and hardware to your signature line. Could you please add that? Having it there would have saved me from asking the next question.)
Are you running on macOS or Windows?
Best Wishes,
Mark -
Thank you! That's amazing. I can provide our Optoma projector for testing (based in Vienna), or give remote access to the computer connected to it. Or run tests and report the results.
Regarding OS, I work with both Mac and Windows. This particular project will be run from a Windows PC. Will add this to my signature. Conventions are important :)
-
Here's a special version of the PJLink actor that will output a "log" of the communications with your projector.
1) Set up all the parameters to talk to your projector, make sure it's at least trying.
2) Leave the scene and come back to clear the log output
3) Attempt to send a message to the projector
4) Click the 'log' output and copy all the text inside
5) Paste that text in your response to this messageNOTE: THIS IS NOT THE NORMAL RELEASE VERSION OF THIS PLUGIN! INSTALL THIS ONLY IF YOU NEED TO DEBUG COMMUNICATIONS WITH YOUR PROJECTOR!
Here's the plugin:
send-pjlink-mac-debug-output-v3.zip
You need to install this plugin at /Library/Application Support/TroikaTronix/IsadoraPlugins_x64/ -- move the existing Send PJLink actor somewhere else, and install this special version instead.
Best Wishes,
Mark -
Thank you! I tried using the custom PJLink actor, unfortunately I don't see the log output. I tested on a Mac with a fresh install of Isadora 3.0.7. (so no risk of mixing up the custom actor with the regular one). Also tried Windows but it seems the custom actor is not working there. Is the log output supposed to be part of the actor (next to "response", "error" and "recv response")? Or should I look somewhere else?
-
Sorry, my bad. I uploaded the wrong plugin. Please download the file send-pjlink-mac-debug-output.zip from the post above and install it as instructed. This plugin is macOS only. There is no Windows equivalent at this time.
You'll see that it has the log output as shown here.
Best Wishes,
Mark -
Hey,
I downloaded the PJLink actor and connected the Optoma ZH406ST to the network.
Log when sent "Power On"
Process 0x7faa21556520: cmd '%1POWR' - param = '1'
get host name
create socket
connect to socket
wait for connection response
get response
shutdown socket
close socket
close socket err = 0
Log when sent "Power Off"Process 0x7f8d793c5740: cmd '%1POWR' - param = '0'
get host name
create socket
connect to socket
wait for connection response
get response
shutdown socket
close socket
close socket err = 0If you need any other commands sent just let me know.
Mat
-
Well, shoot. It didn't print out the actual message sent back from the projector so I can see what is wrong with it.
I've made an update to ensure that information is in the log and tested it with the emulator. So please try again. Sorry for making you do it twice.
Best Wishes,
Mark -
No problem. Thx for your help!
Power Off:
Process 0x7fc324ef2960: cmd '%1POWR' - param = '0'
get host name
create socket
connect to socket
wait for connection response
received initial response: >>>pjlink 0
<<<
initial response doesn't start with PJLINK
shutdown socket
close socket
close socket err =
Power On:
Process 0x7fc32261e320: cmd '%1POWR' - param = '1'
get host name
create socket
connect to socket
wait for connection response
received initial response: >>>pjlink 0
<<<
initial response doesn't start with PJLINK
shutdown socket
close socket
close socket err = 0Mat
-
Is the request terminated because PJLINK is not in caps ?
-
@juriaan said:
Is the request terminated because PJLINK is not in caps ?
Yep. That's it. I'll change the code so that it does not care about capitalization.
Best Wishes,
Mark -
@iink said:
No problem. Thx for your help!
OK. Hopefully this will solve it. This is still with the log enabled. Once we prove it works, I'll remove that.
send-pjlink-mac-debug-output-v3.zip
Best Wishes,
Mark