Mailing List archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[linux-dvb] Re: How to change MAC bytes number more important




Happy news! I partially solved my problem: first 3 element (data[1],
data[2], data[6], corresponding to 3 MAC LSBytes) can be
set to 0 MASK, while other 3 can only be masked with an 0xF0 mask.
In my example:

         ip[0] = 0xd7;

        dvbcfg[0].filter.data[1] = (ip[3] << 8) | 0x0000 ;
        dvbcfg[0].filter.data[2] = (ip[2] << 8) | 0x0000 ;
        dvbcfg[0].filter.data[6] = (ip[1] << 8) | 0x0000 ;
        dvbcfg[0].filter.data[7] = (ip[0] << 8) | 0x00ff ;
        dvbcfg[0].filter.data[8] = (0x02 << 8) | 0x00f0 ;
        dvbcfg[0].filter.data[9] = (0x00 << 8) | 0x00ff ;

Here first 3 are ok, while data[7] is set by my value, ip[0]. In
addition 8 can be masked by a 0xF0 value, so we could have such as:

 00   0X  D7  XX   XX   XX         filter address.
For my application is ok.

Now I have another question I'll ask with a new subject.
Thank you to all helping me.
Arcomano Roberto


David Toth wrote:

   Hi!

  On Fri, 4 Jan 1980, Arcomano Roberto wrote:
  > So I set all 6 words element (which ones used in dvbd.c source file
for MAC
  > address) to zero, so I expect from it that ALL PACKETS have to reach
O.S.
  > Under Windows environment I did the same (setting 0 in "Relevant MAC
bytes"
  > in dvb utility) with the result that ALL PACKETS were sent to my OS,
so
  > browser could take they it needs.
  > Under Linux, modifing dvbd.c as described before, I cannot view
anything in
  > my dvb0 interface: I cannot understand why.

   I've also played around to get all packets received by the card with
a
  given PID but that was a long time ago (as fas as I can remember the
  driver version was at 0.6;  and lately I had no time to follow
  changes in the driver :((( so there could be an easier way than the
one
  I describe here).
   What I've learned is the "all 0s mask" filters won't work (at least
  didn't work for me)... this is a driver issue (or may be a hardware
  limit) so even if you successfully patch the dvbd it is possible that
it
  won't work this way. I've managed to receive all packets (with a given

  PID) by setting up two bit filters: one with data: $80, mask: $80 ,
the
  other one with data: $00, mask: $80 (both filters mask by the first
bit of
  the packet: one of them filters out packets with first bit 0, the
other
  one is with first bit 1.. so you can receive all packets with two
filters
  :))
   I don't know how to implement it in dvbd.c , I've never saw that
stuff,
  cause I only use my card to watch TV (and no network reasons).
   Bye,
   David

  ---
  Info:
  To unsubscribe send a mail to listar@linuxtv.org with unsubscribe as
subject.

--
Arcomano Roberto

--
Arcomano Roberto





--- 
Info:
To unsubscribe send a mail to listar@linuxtv.org with unsubscribe as subject.



Home | Main Index | Thread Index