WiFi Appears To Interfer With Wired Connection

I am running OpenSUSE 12.2 and, in Network Manager, I have both my wired connection and my WiFi configured to connect automatically. When I plug in my wired connection, it automatically connects and works properly for a few seconds and then works only intermittently thereafter generally less than 25% of the time. Using the ping command, it appears to work for 8 to 20 seconds and then stops working for 20 to 60 seconds and then repeats this over and over again. My WiFi works properly 100% of the time.

So, I investigated /var/log/messages and the following kernel messages are generated in massive numbers when the wired connection quits working:

Nov 1 16:20:06 rhino kernel: IPv4: martian source 192.168.2.122 from www.xxx.yyy.zzz, on dev wlan0

Interestingly, 192.168.2.122 is the ip address of the wired connection but the martian source reports it on “dev wlan0” which is the WiFi connection. The IP address for the WiFi (wlan0) is 192.168.2.123.

Subsequently, I found that if I disable the wireless connection by unchecking “Enable Wireless” in the Network Manager, then the wired connection works perfectly 100% of the time. So, it appears that the WiFi is interfering with the wired connection.

In summary, my WiFi works 100% of the time always but my wired connection works 100% of the time only if the WiFi is disabled. If WiFi is enabled then the wired connection only works intermittently and less than 25% of the time. Also, when the wired connection is connected with the WiFi enabled then a huge number of martian source errors are generated in /var/log/messages.

These problems began shortly after I updated the kernel to version 3.4.11-2.16.1 and I suspect that this kernel update may be what is causing these problems. Prior to this kernel update, I have never observed this problem throughout prior kernel versions on OpenSUSE and other Linux distributions which I have run on this computer for the past 4 years.

My computer is a Dell Precision M6300 laptop and my network hardware is as follows:

Wired - Broadcom NetXtreme BCM5756ME Gigabit Ethernet PCI Express
WiFi - Intel PRO/Wireless 4965 AG or AGN [Kedron] Network Connection

Anybody got any ideas on the best way to solve this?

Thanks,

Gordon

So you have wired and wireless in your residence. Do they both come from the same router? Specifically, who is giving out the local IP addresses of the DHCP server? I know that Wireless routers can also provide a Wired connection, but at my house, I have a high speed wired router with a wireless router where it has been configured as just an access point, thus IP addresses just come from one place, my wired router. Other methods that work do exist, but you got to ask the question just to make sure. A wired client and wireless one, can’t use the same IP address on the same local subnet even as nothing else might realize it has happened. Now, if just using a different kernel is a test, I have a kernel compiler that can let you do the test. The latest stable kernel is now up to version 3.6.5 and worth a try I would say.

S.A.K.C. - SUSE Automated Kernel Compiler - Version 2.78 - Blogs - openSUSE Forums

Thank You,

I am not quite sure that you are reading that correctly.

I read it as saying that the packet was received on 192.168.2.123, and appears to have come from 192.168.2.122.

I don’t think it is confusing the two interfaces. I do not know what it does not like about that packet, unless the MAC address is bad. Perhaps it thinks that you should not be sending from your wired interface to your wireless interface.

I have not tried connecting both wired and wireless to the same network. I’ll give it a try later, and post back if I discover anything.

Thanks very much for your prompt reply.

In answer to your first question all IP addresses are assigned from the same place. My router is dhcpd on a CentOS 5 machine and which serves all wired and wireless connections in my house. I have 2 WiFi devices which are configured as hubs (access points) and not routers.

Thanks for the kernel compiler info. I’m not quite ready to go that route yet but I may indeed give it a go shortly.

Gordon

Thanks very much for your prompt reply too!

I would like to just have the wireless connection automatically disabled when the wired connection is active which would solve my problem. Is there a way to do that?

Gordon

Offhand, I do not know a way to automate that.

I did just try connecting with both. I saw many “martian source” message, but they seem to originate from a Windows box on the home network. They did not cause any problem, other than generating lots of log messages. Both connections stayed up.

I never have any trouble with both connected, but I have each device MAC assigned a different LAN IP
I don’t know if that’s right, but it works for me.

I often have both wireless and wired interfaces active at work, but in separate subnets, and never have an issue.

I know that if you use the Network Manager as opposed to using the traditional method with ifup, NM will favor the wired connect you get over wireless when using the KDE desktop. Have you tried using NM in the KDE desktop before?

Thank You,

That is interesting. I don’t think that any of us should be getting those “martian source” error messages. I have six (6) other Linux machines, 4 running CentOS 5 and 2 running Debian, however, none of them has generated a single “martian source” error in the last 7 days which is as far back as I keep logs. Whereas, when I plugin my wired connection on my OpenSUSE 12.2 installation with both eth0 and wlan0 enabled then I get tons and tons of these “martian source” messages.

