Things have moved on a bit since I did this last - the onboard ethernet is recognised out of the box. But not the wireless. Off to try the NDIS Wrapper trick.
Now, I've got the Windows driver, which gives me the .inf and .sys files, and I downloaded the latest ndis package. Now to build it.
Unlike Solaris 10, where you type make and it works first time, Indiana has been cut down to fit onto the live CD and so you need some extra stuff. Several iterations of trial and error later, and the required steps are:
pfexec pkg install SUNWgcc
pfexec pkg install SUNWhea
pfexec pkg install SUNWflexlex
pfexec pkg install SUNWgm4
(Clearly, the dependency information for these packages is incomplete. Without gm4, flex gives an error message than couldn't ever be described as useful.)
With that, the "make ndiscvt" step works. Then you need to copy the .sys and .inf files into place and run
./ndiscvt -i ndis.inf -s ndis.sys -o ndis.h
if that fails with the error
ndiscvt: line 13: e: syntax error.
then the .inf file is in utf-16 format, so you need to
iconv -f utf-16 -t ascii path/to/bcmwl5.inf > ndis.inf
and run the ndiscvt step again.
Then it really is as simple as
pfexec cp bcmndis /kernel/drv/bcmndis
pfexec cp ndisapi /kernel/misc
Looking at "/usr/X11/bin/scanpci -v", we see
pci bus 0x0002 cardnum 0x03 function 0x00: vendor 0x14e4 device 0x4320
Broadcom Corporation BCM4306 802.11b/g Wireless LAN Controller
CardVendor 0x1028 card 0x0001 (Dell TrueMobile 1300 WLAN Mini-PCI Card)
STATUS 0x0010 COMMAND 0x0106
CLASS 0x02 0x80 0x00 REVISION 0x02
BIST 0x00 HEADER 0x00 LATENCY 0x20 CACHE 0x00
BASE0 0xfafee000 addr 0xfafee000 MEM
MAX_LAT 0x00 MIN_GNT 0x00 INT_PIN 0x01 INT_LINE 0x0b
BYTE_0 0x01 BYTE_1 0x00 BYTE_2 0xc2 BYTE_3 0xff
So we need to (see the numbers for vendor and device in the first line above)
add_drv -i '"pci14e4,4320"' bcmndis
and Yay!, it attaches.