I am looking for help on receiving DVB-H.
I get to the point where the encapsulated IP is attached to a network interface (as dvb0_0 using dvbnet -p <portnr>). At this stage I am able to dump the UDP-packets received using tcpdump. But I am not able to get that IP-multicast into VLC.
I believe the problem is related to the fact that normally IP-multicast uses the Ethernet broadcast address (ff:ff...) while in dvb-h the destination mac is (partly) replaced by the dvb-h time slicing information . Therefore the traffic is only received by the network interface when it is in promiscuous mode (when using tcpdump), but not when a normal program (like vlc) is trying to get multicast frames out of it.
My idea then was to modify dvbnet so that it replaces the "broken" ethernet destination (is contains timeslicing-infos) by "ff:ff" so that it goes through the network interface. But the actual code of dvbnet does actually not handle the received data, the only thing that program does is some ioctl(fd_net).
Any idea who I could get the ethernet-multicast out even when the destination mac is wrong?
Any idea how I could modify (the kernel) so that I could overwrite the faulty mac?
I could not find any description on how to receive dvb-h on the web. The are some mailing on how to find SDP files, but that was not such a big thing (dvbsnoop -b <pid> ..).
Thanks for help,
Dietmar
Some of my debug output:
tzap <service>
dvbsnoop 1140---
dvbsnoop V1.4.00 -- http://dvbsnoop.sourceforge.net/
------------------------------------------------------------
SECT-Packet: 00000001 PID: 1140 (0x0474), Length: 996 (0x03e4)
Time received: Fri 2007-03-30 00:15:34.630
------------------------------------------------------------
0000: 3e b3 e1 0d e1 c1 00 00 0c 80 00 00 45 00 03 d4
>...........E...
0010: 68 70 00 00 07 11 d3 96 ac 16 05 0d e1 e1 e1 0d
hp..............
0020: c0 12 04 4c 03 c0 dd f5 80 e0 5a 1e fa b3 d3
8d ...L......Z.....
(...) 03d0: 8e 91 da df 06 f9 42 54 2c 90 bf 5e 2a 7f f7
c0 ......BT,..^*...
03e0: 9c ee 8a fd ....
PID: 1140 (0x0474)
Guess table from table id...
DSM-CC DATAGRAM-decoding....
Table_ID: 62 (0x3e) [= DSM-CC - private data section // DVB datagram]
section_syntax_indicator: 1 (0x01)
private_indicator: 0 (0x00)
reserved_1: 3 (0x03)
Section_length: 993 (0x03e1)
MACaddrbyte/DevicdID 6: 13 (0x0d)
MACaddrbyte/DeviceID 5: 225 (0xe1)
reserved_2: 3 (0x03)
payload_scrambling_control: 0 (0x00) [= unscrambled]
address_scrambling_control: 0 (0x00) [= unscrambled]
LLC_SNAP_flag: 0 (0x00)
current_next_indicator: 1 (0x01) [= valid now]
Section_number: 0 (0x00)
Last_Section_number: 0 (0x00)
MACaddrbyte/DeviceID 4: 12 (0x0c)
MACaddrbyte/DeviceID 3: 128 (0x80)
MACaddrbyte/DeviceID 2: 0 (0x00)
MACaddrbyte/DeviceID 1: 0 (0x00) => MAC-Address/DeviceID:
00:00:80:0c:e1:0d
IP_datagram_bytes
0000: 45 00 03 d4 68 70 00 00 07 11 d3 96 ac 16 05 0d
E...hp..........
0010: e1 e1 e1 0d c0 12 04 4c 03 c0 dd f5 80 e0 5a
1e .......L......Z.
0020: fa b3 d3 8d 00 00 01 e0 3c 41 8e 0c 0a 7e e3
7a ........<A...~.z
(..)
--
dvbnet -p 1140
fconfig dvb0_0 up
tcpdump --n -i dvb0_0 -s0
00:25:16.377328 IP 172.22.5.13.49172 > 225.225.225.13.1102: UDP,
length 192
00:25:16.377575 IP 172.22.5.13.49172 > 225.225.225.13.1102: UDP,
length 183
00:25:16.379331 IP 172.22.5.13.49170 > 225.225.225.13.1100 : UDP,
length 1472
some sdp (not related, from a different service):
dvbsnoop 1201vlc -vvvv thisservice.sdp
(...)
v=0
o=- 1284305069 1139040522 IN IP4 192.168.250.2
s=realtimeaudio
c=IN IP4 226.226.0.2
a=control:*
a=range:npt=0.0-
a=ISMA-compliance:1,1.0,1
a=mpeg4-iod: "data:application/mpeg4-iod;base64,AoEHAA///w///wN
+AAFAYGRhdGE6YXBwbGljYXRpb24vbXBlZzQtb2QtYXU7YmFzZTY0LEFTb0JLQUtmQXlRRDZ
BVUVEVUFWQUFZQUFBZ1RNQUFCdFlBR0VBQkVBQUNzUkFBQXJFUWdJQUFBQUFNPQQNAgUAAQA
AAAAAAAAAAAYJAQAAAAAAAAAA"
m=audio 9030 RTP/AVP 101
b=AS:112
a=rtpmap:101 mpeg4-generic/44100/2
a=control:trackID=1000
a=fmtp:101 streamtype=5; profile-level-id=15; bitrate=112000;
config=1210; sizelength=13; indexlength=3; indexdeltalength=3;
profile="" mode=AAC-hbr
a=mpeg4-esid:1000
(...)
_______________________________________________ linux-dvb mailing list linux-dvb@xxxxxxxxxxx http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb