Dear Sir/Madam
To make the 32-bit driver for Broadcom WiFi LAN for my new Compaq
Presario C713TU Notebook PC, first I made the 32-bit kernel for
OpenSolaris SXDE build 72 by editing the /boot/grub/mnu.lst as under:
(# commented lines)
#----------ADDED BY ALOK - DO NOT EDIT-----------
title Solaris Express Developer Edition snv_72 32 bits
kernel$ /platform/i86pc/kernel/unix
module$ /platform/i86pc/boot_archive
#---------------------END ALOK-------------------
This showed me a boot option on reboot, to enter into the 32-bit kernel.
I booted into the 32-bit SXDE build 72 kernel and issued the following
command in the terminal.
# /usr/X11/bin/scanpci -v
(OUTPUT)
pci bus 0x0000 cardnum 0x00 function 0x00: vendor 0x8086 device 0x2a00
Intel Corporation Mobile Memory Controller Hub
CardVendor 0x103c card 0x30d9 (Hewlett-Packard Company, Card unknown)
STATUS 0x2090 COMMAND 0x0106
CLASS 0x06 0x00 0x00 REVISION 0x03
BIST 0x00 HEADER 0x00 LATENCY 0x00 CACHE 0x00
BYTE_0 0x01 BYTE_1 0x90 BYTE_2 0xd1 BYTE_3 0xfe
pci bus 0x0000 cardnum 0x02 function 0x00: vendor 0x8086 device 0x2a02
Intel Corporation Mobile Integrated Graphics Controller
CardVendor 0x103c card 0x30d9 (Hewlett-Packard Company, Card unknown)
STATUS 0x0090 COMMAND 0x0007
CLASS 0x03 0x00 0x00 REVISION 0x03
BIST 0x00 HEADER 0x80 LATENCY 0x00 CACHE 0x00
BASE0 0x0000000051000004 addr 0x0000000051000000 MEM 64BIT
BASE2 0x000000004000000c addr 0x0000000040000000 MEM
PREFETCHABLE 64BIT
BASE4 0x000030d1 addr 0x000030d0 I/O
MAX_LAT 0x00 MIN_GNT 0x00 INT_PIN 0x01 INT_LINE 0x0b
pci bus 0x0000 cardnum 0x02 function 0x01: vendor 0x8086 device 0x2a03
Intel Corporation Mobile Integrated Graphics Controller
CardVendor 0x103c card 0x30d9 (Hewlett-Packard Company, Card unknown)
STATUS 0x0090 COMMAND 0x0007
CLASS 0x03 0x80 0x00 REVISION 0x03
BIST 0x00 HEADER 0x80 LATENCY 0x00 CACHE 0x00
BASE0 0x0000000051100004 addr 0x0000000051100000 MEM 64BIT
pci bus 0x0000 cardnum 0x1b function 0x00: vendor 0x8086 device 0x284b
Intel Corporation 82801H (ICH8 Family) HD Audio Controller
CardVendor 0x103c card 0x30d9 (Hewlett-Packard Company, Card unknown)
STATUS 0x0010 COMMAND 0x0046
CLASS 0x04 0x03 0x00 REVISION 0x03
BIST 0x00 HEADER 0x00 LATENCY 0x00 CACHE 0x00
BASE0 0x0000000052400004 addr 0x0000000052400000 MEM 64BIT
MAX_LAT 0x00 MIN_GNT 0x00 INT_PIN 0x01 INT_LINE 0x0b
BYTE_0 0x01 BYTE_1 0x00 BYTE_2 0x00 BYTE_3 0x03
pci bus 0x0000 cardnum 0x1c function 0x00: vendor 0x8086 device 0x283f
Intel Corporation 82801H (ICH8 Family) PCI Express Port 1
STATUS 0x0010 COMMAND 0x0047
CLASS 0x06 0x04 0x00 REVISION 0x03
HEADER 0x81 LATENCY 0x00
PRIBUS 0x00 SECBUS 0x01 SUBBUS 0x01
SECLT 0x00 SECSTATUS 0x2000
IOBASE 0x2000 IOLIM 0x2fff
NOPREFETCH_MEMBASE 0x51300000 MEMLIM 0x523fffff
PREFETCH_MEMBASE 0x0000000050000000 MEMLIM 0x0000000050ffffff
NO_FAST_B2B NO_SEC_BUS_RST NO_M_ABRT NO_VGA_EN NO_ISA_EN NO_SERR_EN
PERR_EN
pci bus 0x0000 cardnum 0x1d function 0x00: vendor 0x8086 device 0x2830
Intel Corporation 82801H (ICH8 Family) USB UHCI #1
CardVendor 0x103c card 0x30d9 (Hewlett-Packard Company, Card unknown)
STATUS 0x0280 COMMAND 0x0005
CLASS 0x0c 0x03 0x00 REVISION 0x03
BIST 0x00 HEADER 0x80 LATENCY 0x00 CACHE 0x00
BASE4 0x00003081 addr 0x00003080 I/O
MAX_LAT 0x00 MIN_GNT 0x00 INT_PIN 0x04 INT_LINE 0x0b
pci bus 0x0000 cardnum 0x1d function 0x01: vendor 0x8086 device 0x2831
Intel Corporation 82801H (ICH8 Family) USB UHCI #2
CardVendor 0x103c card 0x30d9 (Hewlett-Packard Company, Card unknown)
STATUS 0x0280 COMMAND 0x0005
CLASS 0x0c 0x03 0x00 REVISION 0x03
BIST 0x00 HEADER 0x00 LATENCY 0x00 CACHE 0x00
BASE4 0x00003061 addr 0x00003060 I/O
MAX_LAT 0x00 MIN_GNT 0x00 INT_PIN 0x02 INT_LINE 0x0b
pci bus 0x0000 cardnum 0x1d function 0x02: vendor 0x8086 device 0x2832
Intel Corporation 82801H (ICH8 Family) USB UHCI #3
CardVendor 0x103c card 0x30d9 (Hewlett-Packard Company, Card unknown)
STATUS 0x0280 COMMAND 0x0005
CLASS 0x0c 0x03 0x00 REVISION 0x03
BIST 0x00 HEADER 0x00 LATENCY 0x00 CACHE 0x00
BASE4 0x00003041 addr 0x00003040 I/O
MAX_LAT 0x00 MIN_GNT 0x00 INT_PIN 0x03 INT_LINE 0x0b
pci bus 0x0000 cardnum 0x1d function 0x07: vendor 0x8086 device 0x2836
Intel Corporation 82801H (ICH8 Family) USB2 EHCI #1
CardVendor 0x103c card 0x30d9 (Hewlett-Packard Company, Card unknown)
STATUS 0x0290 COMMAND 0x0046
CLASS 0x0c 0x03 0x20 REVISION 0x03
BIST 0x00 HEADER 0x00 LATENCY 0x00 CACHE 0x00
BASE0 0x52404800 addr 0x52404800 MEM
MAX_LAT 0x00 MIN_GNT 0x00 INT_PIN 0x01 INT_LINE 0x0b
pci bus 0x0000 cardnum 0x1e function 0x00: vendor 0x8086 device 0x2448
Intel Corporation 82801 Mobile PCI Bridge
STATUS 0x0010 COMMAND 0x0047
CLASS 0x06 0x04 0x01 REVISION 0xf3
HEADER 0x01 LATENCY 0x00
PRIBUS 0x00 SECBUS 0x02 SUBBUS 0x02
SECLT 0x20 SECSTATUS 0x2280
IOBASE 0x1000 IOLIM 0x1fff
NOPREFETCH_MEMBASE 0x51200000 MEMLIM 0x512fffff
PREFETCH_MEMBASE 0xfffffffffff00000 MEMLIM 0x00000000000fffff
NO_FAST_B2B NO_SEC_BUS_RST NO_M_ABRT NO_VGA_EN NO_ISA_EN NO_SERR_EN
PERR_EN
pci bus 0x0000 cardnum 0x1f function 0x00: vendor 0x8086 device 0x2815
Intel Corporation Mobile LPC Interface Controller
CardVendor 0x103c card 0x30d9 (Hewlett-Packard Company, Card unknown)
STATUS 0x0210 COMMAND 0x0007
CLASS 0x06 0x01 0x00 REVISION 0x03
BIST 0x00 HEADER 0x80 LATENCY 0x00 CACHE 0x00
BYTE_0 0x01 BYTE_1 0x04 BYTE_2 0x00 BYTE_3 0x00
pci bus 0x0000 cardnum 0x1f function 0x01: vendor 0x8086 device 0x2850
Intel Corporation Mobile IDE Controller
CardVendor 0x103c card 0x30d9 (Hewlett-Packard Company, Card unknown)
STATUS 0x0280 COMMAND 0x0005
CLASS 0x01 0x01 0x8a REVISION 0x03
BIST 0x00 HEADER 0x00 LATENCY 0x00 CACHE 0x00
BASE0 0x000030c9 addr 0x000030c8 I/O
BASE1 0x000030e5 addr 0x000030e4 I/O
BASE2 0x000030c1 addr 0x000030c0 I/O
BASE3 0x000030e1 addr 0x000030e0 I/O
BASE4 0x000030a1 addr 0x000030a0 I/O
MAX_LAT 0x00 MIN_GNT 0x00 INT_PIN 0x02 INT_LINE 0x0b
BYTE_0 0x03 BYTE_1 0xa3 BYTE_2 0x00 BYTE_3 0x80
pci bus 0x0000 cardnum 0x1f function 0x02: vendor 0x8086 device 0x2829
Intel Corporation Mobile SATA AHCI Controller
CardVendor 0x103c card 0x30d9 (Hewlett-Packard Company, Card unknown)
STATUS 0x02b0 COMMAND 0x0047
CLASS 0x01 0x06 0x01 REVISION 0x03
BIST 0x00 HEADER 0x00 LATENCY 0x00 CACHE 0x00
BASE0 0x000030b9 addr 0x000030b8 I/O
BASE1 0x000030dd addr 0x000030dc I/O
BASE2 0x000030b1 addr 0x000030b0 I/O
BASE3 0x000030d9 addr 0x000030d8 I/O
BASE4 0x00003021 addr 0x00003020 I/O
BASE5 0x52404000 addr 0x52404000 MEM
MAX_LAT 0x00 MIN_GNT 0x00 INT_PIN 0x03 INT_LINE 0x0a
BYTE_0 0x07 BYTE_1 0xa3 BYTE_2 0x00 BYTE_3 0x80
pci bus 0x0000 cardnum 0x1f function 0x03: vendor 0x8086 device 0x283e
Intel Corporation 82801H (ICH8 Family) SMBus Controller
CardVendor 0x103c card 0x30d9 (Hewlett-Packard Company, Card unknown)
STATUS 0x0280 COMMAND 0x0003
CLASS 0x0c 0x05 0x00 REVISION 0x03
BIST 0x00 HEADER 0x00 LATENCY 0x00 CACHE 0x00
BASE0 0x52404c00 addr 0x52404c00 MEM
BASE4 0x00003001 addr 0x00003000 I/O
MAX_LAT 0x00 MIN_GNT 0x00 INT_PIN 0x04 INT_LINE 0x0b
BYTE_0 0x01 BYTE_1 0x00 BYTE_2 0x00 BYTE_3 0x00
_*pci bus 0x0001 cardnum 0x00 function 0x00: vendor 0x14e4 device 0x4311
Broadcom Corporation Dell Wireless 1390 WLAN Mini-PCI Card
CardVendor 0x103c card 0x1375 (Hewlett-Packard Company, Card unknown) *_
STATUS 0x0010 COMMAND 0x0006
CLASS 0x02 0x80 0x00 REVISION 0x02
BIST 0x00 HEADER 0x00 LATENCY 0x00 CACHE 0x00
BASE0 0x0000000051300004 addr 0x0000000051300000 MEM 64BIT
MAX_LAT 0x00 MIN_GNT 0x00 INT_PIN 0x01 INT_LINE 0x0b
BYTE_0 0x01 BYTE_1 0x58 BYTE_2 0x03 BYTE_3 0x06
pci bus 0x0002 cardnum 0x01 function 0x00: vendor 0x10ec device 0x8139
Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+
CardVendor 0x103c card 0x30d9 (Hewlett-Packard Company, Card unknown)
STATUS 0x0290 COMMAND 0x0007
CLASS 0x02 0x00 0x00 REVISION 0x10
BIST 0x00 HEADER 0x00 LATENCY 0x00 CACHE 0x00
BASE0 0x00001001 addr 0x00001000 I/O
BASE1 0x51200000 addr 0x51200000 MEM
MAX_LAT 0x40 MIN_GNT 0x20 INT_PIN 0x01 INT_LINE 0x0b
#
I think from the above output of the result of /usr/X11/bin/scanpci -v,
I was correct in determining my WLAN PCI ID as 14e4,4311 for Broadcom
WLAN by seeing this:
_*pci bus 0x0001 cardnum 0x00 function 0x00: vendor 0x14e4 device 0x4311
Broadcom Corporation Dell Wireless 1390 WLAN Mini-PCI Card
CardVendor 0x103c card 0x1375 (Hewlett-Packard Company, Card unknown)
*_
Then I extracted the ndis-1.1.tar.gz toolkit to /ndis
and from the ftp://ftp.hp.com/pub/softpaq/sp36501-37000/sp36542.exe
which I downloaded for Microsoft Windows Vista OS WLAN driver for my
NoteBook, I extracted the bcmwl6.inf and bcmwl6.sys files and copied
them to /ndis/ndis-1.1/i386 by issuing the following commands:
# cd /wlandriv/
# ls
bcmwl6.inf bcmwl6.sys
# iconv --f utf-16 --t ascii bcmwl6.inf > ndis.inf
# mv bcmwl6.sys ndis.sys
# cp ndis.inf /ndis-1.1/i386
# cp ndis.sys /ndis-1.1/i386
then I issued the following commands:
# cd /ndis/ndis-1.1/i386
# pwd
/ndis/ndis-1.1/i386
# ls
Makefile ndis.inf ndis.sys
# 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
/usr/ccs/bin/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
/usr/sfw/bin/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
# ./ndiscvt -i ndis.inf -s ndis.sys -o ndis.h
$Windows NT$
# make ndis
/usr/sfw/bin/gcc -g -O2 -D_KERNEL -D__i386__ -I../include -I. -c
../if_ndis.c -o ndis.o
/usr/ccs/bin/ld -r -o bcmndis ndis.o
# cp bcmndis /kernel/drv/bcmndis
# 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
/usr/ccs/bin/ld -r -o ndisapi subr_ndis.o subr_ntoskrnl.o subr_pe.o
subr_hal.o kern_ndis.o kern_windrv.o
# cp ndisapi /kernel/misc
# add_drv -i '"pci14e4,4311"' bcmndis
devfsadm: driver failed to attach: bcmndis
Warning: Driver (bcmndis) successfully added to system but failed to attach
# ifconfig bcmndis0 plumb
ifconfig: cannot open link "bcmndis0": No such device or address
#
I then repeated the same steps for
ftp://ftp.hp.com/pub/softpaq/sp31001-31500/sp31463.exe which was
recommended in the opensolaris wireless networking community at
http://opensolaris.org/os/community/laptop/wireless/ndis/, after issuing
# rem_drv bcmndis
and deleting the file /kernel/drv/bcmndis & /kernel/misc/ndisapi and
files from /ndis/ndis-1.1/i386/ directory except the "Makefile" file
but this attempt also failed. Kindly provide me a resolution. Where I
went wrong. Please help.....
Thanking in anticipation.
Regards
Alok Chakrabarty
Sun Microsystems Campus Ambassador
Assam University Silchar, ASSAM, INDIA
Contact No: +91-9954081006
_______________________________________________
opensolaris-help mailing list
[email protected]