| 135 | | |
| 136 | | % ------------------------------------------------------------------ |
| 137 | | % |
| 138 | | % SECTION: Introduction |
| 139 | | % |
| 140 | | % ------------------------------------------------------------------ |
| 141 | | \section{Introduction} |
| 142 | | \label{section:introduction} |
| 143 | | |
| 144 | | \subsection{About this Guide} |
| 145 | | \label{section:introduction:about} |
| 146 | | This user guide is meant to be a comprehensive introductory and reference source |
| 147 | | for users of the \href{http://www.mprg.org}{MPRG}'s OSSIE (Open Source SCA |
| 148 | | Implementation Embedded) framework and tools, as well as serve as a useful |
| 149 | | information source for developers. The aim of the OSSIE project is to provide |
| 150 | | an open source framework for testing the behaviour of SDR waveforms and |
| 151 | | platforms. This software can help achieve a better understanding of software-defined |
| 152 | | radio and its trade-offs for educational and commercial purposes. In this guide, |
| 153 | | we attempt to assume only general computer knowledge and explain how things |
| 154 | | work along the way. Additionally, this guide is an evolving document. |
| 155 | | If you have any suggestions for improving it, please submit them to Trac (see |
| 156 | | Section~\ref{section:trac}) or \href{mailto:cov@vt.edu}{email the maintainer} directly. |
| 157 | | |
| 158 | | \subsection{Further Help} |
| 159 | | \label{section:introduction:help} |
| 160 | | This section describes several ways to obtain help and further information. The |
| 161 | | online wiki, the Trac bugtracking tickets, the mailing lists and the IRC |
| 162 | | channel are available in moments of breakage, confusion, and inspiration. |
| 163 | | |
| 164 | | \subsubsection{Wiki} |
| 165 | | \label{section:wiki} |
| 166 | | A wiki is a collaborative website tool. It allows many users to work together |
| 167 | | to write and edit information. Our wiki contains news, documentation |
| 168 | | and other information. You can visit it at \\ |
| 169 | | \href{http://ossie.wireless.vt.edu/trac/wiki}{http://ossie.wireless.vt.edu/trac/wiki}. |
| 170 | | |
| 171 | | \subsubsection{Mailing Lists} |
| 172 | | \label{section:mailinglists} |
| 173 | | We maintain two public mailing lists for OSSIE. {\em ossie-discuss} is for |
| 174 | | general discussion and help. {\em ossie-dev} is meant for more technical |
| 175 | | discussion and development-related traffic. Both lists can be subscribed to by sending a |
| 176 | | message to \href{mailto:listserv@listserv.vt.edu}{listserv@listserv.vt.edu} |
| 177 | | with the following in the message body, replacing the information in angle |
| 178 | | brackets with the appropriate information. |
| 179 | | |
| 180 | | \begin{lstlisting}[] |
| 181 | | subscribe <list name> <your first name> <your last name> |
| 182 | | \end{lstlisting} |
| 183 | | |
| 184 | | To send a message to all subscribers to the list, simply send it to |
| 185 | | \href{mailto:ossie-discuss@listserv.vt.edu}{ossie-discuss@listserv.vt.edu} or |
| 186 | | \href{mailto:ossie-dev@listserv.vt.edu}{ossie-dev@listserv.vt.edu}. |
| 187 | | |
| 188 | | \subsubsection{Trac Bugtracking System} |
| 189 | | \label{section:trac} |
| 190 | | The Trac software provides a web-based interface to our bug-tracking database. |
| 191 | | Bugtrackers are often good places to search for known problems and |
| 192 | | work-arounds. Reporting previously unreported bugs is also exremely helpful |
| 193 | | to the developers, allowing users to inform them of problems not encountered |
| 194 | | during testing. You will need to register for an account on the website and |
| 195 | | login before being allowed to submit new bugs. Visit |
| 196 | | \href{http://ossie.wireless.vt.edu/trac/newticket}{http://ossie.wireless.vt.edu/trac/newticket} |
| 197 | | to initiate the bug-reporting process. Please be sure to tag the bug with |
| 198 | | version 0.6.2. We will strive to squash all bugs as soon as possible and |
| 199 | | incorporate usability and feature improvement suggestions into an appropriate |
| 200 | | future release. |
| 201 | | |
| 202 | | \subsubsection{\#ossie IRC Channel} |
| 203 | | \label{section:irc} |
| 204 | | For those interested in real-time communication, an IRC channel is great. The |
| 205 | | developers are not online all the time but the IRC channel also allows |
| 206 | | users to help solve one anothers' problems. Our channel, \#ossie, is on the |
| 207 | | freenode network \href{http://freenode.net}{(http://freenode.net)}. To visit it, fire up your favorite |
| 208 | | irc client, login to the freenode servers and join the \#ossie channel. If you |
| 209 | | have never used IRC before, irchelp.org's |
| 210 | | \href{http://www.irchelp.org/irchelp/irctutorial.html}{IRC Tutorial} is a good |
| 211 | | starting point. |
| 212 | | |
| 213 | | % ------------------------------------------------------------------ |
| 214 | | % |
| 215 | | % SECTION: Installation |
| 216 | | % |
| 217 | | % ------------------------------------------------------------------ |
| | 132 | % ------------------- Introduction ------------------- |
| | 133 | \newpage |
| | 134 | \input{Introduction} |
| | 135 | |
| | 136 | % ------------------- Installation Guide ------------------- |
| | 137 | \newpage |
| 220 | | % ------------------------------------------------------------------ |
| 221 | | % |
| 222 | | % SECTION: Running Waveforms |
| 223 | | % |
| 224 | | % ------------------------------------------------------------------ |
| 225 | | \section{Running Waveforms} |
| 226 | | \label{section:runningwaveforms} |
| 227 | | |
| 228 | | \subsection{Start the naming service} |
| 229 | | If you installed omniORB using {\tt rpm} and |
| 230 | | have since restarted your machine chances are the naming service is running. |
| 231 | | If not, you will need to run {\tt omniNames.sh} (see |
| 232 | | Appendix~\ref{appendix:omninamessh}). |
| 233 | | |
| 234 | | \subsection{Run nodeBooter} |
| 235 | | Open a new terminal and execute the following |
| 236 | | \begin{lstlisting}[] |
| 237 | | $ cd /sdr |
| 238 | | $ nodeBooter -D -d nodes/default_GPP_node/DeviceManager.dcd.xml |
| 239 | | \end{lstlisting} |
| 240 | | It is important that {\tt nodeBooter} be run from the {\tt /sdr} directory. |
| 241 | | |
| 242 | | \subsection{Load a waveform} |
| 243 | | The 0.6.2 release supports two options for loading a waveform |
| 244 | | \begin{enumerate} |
| 245 | | \item Using the Python command-line {\tt wavLoader.py} script (discussed |
| 246 | | below) |
| 247 | | \item Using the Python graphical tool ALF (see Section~\ref{section:alf}) |
| 248 | | \end{enumerate} |
| 249 | | |
| 250 | | Load the waveform using wavLoader. In a new terminal execute |
| 251 | | \begin{lstlisting}[] |
| 252 | | $ cd /sdr/waveforms/MyWaveform |
| 253 | | $ wavLoader.py MyWaveform_DAS.xml |
| 254 | | \end{lstlisting} |
| 255 | | |
| 256 | | One or more SAD files (ending in {\tt .sad.xml}) will be listed. To load the |
| 257 | | waveform, enter the number that corresponds to {\tt MyWaveform.sad.xml}. If |
| 258 | | this file is listed twice, choose the first listing ({\tt |
| 259 | | //MyWaveform.sad.xml}). |
| 260 | | |
| 261 | | Finally, enter {\tt s} to start the waveform. |
| 262 | | |
| 263 | | |
| 264 | | % ------------------------------------------------------------------ |
| 265 | | % |
| 266 | | % SECTION: OSSIE Waveform Developer |
| 267 | | % |
| 268 | | % ------------------------------------------------------------------ |
| | 140 | % ------------------- Running Waveforms ------------------- |
| | 141 | \newpage |
| | 142 | \input{RunningWaveforms} |
| | 143 | |
| | 144 | % ------------------- OWD Guide ------------------- |
| | 145 | \newpage |
| 279 | | |
| 280 | | % ------------------------------------------------------------------ |
| 281 | | % |
| 282 | | % SECTION: Helping with Development |
| 283 | | % |
| 284 | | % ------------------------------------------------------------------ |
| 285 | | \section{Helping with Development} |
| 286 | | OSSIE is an open source project and we encourage all interested to contribute |
| 287 | | to the project. |
| 288 | | |
| 289 | | \subsection{Giving Feedback and Submitting Bugs} |
| 290 | | The ossie-discuss mailing list and the \#ossie IRC channel on Freenode are |
| 291 | | apt mediums for discussing user-end problems and solutions. For more |
| 292 | | technical discussions, Trac tickets and the ossie-dev mailing list are best. |
| 293 | | See Section ~\ref{section:irc} for more information on the IRC channel and |
| 294 | | Section ~\ref{section:mailinglists} for details on the mailing lists. |
| 295 | | |
| 296 | | \subsection{Making Contributions} |
| 297 | | For those interested in making substantial contributions, SVN access is |
| 298 | | available. The best way to get to know the developers and really get involved |
| 299 | | is to help by fixing bugs or adding features. Other work such as |
| 300 | | writing documentation is also appreciated. |
| 301 | | |
| 302 | | In order to make sure OSSIE stays open, we have licensed the |
| 303 | | source code under GNU's General Public License Version 2 and the Lesser |
| 304 | | General Public License. Contributions to the project must be made under these |
| 305 | | licenses. Also, the preferred coding style is that devised for the Linux |
| 306 | | kernel~\cite{linuxkernelcodingstyle:web}. |
| 307 | | See~\cite{gnugpl:web, gnuglpl:web} for more information about the |
| 308 | | licenses. |
| 309 | | |
| 310 | | % ------------------------------------------------------------------ |
| 311 | | % |
| 312 | | % SECTION: Troubleshooting |
| 313 | | % |
| 314 | | % ------------------------------------------------------------------ |
| 315 | | \section{Troubleshooting} |
| 316 | | \label{section:troubleshooting} |
| 317 | | This section includes several common problems encountered when installing and |
| 318 | | running OSSIE. It is by no means complete. |
| 319 | | If you cannot find your problem here, please feel free to contact the team |
| 320 | | (refer to Section~\ref{section:introduction:help}) |
| 321 | | |
| 322 | | \subsection{nodeBooter throws exception} |
| 323 | | \label{section:troubleshooting:nodebooter1} |
| 324 | | When I try to start {\tt nodeBooter} I get this mess: |
| 325 | | \begin{lstlisting}[] |
| 326 | | $ nodeBooter -D -d nodes/default_GPP_node/DeviceManager.dcd.xml |
| 327 | | NB: Starting Domain Manager |
| 328 | | Fatal: An exception occurred! Type:RuntimeException, Message:The primary |
| 329 | | document entity could not be opened. |
| 330 | | Id=/home/ossieuser/domain/DomainManager.dmd.xml |
| 331 | | PublicId : |
| 332 | | SystemId : |
| 333 | | Line number : 0 |
| 334 | | Column number : 0 |
| 335 | | terminate called after throwing an instance of 'int' |
| 336 | | Aborted |
| 337 | | \end{lstlisting} |
| 338 | | {\bf Solution: } You need to run {\tt nodeBooter} from the {\tt /sdr} directory. |
| 339 | | |
| 340 | | \subsection{nodeBooter throws instance of `CORBA::TRANSIENT'} |
| 341 | | \label{section:troubleshooting:nodebooter2} |
| 342 | | When I try to start {\tt nodeBooter} I get this mess: |
| 343 | | \begin{lstlisting}[] |
| 344 | | $ nodeBooter -D -d nodes/default_GPP_node/DeviceManager.dcd.xml |
| 345 | | Failed to resolve NameService: TRANSIENT |
| 346 | | terminate called after throwing an instance of 'CORBA::TRANSIENT' |
| 347 | | Aborted |
| 348 | | \end{lstlisting} |
| 349 | | {\bf Solution: } You need to start the naming service. If you installed |
| 350 | | omniORB from rpms (see Section~\ref{section:installation:dependencies:omniorb}) |
| 351 | | {\tt omniNames} will start automatically when you restart your machine. |
| 352 | | You can manually start the {\tt omniNames} by creating and running the shell |
| 353 | | script described in Appendix~\ref{appendix:omninamessh}. |
| 354 | | |
| 355 | | \subsection{OWD Component Editor does not allow me to select the device} |
| 356 | | \label{section:troubleshooting:owdselectdevice} |
| 357 | | I am trying to edit a component to assign it to a device. I have selected the |
| 358 | | {\tt default\_XXX\_node} under ``Waveform Deployment Settings'' but nothing |
| 359 | | exists under the ``Device'' spinbox. |
| 360 | | |
| 361 | | {\bf Solution: } This is a bug in OWD. You have probably not actually |
| 362 | | selected {\tt default\_XXX\_node} even though it is visible on the screen. |
| 363 | | Click on the ``Node'' spinbox again and re-select {\tt default\_XXX\_node}, |
| 364 | | making sure that you actually click on the text. Now when you click on the |
| 365 | | ``Device'' spinbox you should see the device you want. |
| 366 | | |
| 367 | | |
| 368 | | % ----- NOCITES ----- |
| | 152 | % ------------------- Helping With Development ------------------- |
| | 153 | \newpage |
| | 154 | \input{HelpingWithDevelopment} |
| | 155 | |
| | 156 | % ------------------- Troubleshooting ------------------- |
| | 157 | \newpage |
| | 158 | \input{Troubleshooting} |
| | 159 | |
| | 160 | % ------------------- NoCites ------------------- |