Date: Thu, 26 Aug 2004 11:37:42 +0200 From: Ulrich Spoerlein <q@uni.de> To: current@freebsd.org Subject: ndiscvt: Unresolved symbols / kldload if_ndis panic Message-ID: <20040826093742.GA703@galgenberg.net>
next in thread | raw e-mail | index | archive | help
--6TrnltStXW4iwmi0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Hello, I'm trying to get Projet Evil working on this Dell Inspiron 8600 Laptop with an Intel Pro Wireless NIC. I tried the XP driver shipped with it and the latest offered from Dell, but none works (more below). I'm running RELENG_5, dmesg and drivers can be obtained from http://www.galgenberg.net/~q/freebsd/ none3@pci2:3:0: class=3D0x028000 card=3D0x25618086 chip=3D0x10438086 rev=3D= 0x04 hdr=3D0x00 vendor =3D 'Intel Corporation' device =3D 'Intel(R) PRO/Wireless 7100 LAN Card Driver' class =3D network The ipw-driver from http://http://damien.bergamini.free.fr/ipw/ seems to work (although I needed to download the mentioned firmware) ipw0: <Intel(R) PRO/Wireless 2100 MiniPCI> mem 0xfaffc000-0xfaffcfff irq 5 = at device 3.0 on pci2 ipw0: [GIANT-LOCKED] ipw0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps I'm trying the following (old and new driver produce the same) igor# ndiscvt -O -i /root/ipw_old/W70N51.INF -s /root/ipw_old/W70N51.SYS -o= ndis_driver_data.h objcopy -I binary -O elf32-i386-freebsd -B i386 /tmp/ndiscvt.K3zhkM ndis_dr= iver_data.o objcopy --redefine-sym _binary__tmp_ndiscvt_K3zhkM_start=3DW70N51_SYS_drv_d= ata_start --strip-symbol _binary__tmp_ndiscvt_K3zhkM_size --redefine-sym _b= inary__tmp_ndiscvt_K3zhkM_end=3DW70N51_SYS_drv_data_end ndis_driver_data.o = ndis_driver_data.o igor# make Warning: Object directory not changed from original /usr/src/sys/modules/if= _ndis @ -> /usr/src/sys machine -> /usr/src/sys/i386/include touch opt_bdg.h awk -f @/tools/makeobjops.awk @/kern/device_if.m -h awk -f @/tools/makeobjops.awk @/kern/bus_if.m -h awk -f @/tools/makeobjops.awk @/dev/pci/pci_if.m -h awk -f @/tools/makeobjops.awk @/dev/pccard/card_if.m -h awk -f @/tools/pccarddevs2h.awk @/dev/pccard/pccarddevs cc -O -pipe -D_KERNEL -DKLD_MODULE -nostdinc -I- -I. -I@ -I@/contrib/alt= q -I@/../include -I/usr/include -finline-limit=3D8000 -fno-common -mno-ali= gn-long-strings -mpreferred-stack-boundary=3D2 -ffreestanding -Wall -Wredun= dant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpoi= nter-arith -Winline -Wcast-qual -fformat-extensions -std=3Dc99 -c /usr/src= /sys/modules/if_ndis/../../dev/if_ndis/if_ndis.c cc -O -pipe -D_KERNEL -DKLD_MODULE -nostdinc -I- -I. -I@ -I@/contrib/alt= q -I@/../include -I/usr/include -finline-limit=3D8000 -fno-common -mno-ali= gn-long-strings -mpreferred-stack-boundary=3D2 -ffreestanding -Wall -Wredun= dant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpoi= nter-arith -Winline -Wcast-qual -fformat-extensions -std=3Dc99 -c /usr/src= /sys/modules/if_ndis/../../dev/if_ndis/if_ndis_pci.c cc -O -pipe -D_KERNEL -DKLD_MODULE -nostdinc -I- -I. -I@ -I@/contrib/alt= q -I@/../include -I/usr/include -finline-limit=3D8000 -fno-common -mno-ali= gn-long-strings -mpreferred-stack-boundary=3D2 -ffreestanding -Wall -Wredun= dant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpoi= nter-arith -Winline -Wcast-qual -fformat-extensions -std=3Dc99 -c /usr/src= /sys/modules/if_ndis/../../dev/if_ndis/if_ndis_pccard.c ld -d -warn-common -r -d -o if_ndis.kld if_ndis.o if_ndis_pci.o if_ndis_pc= card.o touch /usr/src/sys/modules/if_ndis/export_syms awk -f /usr/src/sys/modules/if_ndis/../../conf/kmod_syms.awk if_ndis.kld /= usr/src/sys/modules/if_ndis/export_syms | xargs -J% objcopy % if_ndis.kld ld -Bshareable -d -warn-common -o if_ndis.ko if_ndis.kld objcopy --strip-debug if_ndis.ko igor# make install install -o root -g wheel -m 555 if_ndis.ko /boot/kernel kldxref /boot/kernel igor# nm ndis_driver_data.o 0025e000 D W70N51_SYS_drv_data_end 00000000 D W70N51_SYS_drv_data_start Afer running 'kldload if_ndis' I get the kernel message: link_elf: symbol W70N51_SYS_drv_data_start undefined and kldload just sits there for about 60s. top showed that kldload is in state 'ndisth'. I then tried 'ps auxl' and got a panic. I can also reproduce the panic when running sysctl -a after the kldload has finished. It will print the first lines (until kern.clockrate) and panics with the following trace: strlcpy fill_kinfo_thread sysctl_out_proc sysctl_kern_proc sysctl_root userland_sysctl __sysctl syscall Xint0x80_syscall Calling doadump() is not possible, because a mutex is held... But back to the real question, where the heck is W70N51_SYS_drv_data_start? Am I using the wrong driver?=20 Ulrich Spoerlein --=20 PGP Key ID: F0DB9F44 Get it while it's hot! PGP Fingerprint: F1CE D062 0CA9 ADE3 349B 2FE8 980A C6B5 F0DB 9F44 "They that can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety." -- Benjamin Franklin --6TrnltStXW4iwmi0 Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.5 (FreeBSD) iD8DBQFBLa9mmArGtfDbn0QRAml6AKCFoinD1MkrH593uVWJi61uVnV0nACgi/iv SmTPlOMPWVqkcOXmotxvAXY= =5JaX -----END PGP SIGNATURE----- --6TrnltStXW4iwmi0--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040826093742.GA703>