By definition, A Martian packet is an IP packet which specifies a source or destination address that is reserved for special-use by Internet Assigned Numbers Authority (IANA) and cannot actually originate as claimed or be delivered. See: Martian packet - Wikipedia, the free encyclopedia. Again, I don’t think that we should be seeing any martian source errors unless something is terribly wrong.

Another thing that I have noticed is the following line(s) in /var/log/messages which is ratelimiting the martian source errors on my OpenSUSE 12.2 machine:

Nov 1 15:01:59 rhino kernel: net_ratelimit: 36 callbacks suppressed

My wired connection quits working whenever this ratelimiting occurs. However, the bottom line in my mind is that the “martian source” messages should not be ever happening and that this is probably being caused by some type of bug.

I have used the NM both from within KDE and the system tray applet. They both appear to provide the same interface and yield the same results with lots of martian packets.

Thanks,

Gordon

In my experience, it will setup both ethernet and WiFi connections. It will “favor” the wired only in the sense that it sets up routing through the wired interface.

Here’s one of the martian source messages that was logged yesteday:


Nov  1 20:13:46 nwr kernel: IPv4: martian source 255.255.255.255 from 192.168.254.97, on dev eth0

Here the “martian source” refers to the “255.255.255.255”. Presumably the “from 192.168.254.97” is due to looking up the MAC address in the arp cache to find out what the source IP should have been.

In my case, 192.168.254.97 is a Windows box. My best guess is that this is McAfee firewall on that box, trying to find what is on the LAN. That’s one of the annoying things that McAfee seems to do. I normally use that laptop only with wifi, so McAfee probably saw the ethernet connection as a possible intruder on the LAN.

In your case (the opening post of this thread), my best guess is that your ethernet interface connection was lost. So the dhcp client software sent out a DHCP request. That request would have been a broadcast, and would probably have use 0 as the source address, which would be seen as martian on your connected wifi interface.

I think your problem is not the martian source. That is likely only a symptom. Your problem is that the connection is being lost. There might be something funky in your hardware, but that’s only a guess.

That is the way that I have my dhcp server setup. I have setup separate static IP addresses for each interface (eth0 and wlan0) based on each interface’s MAC address.

How about checking to see if you are getting any “martian source” errors in /var/log/messages with both interfaces enabled and the wired interface (eth0) connected. nrickert said that he is getting the martian packets too although he is not having any connectivity problems as I am. My point is that we should not be seeing the martain packets at all unless something is terribly wrong.

Thanks,

Gordon

I do get “martian source” errors
But no problems

Thanks for taking the time to help trouble shoot my problem. Your assertion may be correct, however, I only see the errors when I connect via the wired connection with the WiFi enabled and the martian errors completely go away if I disable the WiFi while connected via the wired connection. The WiFi works 100% of the time always and the wired connection works 100% of the time if the WiFi is disabled. That just doesn’t seem like an intermitent hardware malfunction to me but I may be wrong.

You are also seeing the martian source errors. I realize that you think that they are being generated by a Windows system on your network which may be the case. However, I am not seeing any martian source errors on any of my 6 other Linux systems one of which is on the same network with my laptop and all of which have Windows systems in their networks.

So, the question becomes: Why is everyone getting martian source errors with their wired connection when their WiFi is enabled but not otherwise? Is this normal? All I know is that I have 6 other Linux boxes that do not have any martian source errors in their logs. I do not believe that this is normal or expected behavior.

It looks like a weird interaction between the two interfaces.

I guess it is possible that your router is confused by two different connections from the same computer (I’m assuming that it is seeing the computer name as part of the dhcp dialog).

You might try looking for any “dhclient” logs - I’m not sure where those are logged.

When I look further back in the logs, I see many martian source logs from the same windows box, but seen on wlan0. They are on the date when I upgraded that laptop to opensuse 12.2. I do know, from looking on the windows box, that the McAfee security software does try to keep track of other computers on the network.

On my office desktop, I see two martian source logs:


Sep  5 13:36:13 linux-r6me kernel:  3449.155251] IPv4: martian source 255.255.255.255 from 131.156.145.229, on dev eth1
Sep 24 13:21:15 nwro kernel: [438138.436384] IPv4: martian source 255.255.255.255 from 131.156.145.126, on dev eth1

The first of those was on the day that I installed 12.2 (I had not yet set the hostname that I wanted). That machine is directly connected to the internet.

In any case, martian source logs can show up, and are usually not themselves a problem.

No, I don’t believe that is normal. And I don’t believe everyone is seeing that (at least not with the specifics that you give).