I've compiled with "Target Profile (Broadcom BCM43xx WiFi (wl, proprietary))" and deployed to my WRT300n v1, however I cannot get the wl driver to work.

root@OpenWrt:/# lsmod | grep wl
wl                   1466816  0 
wl_glue                 2208  1 wl

Others seem to have this working, and 10045 indicates that installing the proprietary broadcom driver should work.

I've read through how the ssb and pci drivers initialize, and added some dmesg tracing to try to help. It looks to me like the problem is in linux/drivers/ssb/driver_pcicore.c, at the end of "static int __devinit pcicore_is_in_hostmode(struct ssb_pcicore *pc)" where it calls mips_busprobe32 to test for non-error. It returns 0xfffffff2, but I have no idea what bus exception this actually means.

From linux/drivers/ssb/driver_pcicore.c:

/* Probe a 32bit value on the bus and catch bus exceptions.
 * Returns nonzero on a bus exception.
 * This is MIPS specific */
#define mips_busprobe32(val, addr)      get_dbe((val), ((u32 *)(addr)))

Can somebody explain to me what get_dbe does (it'd code seems to be written in assembler)? I am not even clear on if the exception is a MIPS thing, SSB thing, or PCI thing!

Am I way off looking at the PCI stuff? Does the wl_glue module hide the PCI layer, or something like that?