<?xml version="1.0" encoding="utf-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: HOWTO: NDISulate Windows Drivers on FreeBSD</title>
	<atom:link href="http://dannyman.toldme.com/2005/01/05/freebsd-howto-ndisulate-windows-drivers/feed/" rel="self" type="application/rss+xml" />
	<link>http://dannyman.toldme.com/2005/01/05/freebsd-howto-ndisulate-windows-drivers/</link>
	<description>Interesting bits of information and editorial, evolving online since 1995.</description>
	<lastBuildDate>Mon, 16 Jan 2012 02:14:00 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>By: Pablo Sánchez</title>
		<link>http://dannyman.toldme.com/2005/01/05/freebsd-howto-ndisulate-windows-drivers/comment-page-1/#comment-75625</link>
		<dc:creator>Pablo Sánchez</dc:creator>
		<pubDate>Thu, 05 Nov 2009 17:52:15 +0000</pubDate>
		<guid isPermaLink="false">http://dannyman.toldme.com/2005/01/05/freebsd-howto-ndisulate-windows-drivers/#comment-75625</guid>
		<description>Greetings.

I followed the how-to quite well, got no problems at all, except for you thing:

The module loads, but no new network interface appears! There are no errors, only the driver is loaded (kldstat shows it) but nothing happens!

FreeBSD 7.2 amd64

