Previously there was not good support for this in the LinuxKernel but more recent versions (>= 2.6.17) are adding support.
You will need to extract firmware from a MicrosoftWindows driver by using a tool called fwcutter available from http://developer.berlios.de/project/showfiles.php?group_id=4547 or in DebianLinux as a package called bcm43xx-fwcutter.
Run this program like sudo bcm43xx-fwcutter -w /lib/firmware bcmwl5.sys where bcmwl5.sys is the name of your driver file (this is the most common one) and it will put the extracted firmware into /lib/firmware - you should change the owner and group to root.
NB The standard drivers shipped with hardware do not work with Broadcom 4306 sometimes so it is suggested to use the driver file here - http://drinus.net/airport/wl_apsta.o
ADDRCONF(NETDEV_UP): eth1: link is not ready
though of course it could be eth0, eth2, wlan0 etc (to help google with this error message!)