Modus is a Java/OSGi implementation of a generic client for CWMP protocol, i.e. TR-069 standard from Broadband Forum.
You can download the code as mentioned at sourceforge website.
$ svn checkout https://svn.code.sf.net/p/modus-tr-069/code/trunk modus-tr-069-code
and you can compile the code as,
$ cd modus-tr-069-code/ClientTR69
$ mvn clean install
This will compile the client and generate the binaries as,
[INFO] Installing modus-tr-069-code/ClientTR69/SetParameterValuesBundle/target/SetParameterValuesBundle-1.1.0-SNAPSHOT.jar to ~/.m2/repository/com/francetelecom/acse/modus/SetParameterValuesBundle/1.1.0-SNAPSHOT/SetParameterValuesBundle-1.1.0-SNAPSHOT.jar
[INFO] Installing modus-tr-069-code/ClientTR69/SetParameterValuesBundle/pom.xml to ~/.m2/repository/com/francetelecom/acse/modus/SetParameterValuesBundle/1.1.0-SNAPSHOT/SetParameterValuesBundle-1.1.0-SNAPSHOT.pom
[INFO] Creating Checksums...
[INFO] Creating Checksums...
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary for modus-clientTR69 1.1.0-SNAPSHOT:
[INFO]
[INFO] modus-clientTR69 ................................... SUCCESS [ 13.540 s]
[INFO] IPersistBundle ..................................... SUCCESS [16:16 min]
[INFO] TR69ClientAPI ...................................... SUCCESS [ 12.985 s]
[INFO] FilePersistBundle .................................. SUCCESS [ 1.454 s]
[INFO] DataModelBundle .................................... SUCCESS [01:47 min]
[INFO] ServerComBundle .................................... SUCCESS [04:23 min]
[INFO] DownloadBundle ..................................... SUCCESS [ 1.147 s]
[INFO] ApplyBundle ........................................ SUCCESS [ 0.724 s]
[INFO] OSGIBundle ......................................... SUCCESS [ 0.813 s]
[INFO] OSGiApplyBundle .................................... SUCCESS [ 0.264 s]
[INFO] AddObjectBundle .................................... SUCCESS [ 0.750 s]
[INFO] DeleteObjectBundle ................................. SUCCESS [ 0.653 s]
[INFO] GetParameterAttributesBundle ....................... SUCCESS [ 0.656 s]
[INFO] GetParameterNamesBundle ............................ SUCCESS [ 0.721 s]
[INFO] GetParameterValuesBundle ........................... SUCCESS [ 0.726 s]
[INFO] GetRPCMethodsBundle ................................ SUCCESS [ 0.654 s]
[INFO] RebootBundle ....................................... SUCCESS [ 0.455 s]
[INFO] SetParameterAttributesBundle ....................... SUCCESS [ 0.983 s]
[INFO] SetParameterValuesBundle ........................... SUCCESS [ 0.782 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 23:48 min
Now, we will create the final script to run the code as,
$ mvn assembly:assembly
This will create the binaries zip as,
[INFO] Reading assembly descriptor: src/assemble/bin.xml
[INFO] Build modus-tr-069-code/ClientTR69/target/modus-clientTR69-1.1.0-SNAPSHOT-distrib.zip
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary for modus-clientTR69 1.1.0-SNAPSHOT:
[INFO]
[INFO] modus-clientTR69 ................................... SUCCESS [02:35 min]
[INFO] IPersistBundle ..................................... SKIPPED
[INFO] TR69ClientAPI ...................................... SKIPPED
[INFO] FilePersistBundle .................................. SKIPPED
[INFO] DataModelBundle .................................... SKIPPED
[INFO] ServerComBundle .................................... SKIPPED
[INFO] DownloadBundle ..................................... SKIPPED
[INFO] ApplyBundle ........................................ SKIPPED
[INFO] OSGIBundle ......................................... SKIPPED
[INFO] OSGiApplyBundle .................................... SKIPPED
[INFO] AddObjectBundle .................................... SKIPPED
[INFO] DeleteObjectBundle ................................. SKIPPED
[INFO] GetParameterAttributesBundle ....................... SKIPPED
[INFO] GetParameterNamesBundle ............................ SKIPPED
[INFO] GetParameterValuesBundle ........................... SKIPPED
[INFO] GetRPCMethodsBundle ................................ SKIPPED
[INFO] RebootBundle ....................................... SKIPPED
[INFO] SetParameterAttributesBundle ....................... SKIPPED
[INFO] SetParameterValuesBundle ........................... SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 02:39 min
This generated the build at modus-tr-069-code/ClientTR69/target/modus-clientTR69-1.1.0-SNAPSHOT-distrib.zip which can be extracted as,
$ unzip modus-clientTR69-1.1.0-SNAPSHOT-distrib.zip
$ cd modus-clientTR69-1.1.0-SNAPSHOT
This you can see generated the final build as,
$ tree
.
├── ClientTR69.sh
├── data
│ ├── config.cfg
│ ├── data.sav
│ └── usine.txt
├── defineFile.cfg
├── fwdir
│ ├── bs
│ ├── data
│ │ ├── 1
│ │ ├── 11
│ │ │ └── Events.data
│ │ ├── 14
│ │ ├── 16
│ │ └── 2
│ │ └── cm_store
│ └── startlevel
│ └── currentlevel
├── init.xargs
└── lib
├── AddObjectBundle.jar
├── ApplyBundle.jar
├── cm_all-2.0.1.jar
├── component_all-2.0.0.jar
├── console_all-2.0.1.jar
├── consoletty-2.0.1.jar
├── DataModelBundle.jar
├── DeleteObjectBundle.jar
├── DownloadBundle.jar
├── event_all-2.0.4.jar
├── FilePersistBundle.jar
├── frameworkcommands-2.0.5.jar
├── framework.jar
├── GetParameterAttributesBundle.jar
├── GetParameterNamesBundle.jar
├── GetParameterValuesBundle.jar
├── GetRPCMethodsBundle.jar
├── IPersistBundle.jar
├── kxml-2.3.0.kf3.jar
├── log_all-2.0.2.jar
├── org.teleal.cling.osgi.basedriver.1.0-SNAPSHOT.jar
├── OSGiApplyBundle.jar
├── OSGIBundle.jar
├── prefs_all-2.0.3.jar
├── RebootBundle.jar
├── ServerComBundle.jar
├── SetParameterAttributesBundle.jar
├── SetParameterValuesBundle.jar
├── shell-1.0.0.RC2.jar
├── TR69ClientAPI.jar
└── upnp_api-3.0.0.jar
in above you can see all libraries are compiled in lib directory.