From owner-freebsd-mobile@FreeBSD.ORG Fri Nov 18 02:00:36 2005 Return-Path: X-Original-To: freebsd-mobile@freebsd.org Delivered-To: freebsd-mobile@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 618) id 75B8516A420; Fri, 18 Nov 2005 02:00:36 +0000 (GMT) In-Reply-To: <437BA60A.7090606@bitmap.net> from Graham Bakay at "Nov 16, 2005 09:35:06 pm" To: graham@bitmap.net (Graham Bakay) Date: Fri, 18 Nov 2005 02:00:36 +0000 (GMT) X-Mailer: ELM [version 2.4ME+ PL54 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Message-Id: <20051118020036.75B8516A420@hub.freebsd.org> From: wpaul@FreeBSD.ORG (Bill Paul) Cc: freebsd-mobile@freebsd.org Subject: Re: ndis 64-bit Broadcom 4318 on a Compaq R4125 X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 18 Nov 2005 02:00:36 -0000 [Charset ISO-8859-1 unsupported, filtering to ASCII...] > > > > > >>Hi there, > >> > >>I'm trying to get ndis working with a 64-bit wireless driver on FreeBSD > >>6.0 amd64. The windows driver works using ndis on Ubuntu. > >> > >>I've used ndisgen to create the kernel module. When I try to load it, I > >>get the following: > >> > >>no match for RtlZeroMemory > >>no match for RtlCopyMemory > >>ntoskrnl dummy called... > >>ndis0: mem 0xb0204000-0xb0205fff irq > >>21 at device 2.0 on pci3 > >>ndis0: NDIS API version: 5.1 > >>ntoskrnl dummy called... > >>ntoskrnl dummy called... > >>[repeats multiple times] > >>fpudna in kernel mode! > >>[repeats multiple times] > >>ntoskrnl dummy called... > >>ntoskrnl dummy called... > >>ndis0: NDIS ERROR: c000138d (unknown error) > >>ndis0: init handler failed > >>device_attach: ndis0 attach returned 6 > >> > >>Is there anything I can do to get this working in FreeBSD? Or is it just > >>an incompatibility that I'll have to live with? > >> > >>Thanks, > >>Graham. > >> > >> > > > >Get the latest copies of the files in src/sys/compat/ndis and > >src/sys/dev/if_ndis from the RELENG_6 branch. Note: you do _NOT_ have > >to update your entire system, just the files in these directories. > >The quickest way to do this is probably with anoncvs: > > > >% setenv CVSROOT anoncvs@anoncvs1.FreeBSD.org:/home/ncvs > >% cvs checkout -rRELENG_6 src/sys/compat/ndis src/sys/dev/if_ndis > > > >You can also use a mirror if you're outside the US. See > >http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/anoncvs.html > >for a list. > > > >Copy the files to src/sys/compat/ndis and src/sys/dev/if_ndis, > >then rebuild ndis.ko and if_ndis.ko: > > > ># cd /sys/modules/ndis > ># make; make install > ># cd /sus/modules/if_ndis > ># make; make install > > > >It should work then. I've been using the same driver on my dual Opteron > >amd64 box at home for the past week and it's been very stable > >(in SMP mode even): > > > >Nov 9 18:16:59 opteron kernel: ndis0: mem 0xe0210000-0xe0211fff irq 31 at device 1.0 on pci3 > >Nov 9 18:16:59 opteron kernel: ndis0: NDIS API version: 5.1 > >Nov 9 18:16:59 opteron kernel: fpudna in kernel mode! > >Nov 9 18:17:01 opteron kernel: ndis0: Ethernet address: 00:30:bd:f5:ea:26 > > > >[/var/log]:opteron.moo.com{41}% uname -srm > >FreeBSD 6.0-RELEASE amd64 > >[/var/log]:opteron.moo.com{42}% uptime > >11:20AM up 6 days, 17:06, 14 users, load averages: 1.81, 1.52, 1.43 > > > >Note that the "fpudna in kernel mode!" message will still show up even > >after you fix ndis.ko and if_ndis.ko, but the interface will work anyway. > >The messages appear to be harmless for now. > > > >-Bill > > > > > No luck. I still get the same problem. Any other suggestions? I'm > thinking I may try installing i386 on the laptop, since HP has 32-bit > driver for the card (the driver I've been using is the one used by the > Acer Ferrari, and worked in Linux). Hunh. It looks like the anoncvs archive I pointed you to is out of date. Oh, I see now. The entry on that page I showed you for the primary server is wrong. It says this: * USA: freebsdanoncvs@anoncvs.FreeBSD.org:/home/ncvs (ssh only - no password) It should say this: * USA: anoncvs@anoncvs.FreeBSD.org:/home/ncvs (ssh only - no password) When I tried it, I used the broken version and it wouldn't let me do a checkout, so I gave you directions for using the mirror instead. But it looks like the mirror is stale. :( Try this instead: % setenv CVSROOT anoncvs@anoncvs.FreeBSD.org:/home/ncvs % cvs checkout -rRELENG_6 src/sys/compat/ndis src/sys/dev/if_ndis This time you should get the right sources. Once you get them, build ndis.ko and if_ndis.ko again like I said to before. Trust me, the code isn't broken: I'm using it right this second. :) You don't need to resort to using the laptop in x86 mode. -Bill -- ============================================================================= -Bill Paul (510) 749-2329 | Senior Engineer, Master of Unix-Fu wpaul@windriver.com | Wind River Systems ============================================================================= you're just BEGGING to face the moose ============================================================================= > g. >