http://bugs.winehq.org/show_bug.cgi?id=17432
Damjan Jovanovic damjan.jov@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW CC| |damjan.jov@gmail.com Ever Confirmed|0 |1
--- Comment #2 from Damjan Jovanovic damjan.jov@gmail.com 2009-07-04 07:16:51 --- I've seen this too sometimes, time for detailed testing.
Ubuntu 9.04 + self compiled Wine 1.1.25, versus Windows Vista. Gigabit LAN crossover cable between the 2 machines. Firewalls off. Ping and TCP connections tested in both directions and work.
WARNING: this is a long post, the summary is at the bottom.
====================== Unpatched Wine hosting ====================== If Vista is already in the "Local Area Network" screen when Wine starts hosting, the game can't be seen in Vista. However if you go back to the main screen, then to "Local Area Network" screen again you can see the game, but trying to join it gives "Unable to join the specified game. Please try again or select a different game".
Same thing happens if Vista only tries to enter the "Local Area Network" screen after Wine starts hosting.
The following FIXMEs appear in the Wine terminal when you start hosting, whether you try to join Wine's game or not:
fixme:winsock:WSAIoctl unsupported WS_IOCTL cmd (9800000c) fixme:winsock:WSAIoctl SIO_GET_EXTENSION_FUNCTION_POINTER {b5367df1-cbac-11cf-95ca-00805f48a192}: stub fixme:winsock:WSAIoctl SIO_GET_EXTENSION_FUNCTION_POINTER {b5367df2-cbac-11cf-95ca-00805f48a192}: stub fixme:winsock:WSAIoctl SIO_GET_EXTENSION_FUNCTION_POINTER {b5367df0-cbac-11cf-95ca-00805f48a192}: stub
====================== Unpatched Wine joining ====================== Wine sees the game (even if already in the "Local Area Network" screen), successfully joins, and plays!
Same FIXMEs from before though - maybe they don't break anything?
==================== Patched Wine hosting ==================== With the patch from bug #9787 applied to Wine, Vista only sees the game when first entering the "Local Area Network" screen like before, but this time it can join and plays fine!
This time there is only this FIXME: fixme:winsock:WSAIoctl unsupported WS_IOCTL cmd (9800000c)
So maybe it's the other FIXMEs that break it (too), not just bug #9787?
==================== Patched Wine joining ==================== With the patch from bug #9787 applied to Wine, Wine can see the game, does join and plays fine!
Also only this FIXME: fixme:winsock:WSAIoctl unsupported WS_IOCTL cmd (9800000c)
======================== Visibility investigation ======================== Why does Vista only see new games when entering the "Local Area Network" screen?
Tried switching off my 3G card on Linux so I only have 1 network interface => didn't help.
tcpdump and Wireshark seem to not capture a single packet. Maybe some networking problem that stops packets from being generated in the first place?
In a +winsock trace we see this getting tried every few seconds:
trace:winsock:WSASendTo socket 216c, wsabuf 0x33f528, nbufs 1, flags 0, to 0x33fb70, tolen 16, ovl (nil), func (nil) trace:winsock:WSASendTo fd=22, options=0 warn:winsock:wsaErrno errno 101, (Network is unreachable). warn:winsock:WSASendTo -> ERROR 10051
Adding some more tracing to the WSASendTo call we see where it's trying to send: trace:winsock:WSASendTo to = 255.255.255.255
$ ping 255.255.255.255 connect: Network is unreachable
So what if we add a route to that network?
$ sudo route add -net 255.255.255.255 netmask 255.255.255.255 dev eth0
and to check:
$ route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 255.255.255.255 0.0.0.0 255.255.255.255 UH 0 0 0 eth0 192.168.0.0 0.0.0.0 255.255.255.0 U 1 0 0 eth0
Vista now sees Wine hosted games made while already in the "Local Area Network" screen just fine!
================== Other known issues ================== Don't even try to play this over WiFi - it doesn't work on Vista itself half the time (some people can't listen/join, etc.). Also firewalls often break this game (among almost everything else :-) so they were off for my test.
======= Summary ======= 2 problems here:
1. Windows can only see Wine hosted games when it re-enters the "Local Area Network" screen. - Need to route 255.255.255.255/32 to the local LAN in Linux
2. Windows can't connect to visible Wine hosted games. - Unclear, the patch for #9787 fixes it, but it could also be Wine's lack of support for the SIO_GET_EXTENSION_FUNCTION_POINTER ioctl or something else.
Someone care to test these workarounds with a Mac?