Date: Wed, 20 Jul 2005 09:17:46 -0400 From: Kelly Black <kjblack@gmail.com> To: freebsd-amd64@freebsd.org Subject: Using ndisgen to create loadable module w/ broadcom on Compaq R3000z Message-ID: <1b1b33f1050720061764ca7eeb@mail.gmail.com>
next in thread | raw e-mail | index | archive | help
Hello, I have a compaq R300z (okay, I'm sorry already!) running freebsd-amd64 current. I recently tried to use ndisulator for the built in broadcom wireless and used the 64 bit windows drivers to try to generate a loadable module for the wireless device. I have had some trouble generating the loadable module, though. I last updated world and the kernel on Monday. I've tried searching the freebsd-amd64 and freebsd-current lists, and I've tried to search using google. So far I can't find anything to help. Has anyone managed to get this beast working? Any help would be appreciated. I will paste an overview of what I've tried below: Here is the device info: root@localhost# pciconf -lvvv none3@pci2:2:0: class=3D0x028000 card=3D0x12f4103c chip=3D0x432014e4 rev=3D= 0x03 hdr=3D0x00 vendor =3D 'Broadcom Corporation' device =3D 'BCM4306 802.11b/g Wireless LAN Controller' Copies of the driver files that I am using can be found at http://blackk.union.edu/~black/freebsd/BCMWL564.SYS http://blackk.union.edu/~black/freebsd/netbc564.inf.ascii This is a 64 bit driver, and the inf file was converted to ascii using icon= v.=20 Here is the message I get when I use ndisgen: Compiling stub... done. Linking loadable kernel module... /usr/bin/ld: windrv_stub.o: relocation R_X86_64_32S can not be used when making a shared object; recompile with -fPIC windrv_stub.o: could not read symbols: Bad value linking failed. Exiting. I read through the ndisgen script to try to figure out what it was doing. I then did this (I added -fPIC): /usr/bin/cc -D_KERNEL -DDRV_DATA_START=3DBCMWL564_SYS_drv_data_start -DDRV_NAME=3DBC MWL564_SYS -DDRV_DATA_END=3DBCMWL564_SYS_drv_data_end -I. /usr/share/misc/windrv_stub.c -data -symbolic -c -o windrv_stub.o -fPIC /usr/bin/ld -Bshareable -d -warn-common -o BCMWL564_SYS.ko windrv_stub.o windrv.o /usr/bin/ld -r -d -warn-common -o BCMWL564_SYS.o windrv_stub.o windrv.o (The files windrv_stub.o and others were created when ndisgen called ndiscvt so I just left them alone.) When I do this the file compiles and links with no error messages. It creates a file called BCMWL564_SYS.ko. When I try to load the file using kldload I get these messages: kldload: can't load /tmp/broadcom/BCMWL564_SYS.ko: Exec format error and from the console window: kldload: Unsupported file type kldload: unexpected relocation type 7 link_elf: symbol windrv_load undefined Any ideas? Sincerely, Kel --=20 _______________________________________________________ Kelly Black Phone: (518) 388-8727 Department of Mathematics FAX: (603) 388-6005=20 Union College e-mail: kelly.black@union.edu Schenectady NY 12308 (USA) WWW: http://blackk.union.edu/~black
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1b1b33f1050720061764ca7eeb>