BCM4313 ignores ARP broadcast packets

Bug #1111956 reported by KJ Tsanaktsidis
40
This bug affects 7 people
Affects Status Importance Assigned to Milestone
bcmwl (Ubuntu)
Expired
Low
Unassigned

Bug Description

I'm running ubuntu server 12.04 on a netbook with a Broadcom BCM4313 wireless chip. I had the wl.ko driver installed by compiling the bcmwl-kernel-source package, and everything was good in the world.

Then, yesterday, I did a dist-upgrade, and the machine now no longer responds to ARP broadcast packets. Consider two machines- the affected netbook A, and my other windows machines B and C. If I try and ping A from B, I get "destination host unreachable". Wireshark on B shows ARP broadcast packets going out, but tcpdump on A does not see these packets.

If I then ping B from A, I see an ARP broadcast from A asking "Who has B? Tell A", which B responds to. B then sends a "Who has A? Tell B" message, but directs this specifically to A's MAC address and not the broadcast MAC. A responds to this message, and the pings succeed. Because B's ARP table has been filled in this process, pings from B to A now work too- but pings from C to A still fail.

The inability to do inbound connections seems like a pretty big showstopper for a server! This is possibly related to this: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/414724

Revision history for this message
KJ Tsanaktsidis (kjtsanaktsidis) wrote :

I tried to run apport-collect but the machine doesn't have a GUI, and the OAuth process fails in links. Let me know what other information is needed!

Revision history for this message
AekFV (aekfv) wrote :

I'm also experiencing this problem with a netbook on my LAN. I can no longer access it through SSH, but it can access its own SSH server and use internet.

Revision history for this message
Jay Christnach (jay-christnach) wrote :

Yes, exactly the same problem here. I used wireshark to trace down the problem. It seems that the broadcom driver simply ignores broadcasts. Everything has been very fine for quite a long time (years ?). Now it's broken!
What should we do now? It's a proprietary driver as I understand. So will somebody listen to us or do we have to live with this unless we buy some other hardware?

Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in bcmwl (Ubuntu):
status: New → Confirmed
Revision history for this message
PascaL Lenormand (pascal148) wrote :

Hi,

Just for information (no for controversy), I've encountered the same problem under Ubuntu 12.04 with linux kernel 3.2.0-37-generic-pae.
I've just removed the broadcom-sta-common and installed the package broadcom-sta-dkms 5.100.82.112-8.deb from the Debian Wheezy distribution and everything seems to works fine.
I can ping the machine or make a connection through ssh.
Once again, it's just for information, help some users to deal with this problem and possibly help developers to solve this issue.

Thanks.

Revision history for this message
Scott Talbert (swt-techie) wrote :

It seems that this may be related to the wireless encryption. If I connect to an open (unencrypted) network, I can receive broadcast ARPs. On a WPA2 network, I cannot.

Revision history for this message
Bernardo Reino (reinob) wrote :

I have a BCM4313 and am running Kubuntu 12.04.02.

Until today I've been using the lts-quantal kernel (3.5.0-27 and 3.5.0-28 from -proposed) with bcmwl-kernel-source_6.20.155.1+bdcom-0ubuntu0.0.1_amd64.deb (precise-updates).

Today I've installed the kernel from linux-generic-lts-raring (3.8.0-19) with the bcmwl package from:
https://launchpad.net/~albertomilone/+archive/broadcom

I can report that with the above package the wl module works fine with the 3.8.0-19 kernel *and* this bug seems to be fixed. At least I could ping and ssh from another computer (N900). This is on a WPA2 network.

Revision history for this message
Bernardo Reino (reinob) wrote :

Just for extra verification: could any of the affected people test if the new bcmwl version (6.30.*) works OK?

The version here https://launchpad.net/~albertomilone/+archive/broadcom is now (I think) in precise-proposed. Should work with any kernel up to 3.8.x.

(I'm on precise now with mainline kernel 3.9.x, had to patch the above driver to work under 3.9 - ARP/ping still works OK).

Alternatively, you can try with the version posted here: https://bugs.launchpad.net/ubuntu/+source/bcmwl/+bug/1157880/comments/8
It's the same as Alberto Milone's one linked above + patch for 3.9.

It's advertised for raring and for saucy (would be nice if feedback is also posted there).

Revision history for this message
PascaL Lenormand (pascal148) wrote :

Hi,

It works fine with Kubuntu 13.04 using kernel 3.8.0.19 (bcmwl-kernel-source_6.30.223.30+bdcom-0ubuntu1~ppa1_i386).

Thanks.

Revision history for this message
Adam Porter (alphapapa) wrote :

Bernardo,

You should not undo my marking of the bug without explaining your reasoning. Your own report suggests that most likely this bug has been fixed on Precise with current versions of the kernel package and bcmwl package. It may also be fixed on Precise with the in-tree driver, which may be used by removing bcmwl-*.

Therefore I am marking this bug as Incomplete. If you disagree, explain why.

Changed in bcmwl (Ubuntu):
status: Confirmed → Incomplete
Revision history for this message
Bernardo Reino (reinob) wrote :

Adam,

Pleas read the first post again. Have YOU verified that this bug is fixed with drivers other than bcmwl?

THIS bug report is about BCM4313 *and* bwmcl ignoring ARP broadcast packets. If you think other drivers solve this bug, then please kindly post this as a workaround in a comment, but do not mark this bug as a duplicate of "in-kernel driver should be used for BCM4313" because it's clearly not the same issue.

People affected by this bug want BCMWL to properly handle ARP broadcasts, not to discuss Ubuntu policy about which driver should be used with what chipset.

Please note also that this bug is apparently fixed with the latest bcmwl 6.30 version available for saucy.

Changed in bcmwl (Ubuntu):
status: Incomplete → Confirmed
Revision history for this message
Adam Porter (alphapapa) wrote : Re: [Bug 1111956] Re: BCM4313 ignores ARP broadcast packets

Bernardo,

Yes, as I've said in other reports we've discussed, I verified that
brcmsmac works with the BCM4313 card.

Unless there are other problems with brcmsmac and BCM4313 cards, users
should uninstall bcmwl and use brcmsmac. If there are other problems,
we need to get those bugs filed. Our goal needs to be to move to the
Free driver wherever possible. Staying on bcmwl is just asking for
trouble, as we've seen with all these recent regressions.

Revision history for this message
Bernardo Reino (reinob) wrote :

@Adam,

OK. Let's do one thing. If brcmsmac works for you, then be happy and forget about bcmwl. Meaning don't touch any bcmwl-related bug, as, as I've repeteadly said, forcing users to use brcmsmac will not, by definition, solve any bug in bcmwl, just as this one.

Nobody forces you to use bcmwl. Even if Ubuntu selects that as default, you are free to apt-get purge bcmwl-kernel-source.

If you want to (for whatever reason) convince other people to stop using bcmwl for the bcm4313 card, it won't be enough to repeteadly state "I verified that it works". Have you done power consumption measurements? have you tested that you can connect on any channel? (as allowed by whatever region you are in).

Revision history for this message
penalvch (penalvch) wrote :

KJ Tsanaktsidis, could you please provide the missing information following https://help.ubuntu.com/community/WifiDocs/Driver/bcm43xx#Broadcom_STA_Wireless_driver ?

Changed in bcmwl (Ubuntu):
importance: Undecided → Low
status: Confirmed → Incomplete
Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for bcmwl (Ubuntu) because there has been no activity for 60 days.]

Changed in bcmwl (Ubuntu):
status: Incomplete → Expired
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.