Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Multicast group address bug in WinCE 5

6 views
Skip to first unread message

Andrew P

unread,
Mar 26, 2007, 6:31:30 PM3/26/07
to pto...@instrument.com, shanta...@hotmail.com
I believe I may be hitting an IP multicast bug that was previously
discussed in the beginning of 2006 in this thread:

http://groups.google.com/group/microsoft.public.windowsce.app.development/browse_thread/thread/b56a4973efa56dbe/b6e9b76e066a8673

I am following up on this to find out if there was ever any
acknowledgment of this bug from Microsoft and whether there is a KB or
other reference to it. I believe I am hitting this bug, but the fix
mentioned in the last 2 posts is not working for me.

>From the thread:

"It appears to me that any group address which does not have 0's in
the b and
c positions of a.b.c.d will not work. Further, any address, even if b
and c
are zero, where d has bit 0 or 1 set doesn't seem to work, either. So
a.0.0.4 works, but a.0.0.5 does not and neither does a.0.0.6. Strange
bug..."

This is how the socket is being created:

_in_sock = new Socket(AddressFamily.InterNetwork,
SocketType.Dgram, ProtocolType.Udp);
IPEndPoint ipep = new IPEndPoint(IPAddress.Any, 9001);
_in_sock.SetSocketOption(SocketOptionLevel.Socket,
SocketOptionName.ReuseAddress, 1);
_in_sock.Bind(ipep);
IPAddress ip = IPAddress.Parse("239.255.255.249");
_in_sock.SetSocketOption(SocketOptionLevel.IP,
SocketOptionName.AddMembership,
new MulticastOption(ip, IPAddress.Any));

Any help or a response from Microsoft regarding the previous thread
would be greatly appreciated.

Thanks,
Andrew

Paul G. Tobey [eMVP]

unread,
Mar 26, 2007, 6:52:25 PM3/26/07
to
Yes, it's a real bug. There's never been a QFE to fix the stack that I've
heard about.

Your code will *definitely* not work around the bug, as the group number you
are trying to join doesn't fit the requirements to work around the bug. b
and c in a.b.c.d have to be zero. In your case, you've got them set to 255.
Further, d has to not have bits 0 or 1 set to 1, so your value of 249 fails
that, too (as bit 0 is set).

Paul T.

"Andrew P" <andrew.m...@gmail.com> wrote in message
news:1174948289.5...@n59g2000hsh.googlegroups.com...

Andrew P

unread,
Mar 26, 2007, 8:35:37 PM3/26/07
to
I supplied the code which we were originally trying to use for
illustration. When I saw the previous thread, I changed the code to
use a different group which fits the pattern of the bug and it still
failed to work.

I saw this other post:

http://groups.google.com/group/microsoft.public.windowsce.embedded.vc/browse_thread/thread/e2998fd51d3f0227/dd7933c1e0703791?lnk=st&q=multicast+wince&rnum=2#dd7933c1e0703791

Where Alistair said:

"the remainder of my situation appears to be the same as Shantu's
except that
his ultimate solution hasn't worked for me. "

This seems to be what I am experiencing as well. I am trying to get
someone from Microsoft to comment on this bug and why there is no
documentation at all regarding it other than your original thread
which figured out the exact pattern.

Thanks,
Andrew

On Mar 26, 6:52 pm, "Paul G. Tobey [eMVP]" <p space tobey no spam AT

Andrew P

unread,
Mar 26, 2007, 9:14:39 PM3/26/07
to
I should also point out that Microsoft's own documentation/example on
how to receive multicast datagrams on WinCE uses an address that would
not work:

http://msdn2.microsoft.com/en-us/library/aa916371.aspx

>#define RECV_IP_ADDR "234.5.6.7"
>#define DEST_PORT 4567

I do not have a WinCE 6 development environment set up. Does this bug
still exist in 6?

On Mar 26, 6:52 pm, "Paul G. Tobey [eMVP]" <p space tobey no spam AT
no instrument no spam DOT com> wrote:

Paul G. Tobey [eMVP]

unread,
Mar 27, 2007, 11:26:47 AM3/27/07
to
Yes, they know that it's broken; they just haven't prioritized fixing it.
You might try the exact group number that I've used to verify that there
isn't yet another restriction that we haven't detected yet that your group
number violates and, by luck, mine doesn't. 224.0.0.103

