Sonntag, 12. Februar 2017

Megasat Sat>IP Server 3 (MEG-8000)


SSH/SCP-Login (default):

User: root
PW*: admin

* if you changed the password via webinterface use this password instead.


Sat>IP-Server-CLI:

/opt/bin/sat2ip_server/sat2ip_cmdl.elf
[AS-B3S100-Server]$ /opt/bin/sat2ip_server/sat2ip_cmdl.elf -h
[SAT>IP CMDL] Parsing command line...

 SAT>IP server deamon command line application
        Usage:
        sat2ip_cmdl.elf  -c<command> -t<pool_time> <Preset> [-h]

   -h Displays this help message

   <pool_time> Time in miliseconds to pool command. If 0 command will be pulled only once

   <Preset> Predefined presets (if more than one is present only first will be processed
            and if there is any <command> defined it will be skipped as well):

        -b    Display device info.
        -f    Display frontend detailed info.
   <command>   command for SAT>IP deamon
        fegbe<n> - Get FE n BER. Response: fegbe<n><BER>
        fegci<n> - Get FE n Client IP. Response: fegci<n><IP>
        fegfr<n> - Get FE n Frequency. Response: fegfr<n><freq>
        fegpi<n> - Get FE n List Of Pids. Response: fegpi<n><pids>
        fegls<n> - Get FE n Lock Status. Response: fegls<n><lock>
        fegmt<n> - Get FE n Modulation. Response: fegmt<n><modulation>
        fegpl<n> - Get FE n Playing Status. Response: fegpl<n><play>
        fegpo<n> - Get FE n Polarization. Response: fegpo<n><pol>
        fegrs<n> - Get FE n Reception Standard. Response: fegrs<n><rec_st>
        fegst<n> - Get FE n Session Type. Response: fegst<n><sessiont>
        fegsq<n> - Get FE n Signal quality. Response: fegsq<n><sig_q>
        fegsr<n> - Get FE n Symbol Rate. Response: fegsr<n><sr>
        fegty<n> - Get FE n Type. Response: fegty<n><type>
        fegfe<n> - Get FE n Free status. Response: fegfe<n><free>
        dvgid - Get Device ID. Response: dvgid<id>
        dvgfw - Get FW version. Response: dvgfw<fw>
        dvghw - Get HW version. Response: dvghw<hw>
        dvgmc - Get MAC. Response: dvgmc<MAC>
        dvgnc - Get number of cable FE. Response: dvgnc<ncab>
        dvgns - Get number of satellite FE. Response: dvgns<nsat>
        dvgnt - Get number of terrestrial FE. Response: dvgnt<nter>
        dvgcl - Get number of clients attached. Response: dvgcl<ncli>
        dvgcp - Get CPU usage. Response: dvgcp<cpu_u>
        dvgmu - Get Memory usage. Response: dvgmu<mem_u>
        dvgut - Get up time. Response: dvgut<up_t>
        sigfn - Get Friendly Name. Response: sigfn<friendly_name>
        sigti - Get Session timeout. Response: sigti<timeout>
        sigln - Get LNB Type. Response: sigln<n>
        siglf - Get LNB freq settings. Response: siglf<-freq-hiBandOLFreg-loBandOLFreg->
        sisfn<str> - Set <str> as server friendly name. Response: sisfn<b> - b is 0 if failed, or 1 if sucessfull
        sisti<n> - Set <n> as timeout. Response: sisti<b> - b is 0 if failed, or 1 if sucessfull
        sisln<n> - Set LNB Type: <n>=0 - quattro; <n>=1 - One demod one RF; <n>=2 - quad. Response: sisln<b> - b is 0 if failed, or 1 if sucessfull
        sislf<-freq-hiBandOLFreg-loBandOLFreg-> - Set LNB OL frequencies. Response: sislf<b> - b is 0 if failed, or 1 if sucessfull
        sisxm<str> - Upload /data/device_description.xml. Response: sisxm<b> - b is 0 if failed, or 1 if sucessfull
        stscr<n><param> - Create static session on FE <n> using <params>. Response: stscr<n><b> - b is 0 if failed, or 1 if sucessfull
                          <params>=-msys-src-freq-pol-sr-fec-mtype-pilot-ro-pids-name-lcn-mcastIP-mcastPorts-TTL-
                    order of parametars must be preserved. On missing param place -none-. Example:
                          <params>=-dvbs2-1-10773-h-22000-34-8psk-off-0.20;0,96,255,259-ANIXE HD-0-239.1.0.0-5004_5005-3-
        stste<n> - Terminate static session on FE <n>. . Response: stste<n><b> - b is 0 if failed, or 1 if sucessfull
        srcdg<n> - Set debug mode
        srcen<n> - Close SAT>IP server.

Activate debugging (output to /var/log/messages):

/opt/bin/sat2ip_server/sat2ip_cmdl.elf -csrcdg<n>

<n> = 0 --> Debugging on
<n> = 2 --> Debugging off

