Hi all. I have spent several days trying to get my wireless card working all to no avail. It seems that several people have had similar problems, and I am hoping that someone can help me. The only thing that I have not tried yet is the pcitools script, because I don't quite understand it fully, and it looks like I could quickly make things worse by using it haphazardly. Here is what I have done and the specs for my card-
I only boot into the 32-bit kernel by appending "kernel/unix" to the kernel line in menu.lst. I tried using ndis-1.1 first, but I got the <pre>"../if_ndis.c:3038: error: `DDI_NT_NET_WIFI' undeclared (first use in this function)"</pre> error. I edited ndis-1.1/if_ndis and commented out the several lines pertaining to DDI_NT_NET_WIFI. It then compiled fine, and left me with 'bcmndis' and 'ndisapi'. I moved them to /kernel/drv and /kernel/misc respectivly and: <pre> bash-3.00# add_drv -i '"pci14e4,4311"' bcmndis devfsadm: driver failed to attach: bcmndis Warning: Driver (bcmndis) successfully added to system but failed to attach </pre> After reading 'man add_drv' I also copied bcmndis and ndisapi to /platform/i86pc/kernel/drv and /platform/i86pc/kernel/misc respectivly. Same results. I tried the 32-bit sys and inf files from the link on the OpenSolaris ndis page as well as ones specifically for my system that have worked historically with ndiswrapper in slackware, gentoo and ubuntu linux. Same results. I read up and found that this 'DDI_NT_NET_WIFI' error came from using ndis-1.1 in Solaris 10. So, I removed all of the copies of bcmndis and ndisapi and executed: <pre>rem_mod bcmndis</pre> I used ndis-0.1 and an odd thing happened. I followed all of the above steps- tried both sets of windows files, copied to /kernel/-- and /platform/i86pc/kernel/--. When I 'made ndis' I ended up with a binary 'ndis', not 'bcmndis' <pre> bash-3.00# make ndis /usr/sfw/bin/gcc -g -O2 -D_KERNEL -D__i386__ -I../include -I. -c ../if_ndis.c -o ndis.o ld -r -o ndis ndis.o bash-3.00#</pre> I tried copying it to /kernel/drv as both ndis and bcmndis. I get the same thing either way- won't load. Below is an example of what I mean. Here is my card info (scanpci -v): <pre> pci bus 0x0003 cardnum 0x00 function 0x00: vendor 0x14e4 device 0x4311 Broadcom Corporation Dell Wireless 1390 WLAN Mini-PCI Card CardVendor 0x103c card 0x1374 (Hewlett-Packard Company, Card unknown) STATUS 0x0010 COMMAND 0x0006 CLASS 0x02 0x80 0x00 REVISION 0x02 BIST 0x00 HEADER 0x00 LATENCY 0x00 CACHE 0x10 BASE0 0x00000000b6000004 addr 0x00000000b6000000 MEM 64BIT MAX_LAT 0x00 MIN_GNT 0x00 INT_PIN 0x01 INT_LINE 0xff BYTE_0 0x01 BYTE_1 0x58 BYTE_2 0x03 BYTE_3 0x06 </pre> Here is the entire process of making and installing the driver from start to finish- using 0.1 and the inf/sys files from the opensolaris page for 14e4,4311. The iconv step is omitted below, but was obviously done: <pre> bash-3.00# make ndiscvt /usr/sfw/bin/gcc -I../include -O -c ../err.c -o err.o /usr/sfw/bin/gcc -I../include -O -c ../inf.c -o inf.o /usr/sfw/bin/gcc -I../include -O -c ../ndiscvt.c -o ndiscvt.o /usr/sfw/bin/gcc -I../include -O -c ../subr_pe.c -o subr_pe.o yacc -d -v ../inf-parse.y conflicts: 1 reduce/reduce mv y.tab.c inf-parse.c /usr/sfw/bin/gcc -I../include -O -c inf-parse.c -o inf-parse.o rm -f inf-token.c flex -t ../inf-token.l > inf-token.c /usr/sfw/bin/gcc -I../include -O -c inf-token.c -o inf-token.o /usr/sfw/bin/gcc -I../include -O -o ndiscvt err.o inf.o ndiscvt.o subr_pe.o inf-token.o inf-parse.o bash-3.00# ./ndiscvt -i ndis.inf -s ndis.sys -o ndis.h $Windows NT$ -- bash-3.00# make ndis /usr/sfw/bin/gcc -g -O2 -D_KERNEL -D__i386__ -I../include -I. -c ../if_ndis.c -o ndis.o ld -r -o ndis ndis.o -- bash-3.00# make ndisapi /usr/sfw/bin/gcc -g -O -D_KERNEL -D__i386__ -I../include -c ../subr_ndis.c -o subr_ndis.o /usr/sfw/bin/gcc -g -O -D_KERNEL -D__i386__ -I../include -c ../subr_ntoskrnl.c -o subr_ntoskrnl.o /usr/sfw/bin/gcc -g -O -D_KERNEL -D__i386__ -I../include -c ../subr_pe.c -o subr_pe.o /usr/sfw/bin/gcc -g -O -D_KERNEL -D__i386__ -I../include -c ../subr_hal.c -o subr_hal.o /usr/sfw/bin/gcc -g -O -D_KERNEL -D__i386__ -I../include -c ../kern_ndis.c -o kern_ndis.o /usr/sfw/bin/gcc -g -O -D_KERNEL -D__i386__ -I../include -c ../kern_windrv.c -o kern_windrv.o ld -r -o ndisapi subr_ndis.o subr_ntoskrnl.o subr_pe.o subr_hal.o kern_ndis.o kern_windrv.o bash-3.00# cp ndis /kernel/drv/ndis bash-3.00# cp ndisapi /kernel/misc/ndisapi bash-3.00# add_drv -i '"pci14e4,4311"' ndis devfsadm: driver failed to attach: ndis Warning: Driver (ndis) successfully added to system but failed to attach bash-3.00# rem_drv ndis bash-3.00# rm /kernel/drv/ndis bash-3.00# cp ndis /kernel/drv/bcmndis bash-3.00# add_drv -i '"pci14e4,4311"' bcmndis devfsadm: driver failed to attach: bcmndis Warning: Driver (bcmndis) successfully added to system but failed to attach bash-3.00# rem_drv bcmndis bash-3.00# rm /kernel/drv/bcmndis bash-3.00# cp ndis /platform/i86pc/kernel/drv/bcmndis bash-3.00# rm /kernel/misc/ndisapi bash-3.00# cp ndisapi /platform/i86pc/kernel/misc/ndisapi bash-3.00# add_drv -i '"pci14e4,4311"' bcmndis devfsadm: driver failed to attach: bcmndis Warning: Driver (bcmndis) successfully added to system but failed to attach bash-3.00# rem_drv bcmndis bash-3.00# rm /platform/i86pc/kernel/drv/bcmndis bash-3.00# cp ndis /platform/i86pc/kernel/drv/ndis bash-3.00# add_drv -i '"pci14e4,4311"' ndis devfsadm: driver failed to attach: ndis Warning: Driver (ndis) successfully added to system but failed to attach bash-3.00# </pre> Any ideals? Any safe pcitool scripts I could copy paste? Need any more info? I appreciate the help! This message posted from opensolaris.org