I've never tested CE6 for this particular thing...

Paul T.

"Andrew P" <andrew.m...@gmail.com> wrote in message

news:1174958079.2...@b75g2000hsg.googlegroups.com...

Corey Burke [MS]

unread,
Mar 28, 2007, 3:56:51 AM3/28/07
to
I haven't gotten a chance to investigate this issue yet, as it's only
recently come to my attention, and I don't have the right environment setup
to test it out right now. But I did want to add a little bit of info.

Our internal tests use 234.6.7.8 by default. I've run those before on XP
and CE (both 5.0 and 6.0) and have been able to send and receive multicast
packets on Netgear DS108 router with a Realtek 8139 wired ethernet card.

There's no documentation of this issue as it hasn't been verified to be a
bug in the product yet. Have any of you had a chance to try out the
example code?

Thanks!
Corey Burke
Window CE Networking QA

Paul G. Tobey [eMVP]

unread,
Mar 28, 2007, 1:44:20 PM3/28/07
to
I have a simple WinSock C program that will work fine if the group number
passes the tests of a.0.0.c where c doesn't have bit zero or one set, but
will fail reliably if any of those requirements is not met. I went through
a support cycle on this in CE4.2, I think (maybe my memory is faulty on
that).

Which example code are you talking about, exactly? I got my code from the
MSDN sample (desktop), for multicasting, although I modified the UI.

Paul T.

"Corey Burke [MS]" <cor...@online.microsoft.com> wrote in message
news:tGX%23m6QcH...@TK2MSFTNGHUB02.phx.gbl...

Hill@discussions.microsoft.com Jeffrey Hill

unread,
Mar 30, 2007, 5:00:01 PM3/30/07
to
I'd like to add myself to the small group of people experiencing this issue.
We have a suite of applications that has always used 234.67.67.67 as our
multicast group address, and have not had any issues until we developed a
custom device using Windows CE 5.0. The application does not receive
multicast packets using that group address, so we had to change to 234.0.0.4.
The ethernet chip we're using is the SMSC LAN91C111.

Now, the interesting part. Just today we acquired a Viewsonic V212 with
Windows CE 5.0 installed on it, and my application that uses our existing
group address works fine on that device. I don't know what ethernet chip the
device uses, but it is a wireless connection, so I would think it would have
to be different. This makes me wonder if the problem lies somewhere in the
ethernet driver. Either that, or Viewsonic found and fixed the issue in
their CE source code, which I don't have access to.

We ended up changing the group address for the one installation where we
used the custom device, but it is a very big problem for us. We have
multiple applications on multiple platforms that all communicate using our
group address. Updating all of our installations to change the group address
would be a very large effort. Any help resolving this will be greatly
appreciated.

Thanks
Jeffrey Hill

Corey Burke [MS]

unread,
May 2, 2007, 9:27:36 PM5/2/07
to
Sorry for the long delay on this reply, but since so many people were
hitting an issue with this, I really wanted to try and cover as many
possibillities as I could.

I tried this with all of the multicast addresses mentioned so far, both
sending and receiving, and had no problems. I used a packet sniffer to
ensure the packets we being multicast to the proper address.

I tried all combinations of the following:

Multicast Addresses:
234.6.7.8
234.67.67.67
234.0.0.5
239.255.255.249

Traffic Direction:
CE Sending
CE Receiving

Desktop OS Version:
XP SP2
Vista Enterprise

Windows CE Version:
Windows CE 5.0 RTM
Windows CE 5.0 + all QFEs up to May
Windows CE 6.0

Network Card:
Airnet AES 100 (RTL8139)
Socket PCMCIA (NE2000)
VMINI - Kingston PCI Ethernet (NE2000)

If you send me a direct mail (coreyb_r...@microsoft.com), I can send
you my test code (about 16KB) and binaries.

One thing I forgot to mention in my earlier thread is that if you have the
firewall on, it will block inbound multicast traffic. It shouldn't have
the funny rules though that were mentioned earlier.

Thanks for your patience,
Corey Burke
Windows CE Networking QA

0 new messages