Difference between revisions of "Private: implementing esg"
m (mobile tv shoutbox moved to Private: mobile tv shoutbox) |
|||
Line 1: | Line 1: | ||
+ | === To debug buffer overflow problems (Sun Oct 5 14:57:03 PDT 2008) === | ||
+ | |||
+ | There have been quite a few nasty buffer overflow bugs in dataaggregator and timeslicer, which cannot be easily found by reviewing the code. To trace the problem, we may use the memory checking feature of the valgrind tool. Valgrind can be installed through apt-get. | ||
+ | |||
+ | To use it, compile your code with CC flags: -g and -O0. Then run the timeslicer (for example) as follows: | ||
+ | <pre> | ||
+ | valgrind --leak-check=yes ./timeslicer -n 1024 -g 8 -b 8 -d 400 -c 3 -o qpsk -p esgbt:/tmp/fatcapsesgbt:0x555 -p esg:/tmp/fatcapsesg:0x666 -p prog1:/tmp/fatcapsinput1:0x771 -p prog2:/tmp/fatcapsinput2:0x772 -p prog3:/tmp/fatcapsinput3:0x773 -p prog4:/tmp/fatcapsinput4:0x774 -p prog5:/tmp/fatcapsinput5:0x775 -p prog6:/tmp/fatcapsinput6:0x776 -p prog7:/tmp/fatcapsinput7:0x777 -p prog8:/tmp/fatcapsinput8:0x778 -f /tmp/fatcapsfifo | ||
+ | </pre> | ||
+ | The output of valgrind is descriptive, see their webpage for details. | ||
+ | |||
=== DVBH related files on N96 (Wed Oct 1 19:39:06 PDT 2008) === | === DVBH related files on N96 (Wed Oct 1 19:39:06 PDT 2008) === | ||
Revision as of 14:02, 5 October 2008
To debug buffer overflow problems (Sun Oct 5 14:57:03 PDT 2008)
There have been quite a few nasty buffer overflow bugs in dataaggregator and timeslicer, which cannot be easily found by reviewing the code. To trace the problem, we may use the memory checking feature of the valgrind tool. Valgrind can be installed through apt-get.
To use it, compile your code with CC flags: -g and -O0. Then run the timeslicer (for example) as follows:
valgrind --leak-check=yes ./timeslicer -n 1024 -g 8 -b 8 -d 400 -c 3 -o qpsk -p esgbt:/tmp/fatcapsesgbt:0x555 -p esg:/tmp/fatcapsesg:0x666 -p prog1:/tmp/fatcapsinput1:0x771 -p prog2:/tmp/fatcapsinput2:0x772 -p prog3:/tmp/fatcapsinput3:0x773 -p prog4:/tmp/fatcapsinput4:0x774 -p prog5:/tmp/fatcapsinput5:0x775 -p prog6:/tmp/fatcapsinput6:0x776 -p prog7:/tmp/fatcapsinput7:0x777 -p prog8:/tmp/fatcapsinput8:0x778 -f /tmp/fatcapsfifo
The output of valgrind is descriptive, see their webpage for details.
There are a few DVB-H related files in the N96 ROM (z:\) and flash (c:\):
z:\dvbhsetup.dat z:\DVBH.img z:\System\data\dvbh\dvbh.ini <--- readable c:\System\data\esg c:\System\data\ipdc c:\logs\ipdc <--- readable
Some error files from N96 (Wed Oct 1 17:26:50 PDT 2008)
The log indicates that the esg receiver fails to receive some file. Unfortunately, we cannot be sure which stage did it fail. Little can be done beyond this point without Nokia's supports, e.g., putting the logger into development/verbose mode.
Therefore, I decided to put N96 aside until we get some supports from Nokia.
2008/10/01 2:15:01 2008/10/01 2:15:01 2008/10/01 2:15:01 ------- Subsystem DVBH Manager error ------- 2008/10/01 2:15:01 Emitting module: c\cdvbhmgrinactivityobserver.cpp line: 231 2008/10/01 2:15:01 Error code: -2497 2008/10/01 2:15:01 Description: Cutting_power_in_NoPlatform_state_due_to_inactivity 2008/10/01 2:15:01 Additional info: (none) 2008/10/01 2:20:30 2008/10/01 2:20:30 2008/10/01 2:20:30 ------- Subsystem ESG Manager error ------- 2008/10/01 2:20:30 Emitting module: \common\src\cesgfilereceiver.cpp line: 548 2008/10/01 2:20:30 Error code: 0 2008/10/01 2:20:30 Description: TimerTimeout NoBlocksReceived 2008/10/01 2:20:30 Additional info: (none) 2008/10/01 2:25:30
Comments from Mr. Hanel, who is an engineer at Decontis (the company who makes dvbSAM):
Nokia is a special case. It is correct that Nokia moves from its own proprietary OAI ESG toward OMA BCAST ESG, but the transport streams created with Nokia ESG server I saw so far in the near past were not fully compatible yet with OMA BCAST. So handhelds from vendors != Nokia have problems with broadcasts where Nokia ESG is inside. And the other way is often also blocked - Nokia handhelds mostly could not receive ESGs provided by ESG servers from other vendors. Mostly only the combination Nokia ESG server + Nokia handheld worked properly. Of course, this behavior may change with every new software version Nokia releases for its handhelds. Since nobody except Nokia itself knows what's going on within their handhelds, finding the problem could be difficult. Could be that your ESG is fully compliant to the standard and nevertheless the Nokia handheld cannot handle it. I'd recommend to update the N96 firmware to the latest version and to try at least one more DVB-H handheld, e.g. a recent one from LG or Samsung.