The 4312 is one of the older Broadcom WiFi interfaces and should be fairly easy to fix. Does System > Administration > Hardware Drivers show yours as a "Broadcom STA wireless driver" or as a "b43" driver?
Either way, several people have mentioned going in there and clicking that Broadcom driver, then "Remove" to remove it. Then reactivate the driver (yours should be the "b43" if I recall correctly). You might need to reboot, and this often fixes the Broadcom driver.
Other people have mentioned needing to disconnect the ethernet cable (and possibly doing the Remove, Activate, reboot thing) to get the Broadcom working.
If you do a forum search here for "Broadcom 4312" you should find several threads about that wireless.
It might be helpful if you post the results of the following terminal commands either here (or on one of the relevant Broadcom 4312 threads here):
edit: Here is a link to a recent thread here about the Broadcom 4312 (which was fixed on that thread):
sudo lshw -C network