The interface is a broadcom.</description>
		<content:encoded><![CDATA[<p>Greetings.</p>
<p>I followed the how-to quite well, got no problems at all, except for you thing:</p>
<p>The module loads, but no new network interface appears! There are no errors, only the driver is loaded (kldstat shows it) but nothing happens!</p>
<p>FreeBSD 7.2 amd64</p>
<p>The interface is a broadcom.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: md20</title>
		<link>http://dannyman.toldme.com/2005/01/05/freebsd-howto-ndisulate-windows-drivers/comment-page-1/#comment-74696</link>
		<dc:creator>md20</dc:creator>
		<pubDate>Fri, 25 Apr 2008 20:37:35 +0000</pubDate>
		<guid isPermaLink="false">http://dannyman.toldme.com/2005/01/05/freebsd-howto-ndisulate-windows-drivers/#comment-74696</guid>
		<description>Found two errors to beware of when using ndisgen -w- FreeBSD 7.0-RELEASE and the HP inf for SP28537A.

The internationalization  country structs parsing in ndiscvt misses closing braces breaking the compile on lines 552 and 891 of the generated windrv.h. 
You must edit windrv.h to fix this. Afterwards the compilation succeeds without a hitch.</description>
		<content:encoded><![CDATA[<p>Found two errors to beware of when using ndisgen -w- FreeBSD 7.0-RELEASE and the HP inf for SP28537A.</p>
<p>The internationalization  country structs parsing in ndiscvt misses closing braces breaking the compile on lines 552 and 891 of the generated windrv.h.<br />
You must edit windrv.h to fix this. Afterwards the compilation succeeds without a hitch.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Desktop BSD Day 7 - Fooling around &#166; Ruminations on the Digital Realm</title>
		<link>http://dannyman.toldme.com/2005/01/05/freebsd-howto-ndisulate-windows-drivers/comment-page-1/#comment-74401</link>
		<dc:creator>Desktop BSD Day 7 - Fooling around &#166; Ruminations on the Digital Realm</dc:creator>
		<pubDate>Wed, 07 Nov 2007 12:01:56 +0000</pubDate>
		<guid isPermaLink="false">http://dannyman.toldme.com/2005/01/05/freebsd-howto-ndisulate-windows-drivers/#comment-74401</guid>
		<description>[...] step by step tutorial on how to use ndisgen can be found here and here. I haven&#8217;t tried it yet, but it looks similar to [...]</description>
		<content:encoded><![CDATA[<p>[...] step by step tutorial on how to use ndisgen can be found here and here. I haven&#8217;t tried it yet, but it looks similar to [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Grega</title>
		<link>http://dannyman.toldme.com/2005/01/05/freebsd-howto-ndisulate-windows-drivers/comment-page-1/#comment-74392</link>
		<dc:creator>Grega</dc:creator>
		<pubDate>Fri, 02 Nov 2007 21:01:08 +0000</pubDate>
		<guid isPermaLink="false">http://dannyman.toldme.com/2005/01/05/freebsd-howto-ndisulate-windows-drivers/#comment-74392</guid>
		<description>hej!

well, i own a Asus WL-138G V2 (bcmwl5) wireless lan card.
Everything looks OK, except theres no ndis in ifconfig (nothing new - only old interfaces).

&gt; kldstat 
Id Refs Address            Size     Name
 1   10 0xffffffff80100000 6bf990   kernel
 2    2 0xffffffff807c0000 10510    if_ndis.ko
 3    3 0xffffffff807d1000 25fe0    ndis.ko
 4    1 0xffffffff807f7000 89390    bcmwl5.ko
 5    1 0xffffffff977e0000 795      accf_http.ko

I am using Freebsd 6.2 (64bit), but i am not sure windows XP drivers were for 64 bit. Would i get an error if it werent?

Thank you.</description>
		<content:encoded><![CDATA[<p>hej!</p>
<p>well, i own a Asus WL-138G V2 (bcmwl5) wireless lan card.<br />
Everything looks OK, except theres no ndis in ifconfig (nothing new &#8211; only old interfaces).</p>
<p>&gt; kldstat<br />
Id Refs Address            Size     Name<br />
 1   10 0xffffffff80100000 6bf990   kernel<br />
 2    2 0xffffffff807c0000 10510    if_ndis.ko<br />
 3    3 0xffffffff807d1000 25fe0    ndis.ko<br />
 4    1 0xffffffff807f7000 89390    bcmwl5.ko<br />
 5    1 0xffffffff977e0000 795      accf_http.ko</p>
<p>I am using Freebsd 6.2 (64bit), but i am not sure windows XP drivers were for 64 bit. Would i get an error if it werent?</p>
<p>Thank you.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: NoHup</title>
		<link>http://dannyman.toldme.com/2005/01/05/freebsd-howto-ndisulate-windows-drivers/comment-page-1/#comment-72674</link>
		<dc:creator>NoHup</dc:creator>
		<pubDate>Fri, 15 Jun 2007 20:54:02 +0000</pubDate>
		<guid isPermaLink="false">http://dannyman.toldme.com/2005/01/05/freebsd-howto-ndisulate-windows-drivers/#comment-72674</guid>
		<description>Hey br0(rus)!

Why not post the patched ko module?  I&#039;m having difficulty patching using FreeBSD 6.2 and would love to test your module for the Realtek 8185 via NDIS.  Btw, great how to article dannyman.  Thanks!</description>
		<content:encoded><![CDATA[<p>Hey br0(rus)!</p>
<p>Why not post the patched ko module?  I&#8217;m having difficulty patching using FreeBSD 6.2 and would love to test your module for the Realtek 8185 via NDIS.  Btw, great how to article dannyman.  Thanks!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: anonymous1</title>
		<link>http://dannyman.toldme.com/2005/01/05/freebsd-howto-ndisulate-windows-drivers/comment-page-1/#comment-68217</link>
		<dc:creator>anonymous1</dc:creator>
		<pubDate>Sat, 12 May 2007 09:11:31 +0000</pubDate>
		<guid isPermaLink="false">http://dannyman.toldme.com/2005/01/05/freebsd-howto-ndisulate-windows-drivers/#comment-68217</guid>
		<description>Hello, i am having a problem
First of all, i did the ndisgen /ndisdriver.inf /ndisdriver.sys command
i go through the ndisgen interactive program, it says everything was succesful
but when i go to load my file with kldload ./ndisdriver_sys.ko  i get this output
no match for InterlockCompareExchange
no match for KeSetPriorityThread
no match for KeGetCurrentThread
no match for USBD_ParseConfigurationDescriptor
no match for USBD_ParseConfigurationRequest

Can someone tell me how to make sense of that, and what i would need to do, thanks in advance.</description>
		<content:encoded><![CDATA[<p>Hello, i am having a problem<br />
First of all, i did the ndisgen /ndisdriver.inf /ndisdriver.sys command<br />
i go through the ndisgen interactive program, it says everything was succesful<br />
but when i go to load my file with kldload ./ndisdriver_sys.ko  i get this output<br />
no match for InterlockCompareExchange<br />
no match for KeSetPriorityThread<br />
no match for KeGetCurrentThread<br />
no match for USBD_ParseConfigurationDescriptor<br />
no match for USBD_ParseConfigurationRequest</p>
<p>Can someone tell me how to make sense of that, and what i would need to do, thanks in advance.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: br0(rus)</title>
		<link>http://dannyman.toldme.com/2005/01/05/freebsd-howto-ndisulate-windows-drivers/comment-page-1/#comment-67432</link>
		<dc:creator>br0(rus)</dc:creator>
		<pubDate>Sat, 05 May 2007 20:40:53 +0000</pubDate>
		<guid isPermaLink="false">http://dannyman.toldme.com/2005/01/05/freebsd-howto-ndisulate-windows-drivers/#comment-67432</guid>
		<description>I found solution about trap 12. First you need bcmwl5.inf with version is 3.xxx not 4. I have 3.140, from HP site here: http://h20000.www2.hp.com/bizsupport/site/search/r4_0/jsp/search.jsp?lang=en&amp;cc=us&amp;tx=Broadcom+Wireless+LAN+Driver&amp;sc=1&amp;nh=10&amp;rf=0&amp;lkc=1&amp;lk=1&amp;sts=1
Also you will need to patch file nsubr_ntoskrnl.c - of ndis module, you can find here  /usr/src/sys/compat/ndis/

Here is patch:

dangerb0x# cat pt
diff -u -r1.87 subr_ntoskrnl.c
--- sys/compat/ndis/subr_ntoskrnl.c     16 May 2006 14:37:57 -0000      1.87
+++ sys/compat/ndis/subr_ntoskrnl.c     26 Nov 2006 18:19:29 -0000
@@ -197,6 +197,11 @@
 static uint32_t InterlockedIncrement(volatile uint32_t *);
 static uint32_t InterlockedDecrement(volatile uint32_t *);
 static void ExInterlockedAddLargeStatistic(uint64_t *, uint32_t);
+static void *MmAllocateContiguousMemory(uint32_t, uint64_t);
+static void *MmAllocateContiguousMemorySpecifyCache(uint32_t,
+       uint64_t, uint64_t, uint64_t, uint32_t);
+static void MmFreeContiguousMemory(void *);
+static void MmFreeContiguousMemorySpecifyCache(void *, uint32_t, uint32_t);
 static uint32_t MmSizeOfMdl(void *, size_t);
 static void *MmMapLockedPages(mdl *, uint8_t);
 static void *MmMapLockedPagesSpecifyCache(mdl *,
@@ -232,11 +237,14 @@
        uint32_t, void *);
 static uint32_t WmiTraceMessage(uint64_t, uint32_t, void *, uint16_t, ...);
 static uint32_t IoWMIRegistrationControl(device_object *, uint32_t);
-static void *ntoskrnl_memset(void *, int, size_t);
+#ifdef MEMCHR
+static void *ntoskrnl_memchr(const void *, unsigned char, size_t);
+#endif
 static void *ntoskrnl_memmove(void *, void *, size_t);
+static void *ntoskrnl_memset(void *, int, size_t);
 static char *ntoskrnl_strstr(char *, char *);
-static int ntoskrnl_toupper(int);
 static int ntoskrnl_tolower(int);
+static int ntoskrnl_toupper(int);
 static funcptr ntoskrnl_findwrap(funcptr);
 static uint32_t DbgPrint(char *, ...);
 static void DbgBreakPoint(void);
@@ -433,6 +441,34 @@
        return(dst);
 }
 
+#ifdef MEMCHR
+
+/*
+ * /usr/src/sys/modules/ndis/../../compat/ndis/subr_ntoskrnl.c: In function `ntoskrnl_memchr&#039;:
+ * /usr/src/sys/modules/ndis/../../compat/ndis/subr_ntoskrnl.c:463: warning: cast discards qualifiers from pointer target type
+ * *** Error code 1
+ */
+
+/* copied from src/lib/libc/string/memchr.c */
+
+static void *
+ntoskrnl_memchr(buf, ch, len)
+       const void      *buf;
+       unsigned char   ch;
+       size_t          len;
+{
+       if (len != 0) {
+               const unsigned char *p = buf;
+
+               do {
+                       if (*p++ == ch)
+                               return ((void *)(p - 1)); /* error occurs here */
+               } while (--len != 0);
+       }
+       return (NULL);
+}
+#endif
+
 static char *
 ntoskrnl_strstr(s, find)
        char *s, *find;
@@ -2471,6 +2507,53 @@
         return;
 }
 
+static void *
+MmAllocateContiguousMemory(size, highest)
+       uint32_t        size;           /* Specifies the number of bytes to allocate                             */
+       uint64_t        highest;        /* Specifies the highest valid physical address that the driver can use. */
+{
+       void *addr;
+       size_t pagelength = ((size + PAGE_SIZE - 1) / PAGE_SIZE) * PAGE_SIZE;
+
+       addr = ExAllocatePoolWithTag(NonPagedPool, pagelength, 0);
+
+       return(addr);
+}
+
+static void *
+MmAllocateContiguousMemorySpecifyCache(size, lowest, highest, boundary, cachetype)
+       uint32_t        size;           /* Specifies the number of bytes to allocate                             */
+        uint64_t       lowest;         /* Specifies the lowest valid physical address that the driver can use.  */
+       uint64_t        highest;        /* Specifies the highest valid physical address that the driver can use. */
+       uint64_t        boundary;       /* If nonzero, this value specifies the physical address multiple that   */
+                                       /* the allocated buffer must not cross.                                  */
+       uint32_t        cachetype;      /* indicates the type of caching allowed for the requested memory        */
+{
+       void *addr;
+       size_t pagelength = ((size + PAGE_SIZE -1) / PAGE_SIZE) * PAGE_SIZE;
+
+       addr = ExAllocatePoolWithTag(NonPagedPool, pagelength, 0);
+
+       return(addr);
+}
+
+static void
+MmFreeContiguousMemory(base)
+       void            *base;          /* Specifies the base address of the buffer to be freed                  */
+{
+       ExFreePool(base);
+}
+
+static void
+MmFreeContiguousMemorySpecifyCache(base, size, cachetype)
+       void            *base;          /* Specifies the base address of the buffer to be freed                  */
+       uint32_t        size;           /* Specifies the size in bytes of the buffer to be freed. Must match the */
+                                       /* size requested when the buffer was allocated                          */ 
+       uint32_t        cachetype;      /* Specifies the cache type of the buffer to be freed                    */
+{
+       ExFreePool(base);
+}
+
 static uint32_t
 MmSizeOfMdl(vaddr, len)
        void                    *vaddr;
@@ -4144,6 +4227,7 @@
        IMPORT_SFUNC(DbgBreakPoint, 0),
        IMPORT_CFUNC(strncmp, 0),
        IMPORT_CFUNC(strcmp, 0),
+       IMPORT_CFUNC_MAP(stricmp, strcasecmp, 0),
        IMPORT_CFUNC(strncpy, 0),
        IMPORT_CFUNC(strcpy, 0),
        IMPORT_CFUNC(strlen, 0),
@@ -4151,6 +4235,10 @@
        IMPORT_CFUNC_MAP(tolower, ntoskrnl_tolower, 0),
        IMPORT_CFUNC_MAP(strstr, ntoskrnl_strstr, 0),
        IMPORT_CFUNC_MAP(strchr, index, 0),
+       IMPORT_CFUNC_MAP(strrchr, rindex, 0),
+#ifdef MEMCHR
+       IMPORT_CFUNC_MAP(memchr, ntoskrnl_memchr, 0),
+#endif
        IMPORT_CFUNC(memcpy, 0),
        IMPORT_CFUNC_MAP(memmove, ntoskrnl_memmove, 0),
        IMPORT_CFUNC_MAP(memset, ntoskrnl_memset, 0),
@@ -4239,6 +4327,11 @@
        IMPORT_FFUNC(ExInterlockedAddLargeStatistic, 2),
        IMPORT_SFUNC(IoAllocateMdl, 5),
        IMPORT_SFUNC(IoFreeMdl, 1),
+       IMPORT_SFUNC(MmAllocateContiguousMemory, 2),
+       IMPORT_SFUNC(MmAllocateContiguousMemorySpecifyCache, 5),
+       IMPORT_SFUNC(MmFreeContiguousMemory, 1),
+       IMPORT_SFUNC(MmFreeContiguousMemorySpecifyCache, 3),
+       IMPORT_SFUNC_MAP(MmGetPhysicalAddress, pmap_kextract, 1),
        IMPORT_SFUNC(MmSizeOfMdl, 1),
        IMPORT_SFUNC(MmMapLockedPages, 2),
        IMPORT_SFUNC(MmMapLockedPagesSpecifyCache, 6),
----------------------------------------------------------
Patching:

dangerb0x# patch </description>
		<content:encoded><![CDATA[<p>I found solution about trap 12. First you need bcmwl5.inf with version is 3.xxx not 4. I have 3.140, from HP site here: <a href="http://h20000.www2.hp.com/bizsupport/site/search/r4_0/jsp/search.jsp?lang=en&#038;cc=us&#038;tx=Broadcom+Wireless+LAN+Driver&#038;sc=1&#038;nh=10&#038;rf=0&#038;lkc=1&#038;lk=1&#038;sts=1" rel="nofollow">http://h20000.www2.hp.com/bizsupport/site/search/r4_0/jsp/search.jsp?lang=en&#038;cc=us&#038;tx=Broadcom+Wireless+LAN+Driver&#038;sc=1&#038;nh=10&#038;rf=0&#038;lkc=1&#038;lk=1&#038;sts=1</a><br />
Also you will need to patch file nsubr_ntoskrnl.c &#8211; of ndis module, you can find here  /usr/src/sys/compat/ndis/</p>
<p>Here is patch:</p>
<p>dangerb0x# cat pt<br />
diff -u -r1.87 subr_ntoskrnl.c<br />
&#8212; sys/compat/ndis/subr_ntoskrnl.c     16 May 2006 14:37:57 -0000      1.87<br />
+++ sys/compat/ndis/subr_ntoskrnl.c     26 Nov 2006 18:19:29 -0000<br />
@@ -197,6 +197,11 @@<br />
 static uint32_t InterlockedIncrement(volatile uint32_t *);<br />
 static uint32_t InterlockedDecrement(volatile uint32_t *);<br />
 static void ExInterlockedAddLargeStatistic(uint64_t *, uint32_t);<br />
+static void *MmAllocateContiguousMemory(uint32_t, uint64_t);<br />
+static void *MmAllocateContiguousMemorySpecifyCache(uint32_t,<br />
+       uint64_t, uint64_t, uint64_t, uint32_t);<br />
+static void MmFreeContiguousMemory(void *);<br />
+static void MmFreeContiguousMemorySpecifyCache(void *, uint32_t, uint32_t);<br />
 static uint32_t MmSizeOfMdl(void *, size_t);<br />
 static void *MmMapLockedPages(mdl *, uint8_t);<br />
 static void *MmMapLockedPagesSpecifyCache(mdl *,<br />
@@ -232,11 +237,14 @@<br />
        uint32_t, void *);<br />
 static uint32_t WmiTraceMessage(uint64_t, uint32_t, void *, uint16_t, &#8230;);<br />
 static uint32_t IoWMIRegistrationControl(device_object *, uint32_t);<br />
-static void *ntoskrnl_memset(void *, int, size_t);<br />
+#ifdef MEMCHR<br />
+static void *ntoskrnl_memchr(const void *, unsigned char, size_t);<br />
+#endif<br />
 static void *ntoskrnl_memmove(void *, void *, size_t);<br />
+static void *ntoskrnl_memset(void *, int, size_t);<br />
 static char *ntoskrnl_strstr(char *, char *);<br />
-static int ntoskrnl_toupper(int);<br />
 static int ntoskrnl_tolower(int);<br />
+static int ntoskrnl_toupper(int);<br />
 static funcptr ntoskrnl_findwrap(funcptr);<br />
 static uint32_t DbgPrint(char *, &#8230;);<br />
 static void DbgBreakPoint(void);<br />
@@ -433,6 +441,34 @@<br />
        return(dst);<br />
 }</p>
<p>+#ifdef MEMCHR<br />
+<br />
+/*<br />
+ * /usr/src/sys/modules/ndis/../../compat/ndis/subr_ntoskrnl.c: In function `ntoskrnl_memchr&#8217;:<br />
+ * /usr/src/sys/modules/ndis/../../compat/ndis/subr_ntoskrnl.c:463: warning: cast discards qualifiers from pointer target type<br />
+ * *** Error code 1<br />
+ */<br />
+<br />
+/* copied from src/lib/libc/string/memchr.c */<br />
+<br />
+static void *<br />
+ntoskrnl_memchr(buf, ch, len)<br />
+       const void      *buf;<br />
+       unsigned char   ch;<br />
+       size_t          len;<br />
+{<br />
+       if (len != 0) {<br />
+               const unsigned char *p = buf;<br />
+<br />
+               do {<br />
+                       if (*p++ == ch)<br />
+                               return ((void *)(p &#8211; 1)); /* error occurs here */<br />
+               } while (&#8211;len != 0);<br />
+       }<br />
+       return (NULL);<br />
+}<br />
+#endif<br />
+<br />
 static char *<br />
 ntoskrnl_strstr(s, find)<br />
        char *s, *find;<br />
@@ -2471,6 +2507,53 @@<br />
         return;<br />
 }</p>
<p>+static void *<br />
+MmAllocateContiguousMemory(size, highest)<br />
+       uint32_t        size;           /* Specifies the number of bytes to allocate                             */<br />
+       uint64_t        highest;        /* Specifies the highest valid physical address that the driver can use. */<br />
+{<br />
+       void *addr;<br />
+       size_t pagelength = ((size + PAGE_SIZE &#8211; 1) / PAGE_SIZE) * PAGE_SIZE;<br />
+<br />
+       addr = ExAllocatePoolWithTag(NonPagedPool, pagelength, 0);<br />
+<br />
+       return(addr);<br />
+}<br />
+<br />
+static void *<br />
+MmAllocateContiguousMemorySpecifyCache(size, lowest, highest, boundary, cachetype)<br />
+       uint32_t        size;           /* Specifies the number of bytes to allocate                             */<br />
+        uint64_t       lowest;         /* Specifies the lowest valid physical address that the driver can use.  */<br />
+       uint64_t        highest;        /* Specifies the highest valid physical address that the driver can use. */<br />
+       uint64_t        boundary;       /* If nonzero, this value specifies the physical address multiple that   */<br />
+                                       /* the allocated buffer must not cross.                                  */<br />
+       uint32_t        cachetype;      /* indicates the type of caching allowed for the requested memory        */<br />
+{<br />
+       void *addr;<br />
+       size_t pagelength = ((size + PAGE_SIZE -1) / PAGE_SIZE) * PAGE_SIZE;<br />
+<br />
+       addr = ExAllocatePoolWithTag(NonPagedPool, pagelength, 0);<br />
+<br />
+       return(addr);<br />
+}<br />
+<br />
+static void<br />
+MmFreeContiguousMemory(base)<br />
+       void            *base;          /* Specifies the base address of the buffer to be freed                  */<br />
+{<br />
+       ExFreePool(base);<br />
+}<br />
+<br />
+static void<br />
+MmFreeContiguousMemorySpecifyCache(base, size, cachetype)<br />
+       void            *base;          /* Specifies the base address of the buffer to be freed                  */<br />
+       uint32_t        size;           /* Specifies the size in bytes of the buffer to be freed. Must match the */<br />
+                                       /* size requested when the buffer was allocated                          */<br />
+       uint32_t        cachetype;      /* Specifies the cache type of the buffer to be freed                    */<br />
+{<br />
+       ExFreePool(base);<br />
+}<br />
+<br />
 static uint32_t<br />
 MmSizeOfMdl(vaddr, len)<br />
        void                    *vaddr;<br />
@@ -4144,6 +4227,7 @@<br />
        IMPORT_SFUNC(DbgBreakPoint, 0),<br />
        IMPORT_CFUNC(strncmp, 0),<br />
        IMPORT_CFUNC(strcmp, 0),<br />
+       IMPORT_CFUNC_MAP(stricmp, strcasecmp, 0),<br />
        IMPORT_CFUNC(strncpy, 0),<br />
        IMPORT_CFUNC(strcpy, 0),<br />
        IMPORT_CFUNC(strlen, 0),<br />
@@ -4151,6 +4235,10 @@<br />
        IMPORT_CFUNC_MAP(tolower, ntoskrnl_tolower, 0),<br />
        IMPORT_CFUNC_MAP(strstr, ntoskrnl_strstr, 0),<br />
        IMPORT_CFUNC_MAP(strchr, index, 0),<br />
+       IMPORT_CFUNC_MAP(strrchr, rindex, 0),<br />
+#ifdef MEMCHR<br />
+       IMPORT_CFUNC_MAP(memchr, ntoskrnl_memchr, 0),<br />
+#endif<br />
        IMPORT_CFUNC(memcpy, 0),<br />
        IMPORT_CFUNC_MAP(memmove, ntoskrnl_memmove, 0),<br />
        IMPORT_CFUNC_MAP(memset, ntoskrnl_memset, 0),<br />
@@ -4239,6 +4327,11 @@<br />
        IMPORT_FFUNC(ExInterlockedAddLargeStatistic, 2),<br />
        IMPORT_SFUNC(IoAllocateMdl, 5),<br />
        IMPORT_SFUNC(IoFreeMdl, 1),<br />
+       IMPORT_SFUNC(MmAllocateContiguousMemory, 2),<br />
+       IMPORT_SFUNC(MmAllocateContiguousMemorySpecifyCache, 5),<br />
+       IMPORT_SFUNC(MmFreeContiguousMemory, 1),<br />
+       IMPORT_SFUNC(MmFreeContiguousMemorySpecifyCache, 3),<br />
+       IMPORT_SFUNC_MAP(MmGetPhysicalAddress, pmap_kextract, 1),<br />
        IMPORT_SFUNC(MmSizeOfMdl, 1),<br />
        IMPORT_SFUNC(MmMapLockedPages, 2),<br />
        IMPORT_SFUNC(MmMapLockedPagesSpecifyCache, 6),<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
Patching:</p>
<p>dangerb0x# patch</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: randell meyer</title>
		<link>http://dannyman.toldme.com/2005/01/05/freebsd-howto-ndisulate-windows-drivers/comment-page-1/#comment-59276</link>
		<dc:creator>randell meyer</dc:creator>
		<pubDate>Fri, 16 Mar 2007 20:22:37 +0000</pubDate>
		<guid isPermaLink="false">http://dannyman.toldme.com/2005/01/05/freebsd-howto-ndisulate-windows-drivers/#comment-59276</guid>
		<description>ok so I am running a realtek 8185 wireless and a Emaechines N10 laptop I can run all of this but when I run kldload I get a falt Trap 12 and a reboot any tips?</description>
		<content:encoded><![CDATA[<p>ok so I am running a realtek 8185 wireless and a Emaechines N10 laptop I can run all of this but when I run kldload I get a falt Trap 12 and a reboot any tips?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mario Castelao</title>
		<link>http://dannyman.toldme.com/2005/01/05/freebsd-howto-ndisulate-windows-drivers/comment-page-1/#comment-51822</link>
		<dc:creator>Mario Castelao</dc:creator>
		<pubDate>Sat, 27 Jan 2007 16:18:14 +0000</pubDate>
		<guid isPermaLink="false">http://dannyman.toldme.com/2005/01/05/freebsd-howto-ndisulate-windows-drivers/#comment-51822</guid>
		<description>To everybody having problems with:
   #kldload ndis
   kldload: can’t load ndis: File exists
   #kldload if_ndis
   kldload: can’t load if_ndis: File exists
or:
   #ifconfig ndis0
   ndis0 does not exist

The solution was posted by João Henrique but if you want a more detailed explanation here you go:
start by using ndisgen, its synopsis is:

ndisgen [/path/to/INF /path/to/SYS]

therefore:
   #cd /sys/modules/if_ndis/
   #ndisgen bcmwl5.inf bcmwl5.sys
and then follow the &quot;wizard&quot;, (basically pressing &quot;enter,return&quot; a few times...) and generate the following bcmwl5_sys.ko , after this you can either load the module by typing the command:
   #kldload /sys/modules/if_ndis/bcmwl5_sys.ko
or create a link to the module in the /boot/kernel and then load it:
   #ln /boot/kernel/bcmwl5.ko /sys/modules/if_ndis/bcmwl5_sys.ko
   #kldload bcmwl5_sys.ko
or copy it into /boot/kernel and then load it:
   #cp /sys/modules/if_ndis/bcmwl5_sys.ko /boot/kernel/bcmwl5.ko
   #kldload bcmwl5_sys.ko
after all of this you can simply add in your /boot/loader.conf the following line to load the module on boot:
bcmwl5_sys_load=&quot;YES&quot;

Hope it helped,</description>
		<content:encoded><![CDATA[<p>To everybody having problems with:<br />
   #kldload ndis<br />
   kldload: can’t load ndis: File exists<br />
   #kldload if_ndis<br />
   kldload: can’t load if_ndis: File exists<br />
or:<br />
   #ifconfig ndis0<br />
   ndis0 does not exist</p>
<p>The solution was posted by João Henrique but if you want a more detailed explanation here you go:<br />
start by using ndisgen, its synopsis is:</p>
<p>ndisgen [/path/to/INF /path/to/SYS]</p>
<p>therefore:<br />
   #cd /sys/modules/if_ndis/<br />
   #ndisgen bcmwl5.inf bcmwl5.sys<br />
and then follow the &#8220;wizard&#8221;, (basically pressing &#8220;enter,return&#8221; a few times&#8230;) and generate the following bcmwl5_sys.ko , after this you can either load the module by typing the command:<br />
   #kldload /sys/modules/if_ndis/bcmwl5_sys.ko<br />
or create a link to the module in the /boot/kernel and then load it:<br />
   #ln /boot/kernel/bcmwl5.ko /sys/modules/if_ndis/bcmwl5_sys.ko<br />
   #kldload bcmwl5_sys.ko<br />
or copy it into /boot/kernel and then load it:<br />
   #cp /sys/modules/if_ndis/bcmwl5_sys.ko /boot/kernel/bcmwl5.ko<br />
   #kldload bcmwl5_sys.ko<br />
after all of this you can simply add in your /boot/loader.conf the following line to load the module on boot:<br />
bcmwl5_sys_load=&#8221;YES&#8221;</p>
<p>Hope it helped,</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: sarelo</title>
		<link>http://dannyman.toldme.com/2005/01/05/freebsd-howto-ndisulate-windows-drivers/comment-page-1/#comment-46526</link>
		<dc:creator>sarelo</dc:creator>
		<pubDate>Sun, 31 Dec 2006 08:42:51 +0000</pubDate>
		<guid isPermaLink="false">http://dannyman.toldme.com/2005/01/05/freebsd-howto-ndisulate-windows-drivers/#comment-46526</guid>
		<description>Step 6: Compile, Install

Basically:

make &amp;&amp; make install

don&#039;t work ;/ (don&#039;t work how to make install)</description>
		<content:encoded><![CDATA[<p>Step 6: Compile, Install</p>
<p>Basically:</p>
<p>make &amp;&amp; make install</p>
<p>don&#8217;t work ;/ (don&#8217;t work how to make install)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: kevin</title>
		<link>http://dannyman.toldme.com/2005/01/05/freebsd-howto-ndisulate-windows-drivers/comment-page-1/#comment-39172</link>
		<dc:creator>kevin</dc:creator>
		<pubDate>Sat, 16 Dec 2006 11:40:32 +0000</pubDate>
		<guid isPermaLink="false">http://dannyman.toldme.com/2005/01/05/freebsd-howto-ndisulate-windows-drivers/#comment-39172</guid>
		<description>so anyone had any luck doing this on FreeBSD AMD64?

im D/L&#039;in AMD64 right now let cha know how it goes</description>
		<content:encoded><![CDATA[<p>so anyone had any luck doing this on FreeBSD AMD64?</p>
<p>im D/L&#8217;in AMD64 right now let cha know how it goes</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bens</title>
		<link>http://dannyman.toldme.com/2005/01/05/freebsd-howto-ndisulate-windows-drivers/comment-page-1/#comment-35749</link>
		<dc:creator>Bens</dc:creator>
		<pubDate>Fri, 01 Dec 2006 00:24:38 +0000</pubDate>
		<guid isPermaLink="false">http://dannyman.toldme.com/2005/01/05/freebsd-howto-ndisulate-windows-drivers/#comment-35749</guid>
		<description>Great! Thanks from Holland to:)</description>
		<content:encoded><![CDATA[<p>Great! Thanks from Holland to:)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: etenv</title>
		<link>http://dannyman.toldme.com/2005/01/05/freebsd-howto-ndisulate-windows-drivers/comment-page-1/#comment-34538</link>
		<dc:creator>etenv</dc:creator>
		<pubDate>Mon, 20 Nov 2006 09:58:01 +0000</pubDate>
		<guid isPermaLink="false">http://dannyman.toldme.com/2005/01/05/freebsd-howto-ndisulate-windows-drivers/#comment-34538</guid>
		<description>João Henrique: i&#039;m facing the same problem here. Everything goes well until the ifconfig ndis0 up, where he says, that the interface ndis0 does not exist. How did you fixed it?? On that link that you&#039;ve posted is only the man page but no instructions...

Can somebody else help me with that?</description>
		<content:encoded><![CDATA[<p>João Henrique: i&#8217;m facing the same problem here. Everything goes well until the ifconfig ndis0 up, where he says, that the interface ndis0 does not exist. How did you fixed it?? On that link that you&#8217;ve posted is only the man page but no instructions&#8230;</p>
<p>Can somebody else help me with that?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: sgh</title>
		<link>http://dannyman.toldme.com/2005/01/05/freebsd-howto-ndisulate-windows-drivers/comment-page-1/#comment-30083</link>
		<dc:creator>sgh</dc:creator>
		<pubDate>Thu, 26 Oct 2006 04:27:20 +0000</pubDate>
		<guid isPermaLink="false">http://dannyman.toldme.com/2005/01/05/freebsd-howto-ndisulate-windows-drivers/#comment-30083</guid>
		<description>Big Thanks!!! from Russia :)</description>
		<content:encoded><![CDATA[<p>Big Thanks!!! from Russia :)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sander&#8217;s Weblog &#187; FreeBSD and Wireless PCI Card</title>
		<link>http://dannyman.toldme.com/2005/01/05/freebsd-howto-ndisulate-windows-drivers/comment-page-1/#comment-27572</link>
		<dc:creator>Sander&#8217;s Weblog &#187; FreeBSD and Wireless PCI Card</dc:creator>
		<pubDate>Tue, 10 Oct 2006 13:13:31 +0000</pubDate>
		<guid isPermaLink="false">http://dannyman.toldme.com/2005/01/05/freebsd-howto-ndisulate-windows-drivers/#comment-27572</guid>
		<description>[...] Initially, I came away with a LinkSys WMP11 card that would cost me, after two rebates, the grand sum of five dollars. I had googled for this product and found out it is based on the well-supported Prism chipset, so I took one home. However, the card I had bought turned out to be a new revision, with a completely different chipset that the FreeBSD developers had never heard of! Thanks Linksys for springing that on the unsuspecting public. Of course there are Windows drivers, so the unsuspecting public still has something to play with. As, it turned out, did I. I turned to the NDIS wrapper support and found out that this only came with FreeBSD 5: time to upgrade the box from 4-STABLE. After a fresh new install (the only thing building world did for me was make every program I started dump core&#8230; boy was I glad that I had backed up my home directory before I started on this track), I got the NDIS driver to work (great hints by Dannyman), but unfortunately it did not support WEP. Why do we care about WEP? Isn&#8217;t it completely uncool to rely on WEP these days? Actually, it is in a way. In the same way that the lock on a bathroom stall door prompts most people to try the other stall, I assume the 1337 H@x0R is going to hook up to the unencrypted network first and I can see up to six open networks from my second bedroom. [...]</description>
		<content:encoded><![CDATA[<p>[...] Initially, I came away with a LinkSys WMP11 card that would cost me, after two rebates, the grand sum of five dollars. I had googled for this product and found out it is based on the well-supported Prism chipset, so I took one home. However, the card I had bought turned out to be a new revision, with a completely different chipset that the FreeBSD developers had never heard of! Thanks Linksys for springing that on the unsuspecting public. Of course there are Windows drivers, so the unsuspecting public still has something to play with. As, it turned out, did I. I turned to the NDIS wrapper support and found out that this only came with FreeBSD 5: time to upgrade the box from 4-STABLE. After a fresh new install (the only thing building world did for me was make every program I started dump core&#8230; boy was I glad that I had backed up my home directory before I started on this track), I got the NDIS driver to work (great hints by Dannyman), but unfortunately it did not support WEP. Why do we care about WEP? Isn&#8217;t it completely uncool to rely on WEP these days? Actually, it is in a way. In the same way that the lock on a bathroom stall door prompts most people to try the other stall, I assume the 1337 H@x0R is going to hook up to the unencrypted network first and I can see up to six open networks from my second bedroom. [...]</p>
]]></content:encoded>
	</item>
</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic
Page Caching using disk: enhanced
Database Caching 3/22 queries in 0.016 seconds using disk: basic
Object Caching 437/439 objects using disk: basic

Served from: dannyman.toldme.com @ 2012-02-09 10:17:59 -->
