I've found a post that fixed the problem, thanks to Nathan.Flow who posted it here.

1. Download latest stable ndiswrapper. And compile and install it (make, make install).
2. Download your latest AND CORRECT drivers. I've an XPS M-1330 with Broadcom BCM4310 USB, and I downloaded drivers from here.
2. Follow this instructions.

Hope that works for you also.
Just to be clear: ndiswrapper is not really a solution, just a work-around. ndiswrapper is a utility to drive wireless devices using Windows drivers. The problem that everyone's having with BCM4310 is that there's a bug with the native Linux driver in the most recent release (which has been pushed out via Ubuntu updates), which hopefully will be solved very soon. It's better to use the native Linux driver whenever possible...ndiswrapper is from the days when few vendors offered any Linux support and using Windows drivers was the only option. Fortunately those days are gone in most cases and ndiswrapper is not necessary for most people, although it will still work. But Broadcom's drivers, which were painstakingly reverse-engineered because Broadcom has always been really nasty about open-source support (despite the fact that it makes millions putting its chips in wireless routers that ironically run Linux), offer more features and are easier to fix than ndiswrapper, so you should use wl where possible.

If you want to use ndiswrapper as a temporary solution to this problem, however, you need to add the line:
blacklist wl
to the file /etc/modprobe.d/blacklist, then install ndiswrapper (plenty of guides online). To go back to the native driver when it gets repaired, remove that line from /etc/modprobe.d/blacklist and replace it with the line:
blacklist ndiswrapper
(I don't have any qualms with ndiswrapper, but I've been troubled lately by mass confusion--particularly among the Broadcom crowd--about what it is and what it is not, which I think results from badly written documentation, so I wanted to point this out.)