Troubleshooting Mobile DTV With Free Tools, Part 2
November 7, 2011
Last month I described how Wireshark could be used to troubleshoot Mobile DTV systems at the IP level. I was hoping to grab the IP stream from an over-the-air mobile stream using the localhost (127.0.0.1) interface, but it turned out to be more difficult than expected. Wireshark does not support captures from localhost.
Fortunately, rawcap.exe will generate a PCAP file from localhost that Wireshark can read. Unfortunately, I wasn't able to obtain any useful Mobile DTV captures from either the WinTV 7 viewer or the Decontis ATSC Mobile DTV Viewer. It might work better with a loop back adapter, but I didn't have a chance to try it before leaving an area with Mobile DTV.
If readers with more experience with these programs have any ideas on how to capture Mobile DTV IP data over-the-air, please let me know. I'll try it and share results, with credit to you in a future column.
Wireshark has several tools that can help troubleshoot problems in a Mobile DTV multicast network. Here are a few examples to get you started.
Under the "Statistics" menu, "UDP Multicast Streams" provides a convenient chart showing all detected multicast streams; source and destination IP and port numbers; the number of packets in the capture file; the number of packets per section; average bandwidth, maximum bandwidth; and max buffers and buffer alarms. It also shows the maximum burst rate. Fig. 1 shows data from a single-channel Mobile DTV stream with the default parameters. Parameters can be changed using the "set parameters" button.
Fig. 1: Wireshark Screenshot of UDP Multicast
For more detailed analysis of the RTP stream, filter on the destination IP address (18.104.22.168 in the example displayed), and under the "Analyze" menu, select "Decode As" and pick "RTP" from the list. Select either the source or destination port. The main display will show the RTP protocol packets and details on the packets, including their time stamp. Additional stream information is available by selecting "RTP" and "Stream Analysis" under the "Telephony" menu. As you can see in Fig. 2, the analysis looks good except for an "incorrect timestamp." I'm not sure if this is a real problem or an artifact of using a telephony tool to analyze a video stream.
Fig. 3 shows the result of following one of the streams from the Triveni GuideBuilder ESG. While much of the data isn't humanly legible, you can see the reference to the transmitted icon—icon2818.jpg. I obtained this chart by highlighting one of the UDP packets from the ESG at IP 192.168.60.123, and selecting "Follow UDP stream" in the "Analyze" menu. Select different streams to see other ESG data.
Fig. 2: Wireshark Screenshot of RTP Stream Analysis Streams
As a last example, you can monitor the bandwidth of any of the stream on the multicast network using the "IOGraphs" setting under "Statistics. See Fig. 4. Up to five filters can be graphed. I've set the Y display for bits per tick, with each tick being 1 second long. Clicking on the graph highlights the packet at that point on the main Wireshark window.
There is much more that Wireshark can do. Visit wiki.wireshark.org/Tools for links to scripts and programs for use with Wireshark. If you have a Mobile DTV system running at your plant, capture some streams and see what you can find. Let me know if you come up with an interesting filter or application for Wireshark in your plant.
USB TUNER UPDATE
The Hauppauge Aero-M USB tuner now has support in Linux! The current implementation requires a bit of skill to get working correctly and there are some bugs, but I've been able to get it running and so has Trip Ericcson, of RabbitEars.Info fame. The support is for regular ATSC reception only—no Mobile DTV reception.
Fig. 3: Wireshark Screenshot of Follow ESG UDP Stream
Follow the instructions exactly. If you get errors while compiling the new modules, check that old DVB source or header files have been removed. After installing, reboot and the Aero-M should work. I recommend backups in case it doesn't. Many thanks to Michael Krufky and the KernelLabs team!
Earlier I wrote that the Zenith LGDT-3305 "7th Generation" 8-VSB demodulator was being used in a new version of the Hauppauge HVR-850 VSB demodulator along with the NXP TDA18271HD tuner. I finally found one of the new HVR-850 tuners. It was "plug and play" in Linux and only required downloading drivers from the Hauppauge website to get it working with TSReader in Windows 7.
Some stores may only have the older version of the HVR-850 with the XC5000 tuner and Auvitek AU8522 demodulator in stock. You can identify the new HVR-850 by looking at the version number under the UPC code on the bottom of the box. It should be Version 3.5. Older tuners will be Version 3.4 or earlier.
Over the next month or so I'll be testing it in some difficult locations to see how it compares with the HVR950Q and my current favorite, at least until the Linux 3.2 kernel with Aero-M support is released, the PCTV Model 801e.
Fig. 4: Wireshark Screenshot of Bit rates on IO Graph
I welcome your comments and suggestions! Email me at email@example.com.
comments powered by Disqus.