Webserver (mongoose)

Path

/var/www/
Files located in the www-Directory can be reached via webbrowser. 
http://<ip-zum-satip-server>:8000/<filename>

Mittwoch, 28. Januar 2015

Windows 8.1 create your own setup incl. Recovery-Mechanism

How often did i reinstalled Windows 8.1 by CD/DVD or USB-Stick and it really sucks to install all device-specific drivers and Windows-Updates.

The solution to this seems to create your own Windows-Installationmedium which includes all the crapy stuff. To get some input on how to do it, i've looked around the web and found some really useful articles. But as it is normal to the web you will never find an full article about the full features you are want to have.

So, in this article i try to create a summery over the different articles I found on the web. To get some kind of full-feature-solution.

Windows 8 integrates a feature to recreate/reinstall the windows-partition, here i try to explain how you create your own installtion-medium and configure windows to use it for the build-in recovery-mechanism.

To be correct, this are the sources where I found the most informations:
1. Create install wim
http://www.wintotal.de/install-wim-erstellen/ (german)

2. Prepare sysprep not to delete all drivers
https://blog.friedlandreas.net/2014/03/sysprep-treiber-beibehalten/ (german)

3. Set install.wim as recovery-media
http://www.intowindows.com/how-to-reset-or-refresh-windows-8-without-dvd/ (english)

Mittwoch, 23. Juli 2014

Maven - Deactivate specific plugins via commandline

Yesterday I had a problem by using buildnumber-maven-plugin with Jenkins. Our Jenkins is configured to run single jobs for

  • Build
  • JUnit-Test
  • Deployment to JBoss

So I tried to use the Artifacts* which will be generated by the first "Build"-Job to run the following "JUnit-Test"-Job. Everything looked fine - copying the artifacts, running tests - till the end, but than the build faild.

The following error occured:

[ERROR] Failed to execute goal org.codehaus.mojo:buildnumber-maven-plugin:1.2:create (default) on project presentation-war: Cannot get the revision information from the scm repository :
[ERROR] Exception while executing SCM command. svn: E155007: '/var/lib/jenkins/jobs/MT-Server_test-only/workspace/presentation-war' is not a working copy


The problem seems to be the Buildnumber-Plugin, which tried to get the revision information of the SVN workingcopy. But while copying the artifacts to the workspace for the "JUnit-Test"-Job these information get lost cause it is not longer a workingcopy.

We use this plugin to generate a unique identifier which will be shown in the frontpage of our webapplication to identify the currently deployed revision.

Solution:
So far, for our "JUnit-Test"-Job we do not need to update these revision-information so I searched for a solution to ignore this step at the "JUnit-Test"-Job. 
The easiest way to get rid of this problem seems to deactivate the "buildnumber-maven-plugin" when run the Job.

The difficult was that all the other jobs do need these information so I was looking for a solution which does not affecting these.

So now lets get to my solution:

1. I modified the "pom.xml" of the project and added a profile like the following:


<project>

<....>
<profiles>
  <profile>
    <id>buildnumber</id>
    <activation>
      <activeByDefault>true</activeByDefault>
    </activation>
    <build>
      <plugins>
        <plugin>
  <groupId>org.codehaus.mojo</groupId>
    <artifactId>buildnumber-maven-plugin</artifactId>
    <executions>
     <execution>
      <id>generate-buildnumber</id>
<phase>validate</phase>
<goals>
  <goal>create</goal>
</goals>
<configuration>
  <getRevisionOnlyOnce>true</getRevisionOnlyOnce>
  <providerImplementations>
    <svn>javasvn</svn>
  </providerImplementations>
  <timestampFormat>{0,date,yyyy-MM-dd HH:mm:ss}</timestampFormat>
</configuration>
      </execution>
    </executions>
  </plugin>
</plugins>
      </build>
    </profile>
  </profiles>

<...>
</project>

Explanation:

<profiles>
  <profile>
    <id>buildnumber</id>
    <activation>
      <activeByDefault>true</activeByDefault>
    </activation>
    <build>
      <plugins>
        <plugin>
          --- Plugin definition and configuration here ---
        </plugin>
      </plugins>
    </build>
  </profile>
</profiles>

The important part is the <activation> tag you can see that this tag is followed by the <activateByDefault>true</activateByDefault> tag, which indicates, that this profile will be executed everytime without name it explicitly with the maven call. 
Within the <build> tag you can specify the plugins including its configuration (when adding a plugin to this section ensure that it will be only defined in this section and not within the standard <plugins> tag again).


2. By default these profile will be executed when you run a maven goal on the project, for example: 

mvn test

But in my case I want to execute this profile NOT when running Maven with the goal test, so my modified command now looks like:

mvn test -P!buildnumber

Explanation:
The parameter -P<profileId> says Maven to execute the specified profile by executing the maven command.
To ignore a specific profile you can call maven with the Parameter -P!<profileName>.
! = negation

* using "CopyArtifactPluing" in Jenkins