Changes between Version 5 and Version 6 of Internal/RunningDemos


Ignore:
Timestamp:
Dec 21, 2005, 8:05:55 PM (19 years ago)
Author:
kishore
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Internal/RunningDemos

    v5 v6  
    4141  * bash files for experiment support: send-stream,sh, receive-stream.sh, stop-everything.sh
    4242
    43 2. '''nodeHandler scripts'''[[BR]]There are two scripts with names streaming-panasonic.rb and streaming-panasonic-stop.rb. Former is used to start the experiment, and the latter is used to stop it. nodeHandler version 1.71 (modified to support execution of bash scripts and has been used with those scripts. As of writing, due to a bug in lunar modules, stop script cannot unload klunar and ksapf modules, after they are involved in data transfer. So, for a clean restart, node power cycle might be needed.
     432. '''nodeHandler scripts'''[[BR]]There are two scripts with names streaming-panasonic.rb and streaming-panasonic-stop.rb. Former is used to start the experiment, and the latter is used to stop it. nodeHandler version 1.71 (modified to support execution of bash scripts and loading/unloading of driver modules) has been used with those scripts. As of writing, due to a bug in lunar modules, stop script cannot unload klunar and ksapf modules, after they are involved in data transfer. So, for a clean restart, node power cycle might be needed.
    44443. '''Display machine'''[[BR]]It must be able to reach ports on grid nodes using TCP. Display machine at ORBIT control room has that capability (or any other machine connected to that wall plug).  The port numbers to connect are of 80XY format, where X and Y are coordinates of the node. Display machine should have VLC Media Player 0.8.2 installed in  order to show the streams to user. E.g., if experiment is run on sandbox 9, the URL to the stream on [1,2] -> [1,8] pair is http://10.19.1.8:8018
    4545
     
    7979Invoking these URLs should bring up three video streaming windows on display machine. With the current setup, there should be perceivable distortion on the streams, especially on the bigger one.
    8080
    81 4. '''Stopping the streaming from one node'''[[BR]]Log-into node3-2 with 'ssh root@node3-2' command. Execute 'pkill vlc' on the node to stop streaming of the video. After a few seconds, video should freeze on the corresponding VLC window on display machine. Stream can be restarted, if necessary, by executing 'sh execfile' on the node.
     814. '''Stopping the streaming from one node'''[[BR]]Log-into node3-2 with {{{'ssh root@node3-2'}}} command. Execute {{{'pkill vlc'}}} on the node to stop streaming of the video. After a few seconds, video should freeze on the corresponding VLC window on display machine. Stream can be restarted, if necessary, by executing {{{'sh execfile'}}} on the node.
    8282
    83 5. '''Starting the Monitor'''[[BR]]After stopping the stream on one pair, invoke monitor program on node3-8 (or node3-2), by executing {{{lin/monitor2 ath1raw 3000 500}}}. Here, 3000 means that the link is supposed to support 3Mbps bandwidth, and 500 means that the application packet rate is 500 packets/sec. This command should run a process that updates {{{/proc/pkt_rate}}} periodically. After a few updates, re-invoke the streaming by executing {{{sh execfile}}}. Streaming process should start, but pressing play button on the VLC software on display machine should not display the stream, since it is not accepted for routing on the wireless network.
     835. '''Starting the Monitor'''[[BR]]After stopping the stream on one pair, invoke monitor program on node3-8 (or node3-2), by executing {{{'lin/monitor2 ath1raw 3000 500'}}}. Here, 3000 means that the link is supposed to support 3Mbps bandwidth, and 500 means that the application packet rate is 500 packets/sec. This command should run a process that updates {{{/proc/pkt_rate}}} periodically. After a few updates, re-invoke the streaming by executing {{{'sh execfile'}}}. Streaming process should start, but pressing play button on the VLC software on display machine should not display the stream, since it is not accepted for routing on the wireless network.
    8484
    85 6. '''Stopping the Monitor'''[[BR]]Stop the monitor program, and manually enter {{{echo 40X6000 > /proc/pkt_rate}}} to tell the admission control algorithm that there is enough bandwidth for the video. Re-invoking the stream and trying to see it on display (as explained in 5.) should succeed this time.
     856. '''Stopping the Monitor'''[[BR]]Stop the monitor program, and manually enter {{{'echo 40X6000 > /proc/pkt_rate'}}} to tell the admission control algorithm that there is enough bandwidth for the video. Re-invoking the stream and trying to see it on display (as explained in 5.) should succeed this time.
    8686
    8787=== Troubleshooting ===
     
    8989If video is not visible on the display machine, check the following things to see what might have gone wrong by logging into a source and destination pair.
    9090
    91 1. At the source and destination, do a {{{ps aux}}}. There should be a group of vlc processes running (at least three or four). Run {{{cat execfile}}} to check IP addresses for streaming client and server are produced correctly. If not, re-run the nodeHandler script to see if problem persists.
    92 
    93 2. Make sure that video clip package is installed correctly by looking into /usr/streams directory. There should be MPEG files in that folder. If not, upload teststream_1.1-2_all.deb to source nodes and install it with {{{dpkg -i teststream_1.1-2_all.deb}}} command.
    94 
    95 3. Make sure that you can ping the destination node's lunar IP address (192.168.42.X) from the source node. If not, try restarting node, since lunar modules can not be reloaded in a healthy manner.
    96 
    97 4. Make sure that display machine VLC client can connect to the stream destination node. Kill the destination vlc instance (at stream destination node) with {{{pkill vlc}}} and invoke it the same way specified in execfile, without -d option. This will enable foreground mode and process should inform whenever display VLC client is connected to the destination node.
     91* At the source and destination, do a {{{'ps aux'}}}. There should be a group of vlc processes running (at least three or four). Run {{{'cat execfile'}}} to check IP addresses for streaming client and server are produced correctly. If not, re-run the nodeHandler script to see if problem persists.
     92* Make sure that video clip package is installed correctly by looking into /usr/streams directory. There should be MPEG files in that folder. If not, upload teststream_1.1-2_all.deb to source nodes and install it with {{{'dpkg -i teststream_1.1-2_all.deb'}}} command.
     93* Make sure that you can ping the destination node's lunar IP address (192.168.42.X) from the source node. If not, try restarting node, since lunar modules can not be reloaded in a healthy manner.
     94* Make sure that display machine VLC client can connect to the stream destination node. Kill the destination vlc instance (at stream destination node) with {{{'pkill vlc'}}} and invoke it the same way specified in execfile, without -d option. This will enable foreground mode and process should inform whenever display VLC client is connected to the destination node.