0

Networking: Static IP, Proxy, TimeServer, etc.



Hi,
I want to use a static IP Adress. I only found that it is possible but not how? (Description of the release)

best regards
Stefan

30 comments

  • 0
    Avatar
    RokuLyndon


    The easiest way to do this is with BrighAuthor. Using version 3.5 or later, you also don't need to calculate the broadcast addres. 

     

    The units use DHCP by default but you can use a script to manually set the IP or to change back to DHCP. The scripts below are just text files. You edit the script to use your own IP settings when manually setting the IP address.

    Manual IP Script
    Set to DHCP

    These are the actual manual IP address lines in the manual script:

    • nc.SetIP4Address("192.168.0.66")
    • nc.SetIP4Netmask("255.255.255.0")
    • nc.SetIP4Broadcast("192.168.0.255")
    • nc.SetIP4Gateway("192.168.0.1")
    • nc.AddDNSServer("192.168.0.1")




    Setting Proxy Server
    You can use the Brightsign with a proxy server. This has been tested in several customer applications. To use it, just add the proxy server setting to either of the scripts above directly before this Apply entry that saves settings: nc.Apply()

    Proxy Server Address added:
    nc.SetProxy("http://proxy.yourcompany.com:port/")

    Proxy with Username and Password
    nc.SetProxy("http://username:password@proxy.yourcompany.com:port/")

    Note: See below for details for adding a proxy server only for RSS feeds used in BrightAuthor.

    Time Server
    You can set the Brightsign to use your time server or a different time server than time.roulabs.com. To use it, just add the time server setting to either of the scripts above directly before this Apply entry that saves settings: nc.Apply()

    nc.SetTimeServer("time.myserver.com")


    RSS Proxy for BrightAuthor - Added 6/10/2010

    Ok, BrightAuthor uses a master script for playback. GO to c:/program files/brightsign/brightauthor/templates, and copy the autoxml.brs file to your desktop. Rename it to autoxml-rss-proxy.brs. The name isn't critical so long as you know why it's different. You can open it in any text editor. There's a custom autorun field near the top where you can change the version number from 3.2.1 to something else, again, so that you know you've modified the file.

    Do a search for "roRSSParser" and you'll find this function:

    Sub newRSSPlaylistItem(playlistItemXML As Object, playlistItemBS As Object)

       ' read rss url
       ' read rss title
       rssSpec = playlistItemXML.rssSpec
       rssSpecAttrs = rssSpec.GetAttributes()
       playlistItemBS.rssURL$ = rssSpecAttrs["url"]
       playlistItemBS.rssTitle$ = rssSpecAttrs["title"]
       
       playlistItemBS.rssURLXfer = CreateObject("roUrlTransfer")
       playlistItemBS.rssURLXfer.SetUrl(playlistItemBS.rssURL$)
       playlistItemBS.rssURLXfer.GetToFile("tmp:/rss.xml")
       playlistItemBS.rssParser = CreateObject("roRssParser")
       playlistItemBS.rssParser.ParseFile("tmp:/rss.xml")
           
    End Sub





    We're going to add this line to the function:

    playlistItemBS.rssURLXfer.SetProxy("www.myproxyserverhere.com") 'add this line with your proxy server


    Sub newRSSPlaylistItem(playlistItemXML As Object, playlistItemBS As Object)

       ' read rss url
       ' read rss title
       rssSpec = playlistItemXML.rssSpec
       rssSpecAttrs = rssSpec.GetAttributes()
       playlistItemBS.rssURL$ = rssSpecAttrs["url"]
       playlistItemBS.rssTitle$ = rssSpecAttrs["title"]
       
       playlistItemBS.rssURLXfer = CreateObject("roUrlTransfer")
       playlistItemBS.rssURLXfer.SetUrl(playlistItemBS.rssURL$)

       playlistItemBS.rssURLXfer.SetProxy("www.myproxyserverhere.com") 'add this line with your proxy server

       playlistItemBS.rssURLXfer.GetToFile("tmp:/rss.xml")
       playlistItemBS.rssParser = CreateObject("roRssParser")
       playlistItemBS.rssParser.ParseFile("tmp:/rss.xml")
           
    End Sub


    And, now that we're done, open BrightAuthor, go to File, Presentation Properties, Autorun, and select custom autorun, and browse to your modified file so you can add it to a project. Now, when you publish this project you're workign on, it will use the custom autorun.

  • 0
    Avatar
    racheson


    How would I implement this in an existing BrightAuthor environment?  Can it be done via software or does it require publishing new network setup files and then combining them with this brs and physically swapping cards?



    Thanks,

    Rob
  • 0
    Avatar
    RokuLyndon


    Implement which?

    The proxy, manual IP, time server?





    Is this for an actual install, or are you testing currently?
  • 0
    Avatar
    racheson


    I have a currently installed system that is managed via BrightAuthor.  5 HD1010s on an internal network.  The client has asked that we change the players from DHCP to static IP.  I am confident that I can edit the brs with the needed IP address information.  But I would like to know if I can push this update out through BrightAuthor or do I need to copy autorun.brs onto a card and physically install it in the players?  After updating can I just put the previously working show card back in?  Or do I need to re-publish network setup files and the show from BrightAuthor?



    Thanks,

    Rob
  • 0
    Avatar
    RokuLyndon


    You can run the script to manually set the IPs, then switch back to the flash cards that have the content. If you're using the same flash cards, you can move the content into a subfolder, and then run the script.



    This is the easiest way to do it if manually swapping out the cards isn't a problem.
  • 0
    Avatar
    andy miller


    Hi Lyndon

    We have used the proxy setting to enable us to get RSS feeds from an external site.  <!-- s:D --><img src="{SMILIES_PATH}/icon_biggrin.gif" alt=":D" title="Very Happy" /><!-- s:D -->

    The problem we have now encountered is that when the HD210 player tries to get updates from our internal web server, it uses the proxy server, which is not allowing the content to be updated properly.  <!-- s:( --><img src="{SMILIES_PATH}/icon_sad.gif" alt=":(" title="Sad" /><!-- s:( -->
    (We looked at the IIS logs to confirm that the proxy was being used)

    We have tried to reset the network settings using a script, but this does not appear to reset the proxy settings. Is there a special command we must use to do this ?  <!-- s:?: --><img src="{SMILIES_PATH}/icon_question.gif" alt=":?:" title="Question" /><!-- s:?: -->

    What we would like is to have a proxy exception list, like web browsers, so that when the player needs to get updated content from the local server, it does not need to use the proxy. Is this possible ?  <!-- s:?: --><img src="{SMILIES_PATH}/icon_question.gif" alt=":?:" title="Question" /><!-- s:?: -->

    Thanks

    Andy
  • 0
    Avatar
    rbradway


    What is the nature of the BROADCAST property?  We are changing the static IP for our configuration to a new IP as we upgraded our network. We are unsure what we need to change the BROADCAST setting to.
  • 0
    Avatar
    RokuLyndon


    You should be able to set the proxyt to nothing "" to remove it.
  • 0
    Avatar
    RokuLyndon


    You should be able to leave that setting blank, but it's the broadast address for your subnet.

    SO, if you are using IP range 192.168.1.x - 192.168.1.254 and your subnet mask is 255.255.255.0 then your broadcast address would be 192.168.1.255. This is the address that would be used to send a broadcast message to all devices on your subnet.

    That's my understanding. I'll ask one of our network guys for clarification.
  • 0
    Avatar
    RokuLyndon


    Ok, if the proxy is only needed for the rss feed, then we can modify the autorun script that you're using so that the proxy value is only set for the rss feed. I can show you where to make the changes in the autorun file. If you're using BrightAUthor, I can show you how to update the script that BrightAuthor publishes with each project.
  • 0
    Avatar
    andy miller


    Thanks Lyndon

    I set the proxy to nothing and this has helped.

    We do use BrightAuthor, so changing the script that BrightAuthor publishes would be best.
  • 0
    Avatar
    rbradway


    Can you elaborate on the TimeServer setting?  To what should we be pointing?  An Internet time service?  Or a plain vanilla server on our internal network to which we want to sync to its time?  This is a new concept for me.  If you could provide an tangible example, I would understand better.  Thanks.
  • 0
    Avatar
    RokuLyndon


    The timer server can point to an internal server. By default, it goes to time.rokulabs.com, although that might have been updated recently to a brightsign domain. So, you can change it to an internal time server if your network blocks udp port 123.
  • 0
    Avatar
    andy miller


    Hi Lyndon

    Any update on the proxy server setting for just RSS feeds.

    Thanks

    Andy
  • 0
    Avatar
    aatkinson


    I recently created a new Project for my HD210's that I'm running on simlpe networking.  I seem to be having trouble connecting to the time server, and to the media RSS feed i have from framechannel.  These features were working before I created a completely new Project, but im not sure what has changed.  I am using the default timeserver(time.brightsignnetwork.com) but all that displays is 88:88.  Also when my presentation gets to the point where the MRSS should be displayed it freezes on the slide that is before the feed.  

    Any advice you have on this subject would be greatly appreciated.

    Adam Atkinson
    <!-- e --><a href="mailto:aatkinson@itwengfast.com">aatkinson@itwengfast.com</a><!-- e -->
  • 0
    Avatar
    RokuLyndon


    It sounds like you no longer have network connectivity. THe framecontent isn't related to the time. I'd double check if you have ethernet link on the back of the unit. But, no time and no framechannel poing to a network problem, either the cable, the unit, or the connection itself.
  • 0
    Avatar
    aatkinson


    Lyndon,

    I am having this problem on more than one device, but they are recieving updates from my web server as far as content.  I can update with say a Test.bmp and that will come up with no problems on every device, and i can ping the IP address I assigned to each device without any problems.  

    Thanks for your time,

    Adam Atkinson
  • 0
    Avatar
    RokuLyndon


    Is your webserver on the local network or internet?

    Our time server is on the internet, and the framechannel content is on the  internet. So, if local connectivity works fine, it seems that it's more of a routing or possibly a dns issue that's causing the problem. Are the units just connected to DSL for internet access?
  • 0
    Avatar
    jamec9869


    It sounds like you no longer have network connectivity. THe framecontent isn't related to the time. I'd double check if you have ethernet link on the back of the unit. But, no time and no framechannel poing to a network problem, either the cable, the unit, or the connection itself.





    __________________
    watch free movies online
  • 0
    Avatar
    Ceo


    I need config to HD210W to work whith dinamic ips and a proxy. How can i do it? I m using BrightAutor 2.2.0.37.

    Thanks in advance

    David
  • 0
    Avatar
    RokuLyndon


    By default, the unit is setup for dhcp. So, you don't have to do anything special there. There's a script attached to his thread that you can download that has an entry for proxy settings. Further up in this thread is the format that the proxy settings would take.
  • 0
    Avatar
    Ceo


    Dear Lyndon, thanks by your fast reply.

    If i understand right (i'n mewbie), i must edit the .brs file and modify the networl config and add the command   nc.SetProxy("http://proxy.yourcompany.com:port/"). Finally, add it to the card replacing the .brs original.

    Is this code right for dinamic ip and proxy?

    Thanks in advance

    nc = CreateObject("roNetworkConfiguration", networkConfigurationIndex%)
    if type(nc) = "roNetworkConfiguration" then
       useDHCP = current_sync.LookupMetadata("client", "useDHCP")
       if useDHCP = "no" then
           staticIPAddress$ = current_sync.LookupMetadata("client", "staticIPAddress")
           subnetMask$ = current_sync.LookupMetadata("client", "subnetMask")
           broadcast$ = current_sync.LookupMetadata("client", "broadcast")
           gateway$ = current_sync.LookupMetadata("client", "gateway")
           dns1$ = current_sync.LookupMetadata("client", "dns1")
           dns2$ = current_sync.LookupMetadata("client", "dns2")
           dns3$ = current_sync.LookupMetadata("client", "dns3")
           
           nc.SetIP4Address(staticIPAddress$)
           nc.SetIP4Netmask(subnetMask$)
           nc.SetIP4Broadcast(broadcast$)
           nc.SetIP4Gateway(gateway$)
           if dns1$ <> "" then nc.AddDNSServer(dns1$)
           if dns2$ <> "" then nc.AddDNSServer(dns2$)
           if dns3$ <> "" then nc.AddDNSServer(dns3$)
           
           registrySection.Write("dhcp", "no")
           registrySection.Write("sip", staticIPAddress$)
           registrySection.Write("sm", subnetMask$)
           registrySection.Write("gw", gateway$)
           registrySection.Write("bc", broadcast$)
           registrySection.Write("d1", dns1$)
           registrySection.Write("d2", dns2$)
           registrySection.Write("d3", dns3$)
       else
           nc.SetDHCP()
           registrySection.Write("dhcp", "yes")
       endif

       if useWireless = "yes" then
           nc.SetWiFiESSID(ssid$)
           nc.SetObfuscatedWifiPassphrase(passphrase$)
       endif

       timeServer$ = current_sync.LookupMetadata("client", "timeServer")
       registrySection.Write("ts", timeServer$)
       print "time server in setup.brs = ";timeServer$
       nc.SetTimeServer(timeServer$)
       nc.SetProxy("http://proxy.yourcompany.com:port/")
       success = nc.Apply()

  • 0
    Avatar
    RokuLyndon


    This doesn't replace the autorun you'd normally use. You just run this proxy autorun by itself. Once it's done you can run the normal project. Also, you don't need to get the proxy information from the current sync file. THere's already a script in this thread that just sets the unit to dhcp, and has a proxy setting commented out.

    If you're using a manual IP address, there's a similar script that has the IP configuration info with proxy settings.
  • 0
    Avatar
    Ceo


    Thanks and excuse my doubts, but i can't find a tutorial in your web about the script and the .brs file.

    Thus, if i understand your explanation, I must do this sequence:

    1.- Inset a SDcard  whith only the below .brs file and turn on the hd210.

    REM Create text widget to display onscreen messaging
    mode=CreateObject("roVideoMode")
    registry=CreateObject("roRegistry")
    rect1 = CreateObject("roRectangle", mode.GetSafeWidth()/4, mode.GetSafeHeight()/2, 500, 40)
    rect2 = CreateObject("roRectangle", mode.GetSafeWidth()/4, mode.GetSafeHeight()/2+42, 500, 40)
    text1 = CreateObject("roTextWidget", rect1, 1, 1, 0)
    text2 = CreateObject("roTextWidget", rect2, 2, 1, 0)
    print type(rect)
    print type(text)
    text1.Show()
    text1.PushString("DHCP Network Configuration")
    sleep(5000)
    REM Adjust network settings here if necessary
    REM
    nc = CreateObject("roNetworkConfiguration", 0)
    nc.SetDHCP()
    nc.SetProxy("http://proxy.yourcompany.com:port/")
    rem nc.SetTimeServer("mytimeserver.com") 'Set Time server here
    text1.Hide()
    ok=nc.Apply()
    registry.Flush()
    text2.PushString("Settings Updated. Remove Network Configuration Script from flash card.")
    if ok=true then text2.Show()
    sleep(30000)
    REM End of script


    2.- Insert the normal  project files (whith their original autorun.brs file) and reset the system.

    Is it right?

    Thanks in advance

    David
  • 0
    Avatar
    RokuLyndon


    Yes, correct.
  • 0
    Avatar
    Mutex


    "Ceo" wrote:

    Thanks and excuse my doubts, but i can't find a tutorial in your web about the script and the .brs file.

    Thus, if i understand your explanation, I must do this sequence:

    1.- Inset a SDcard  whith only the below .brs file and turn on the hd210.

    ...

    2.- Insert the normal  project files (whith their original autorun.brs file) and reset the system.


    What do you mean with reset?

    Could you explain the steps before in more detail?

    1. Insert a SDcard with only the autorun.brs file containig only the text listed in Ceos post.
    2. turn on the HD210
    3. wait until "Settings Updated. Remove Network Configuration Script from flash card." is displayed.
    3. Insert the SDcard with the normal project files
    4. press the reset button (with something like a needle)
    5. finish - just wait

    Are these steps correct?

    is there a offical manual (command reference) for the BrightSign scripting language?

    Is it possible to read the proxy settings from the current-sync file?

    Regards Mutex
  • 0
    Avatar
    RokuLyndon


    Under the support section, there's an object reference guide, and a brightscript reference guide.

    Yes, the steps are correct. You can either reset the unit using the recessed reset button, or just power down the unit once the onscreen message says settings have been updated.

    BrightAuthor doesn't currently write proxy settings to the current sync file. So, setting proxy is a two step process unless we manually add the proxy settings to the standard autorun script that BrightAUthor is using.
  • 0
    Avatar
    Mutex


    "RokuLyndon" wrote:


    ... You can either reset the unit using the recessed reset button, or just power down the unit once the onscreen message says settings have been updated.


    - But where does the box store the changes? Are they stored in a non-volatile memory?

    - How can I remove the proxy settings when I want to use the box with a different internet connection (without a proxy)? How can I restore the old settings?

    I thought the box stores the changes directly in the autron.brs file located on the second SD card.

    Regards Harald
  • 0
    Avatar
    RokuLyndon


    - But where does the box store the changes? Are they stored in a non-volatile memory?


    Proxy settings are stored in the registry on the unit. So, they remain until the unit is restored to factory defaults or someone overwrites the proxy setting.

    - How can I remove the proxy settings when I want to use the box with a different internet connection (without a proxy)? How can I restore the old settings?


    You can use a script to erase the registry settings before running the standard setup files. Or, add the same proxy line to your regular setup files, but set the proxy to an empty string.

    I thought the box stores the changes directly in the autron.brs file located on the second SD card.


    No changes are stored in the autorun script. THe script is the parser for the xml playlists, and it has all of the instructions for the unit. Some settings are stored in the registry and others only exist in the currently active playlist and change when the next playlist loads if it has different settings.
  • 0
    Avatar
    Artur Wojcik

    Hello.
    I have question about settings proxy. Is there any chance to set proxy for most url's, but bypass proxy server for local addresses?
    Device XD1230, network with AD, proxy and automatic configuration script for IE (company directions to use IE). Can't make any changes on proxy server.

    Artur

Please sign in to leave a comment.