Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    NDIS problems with pfSense

    Scheduled Pinned Locked Moved Hardware
    19 Posts 4 Posters 10.3k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • D
      Doktor Jones
      last edited by

      Hmmm, I thought I'd already replied… my computer must've eaten it.  Anyways...

      wallabybob, I'll try it as you suggested when I get home tonight, but I do believe I already tried that at one point -- just throws the same error (second one) as when i do rtl>ndis>rtl

      stephenw10, the Realtek site takes me to the drivers called "8192SE" when I select the driver download for the 8191SE; I'm guessing they probably use the same chipset and thus same driver (the Linux driver source calls it "819x").  Of note though, I am using the Windows XP version of the driver -- I was doing so on the belief that ndisgen could only handle NDIS 5.x (I read that somewhere during my Googling), but more recently I seem to recall reading documentation where someone used a Vista driver... is there a chance that I might be able to get FreeBSD to play better with a wrapped Vista or Win7 driver?

      WRT the hardware ID, how would I determine the hardware ID in FreeBSD?  I used to bash video driver INFs to play with my laptop video cards, so it wouldn't be a large stretch for me to sub my card's hardware ID into this driver's INF to make it play nice.  This is a built-in card, so dropping it in a Windows system to determine the ID isn't really an option, and I don't know where my WinPE boot CDs are.

      1 Reply Last reply Reply Quote 0
      • stephenw10S
        stephenw10 Netgate Administrator
        last edited by

        This driver:
        http://www.realtek.com.tw/downloads/downloadsView.aspx?Langid=1&PNid=21&PFid=48&Level=5&Conn=4&DownTypeID=3&GetDown=false&Downloads=true
        has win2K drivers as recommended on the page you linked to.

        You can find the pci vendor and device ids with:

        
        [2.0.1-RELEASE][root@pfsense.fire.box]/root(3): pciconf -lv
        hostb0@pci0:0:0:0:	class=0x060000 card=0x25788086 chip=0x25788086 rev=0x02 hdr=0x00
            class      = bridge
            subclass   = HOST-PCI
        pcib1@pci0:0:1:0:	class=0x060400 card=0x00000000 chip=0x25798086 rev=0x02 hdr=0x01
            class      = bridge
            subclass   = PCI-PCI
        pcib2@pci0:0:3:0:	class=0x060400 card=0x00000000 chip=0x257b8086 rev=0x02 hdr=0x01
            class      = bridge
            subclass   = PCI-PCI
        
        

        Steve

        1 Reply Last reply Reply Quote 0
        • D
          Doktor Jones
          last edited by

          The 2K drivers are for the 8191SU, which if I'm not mistaken is their USB device.

          "pciconf -lv" yields the following:

          none2@pci0:2:0:0:       class=0x028000 card=0x817110ec chip=0x817110ec rev=0x10 hdr=0x00
             class      = network
          re0@pci0:3:0:0: class=0x020000 card=0x0d77105b chip=0x816810ec rev=0x06 hdr=0x00
             class      = network
             subclass   = ethernet

          with the former device being the wireless adapter.  Inside the INF file I used, the first line under the [Realtek.NTx86] header is
          %RTL8191seva.DeviceDesc% = RTL8192se.ndi, PCI\VEN_10EC&DEV_8171&SUBSYS_817110EC

          If I had to guess, I'd say "card" from pciconf represents the VENdor+DEVice (apparently in reverse order?) and chip represents the SUBSYStem?

          With regards to loading ndis > rtl8192se_sys directly after a fresh boot, I still get the error.  The exact output is as follows:

          [2.0.1-RELEASE][root@pfSense.localdomain]/root(3): kldload ndis
          [2.0.1-RELEASE][root@pfSense.localdomain]/root(4): kldstat
          Id Refs Address    Size     Name
          1    4 0xc0400000 1178ad8  kernel
          2    1 0xc6646000 19000    ndis.ko
          [2.0.1-RELEASE][root@pfSense.localdomain]/root(5): kldload rtl8192se_sys
          kldload: can't load rtl8192se_sys: File exists
          [2.0.1-RELEASE][root@pfSense.localdomain]/root(6): kldstat
          Id Refs Address    Size     Name
          1    4 0xc0400000 1178ad8  kernel
          2    1 0xc6646000 19000    ndis.ko


          EDIT: I just found a Win2K folder in the driver package I was using, and tried building that one instead… I get the same result.  However, attempting to load it in my FreeBSD VM spews some stuff but seems to load it fine anyways:

          bsdFu# kldload rtl8192se_sys
          no match for NdisMCreateLog
          no match for NdisMCloseLog
          no match for NdisMWriteLogData
          no match for ExCreateCallback
          no match for ExNotifyCallback
          bsdFu# kldstat
          Id Refs Address    Size    Name
          1  18 0xc0400000 bb5504  kernel
          4    1 0xc5988000 108000  rtl8192se_sys.ko
          5    1 0xc5a90000 d000    if_ndis.ko
          6    2 0xc5a9d000 19000    ndis.ko

          Of note (to me) is that there is an "if_ndis.ko" module loaded, which I don't have on my pfSense box.  Could this be causing the trouble?

          1 Reply Last reply Reply Quote 0
          • D
            Doktor Jones
            last edited by

            Okay, so I tried adding the if_ndis.ko from my VM… it happily loaded up, so I attempted to load my Win2K driver again.  SSH just went kaput on me, so I flipped over to the screen and see the following (so close!  so damn close!)

            no match for ExCreateCallback
            no match for ExNotifyCallback
            no match for IoWMIQueryAllData
            no match for IoWMIOpenBlock
            ndis0: <realtek rtl8191se="" wireless="" lan="" 802.11n="" pci-e="" nic="">port 0xd800-0xd8ff mem
            0xfebfc000-0xfebfffff irq 17 at device 0.0 on pci2
            ndis0: [ITHREAD]
            ndis0: NDIS API version: 5.1
            NDIS dummy called…

            Fatal trap 12: page fault while in kernel mode
            cpuid = 0; apic id = 00
            fault virtual address   = 0x0
            fault code              = supervisor read, page not present
            instruction pointer     = 0x20:0x0
            stack pointer           = 0x28:0xc691e60c
            frame pointer           = 0x28:0xeebab890
            code segment            = base 0x0, limit 0xfffff, type 0x1b
                                   = DPL 0, pres 1, def32 1, gran 1
            processor eflags        = interrupt enabled, resume, IOPL = 0
            current process         = 54195 (kldload)</realtek>

            1 Reply Last reply Reply Quote 0
            • C
              cmb
              last edited by

              Don't have any suggestions to fix your issue, but wanted to offer some advice from experience with NDIS - I wouldn't bother. Your chances of ending up with something that works highly reliably are slim to none. At best you may end up with something that functions but stops working at random and requires a kick on occasion (ifconfig down && up). At worst, you may never get it to work, or may end up with something that kernel panics randomly. You can get Atheros wireless cards that work well for $5-10 on ebay, IMO it's not worth messing with something that you probably won't be able to get working reliably. Don't mean to rain on your parade, just offering advice from experience that you're probably wasting your time, unless you just want to do it for kicks anyway and like the learning experience.

              1 Reply Last reply Reply Quote 0
              • stephenw10S
                stephenw10 Netgate Administrator
                last edited by

                The Realtek website seems incredibly flaky, I've clicked in the link in my post several times and ended up at different pages each time! the 'SU' is, as you say, a USB model.  ::)

                Steve

                1 Reply Last reply Reply Quote 0
                • D
                  Doktor Jones
                  last edited by

                  I'll have to crack open the case again and see how the wifi is done in this box.  I seem to recall it just being mini-PCIe, and if the antenna connectors are standard, maybe I can go ahead and get an Atheros card for it.  Can you recommend any model in particular that's good (emphasis primarily on stability, then performance, then ease of setup – in that order)?  I will need AP functionality with it -- I am aware some cards don't support AP mode.

                  1 Reply Last reply Reply Quote 0
                  • stephenw10S
                    stephenw10 Netgate Administrator
                    last edited by

                    I am using  an Atheros card, which I happened to have already, which is reported as:

                    [2.0.1-RELEASE][root@pfsense.fire.box]/root(2): cat /var/log/dmesg.boot | grep ath
                    ath0: <atheros 2413="">mem 0xfdbe0000-0xfdbeffff irq 18 at device 6.0 on pci4
                    ath0: [ITHREAD]
                    ath0: AR2413 mac 7.8 RF2413 phy 4.5</atheros> 
                    

                    Interestingly this isn't listed on the ath(4) man page

                    Apart from the occasional missed beacon warning in the logs (which doesn't actually cause a problem) it has worked perfectly.
                    It's miniPCI though so probably not suitable for you.  ::)

                    Steve

                    Edit: A better list of cards is on the ath_hal(4) page. I'm fairly confident that any of these would support access point mode but probably best to double check that.

                    1 Reply Last reply Reply Quote 0
                    • D
                      Doktor Jones
                      last edited by

                      Hmmm, once upon a time, I stumbled across a spreadsheet someone had made, indicating what cards support what modes, blah blah blah… I think it was a Google doc spreadsheet.  Does anyone know what I'm referring to?  That might be a handy reference at this point :)

                      1 Reply Last reply Reply Quote 0
                      • stephenw10S
                        stephenw10 Netgate Administrator
                        last edited by

                        You are reffering to JimP's excellent research effort:
                        https://spreadsheets.google.com/ccc?key=0AojFUXcbH0ROdHgwYkFHbkRUdV9hVWljVWl5SXkxbFE&hl=en

                        Problem is it doesn't help much with Atheros since there are too many to list!
                        The one card that is listed has today been reported as not working though it was in an unusual config.  ::)

                        Steve

                        1 Reply Last reply Reply Quote 0
                        • D
                          Doktor Jones
                          last edited by

                          Excellent, thanks!  That's the one I was looking for.  "Multi" sounds interesting… is there a feature in the pfSense UI somewhere to set up multiple access points or will I have to do that from the shell?  I was looking at the tutorial -- would I create new interfaces and assign them the same adapter?

                          1 Reply Last reply Reply Quote 0
                          • stephenw10S
                            stephenw10 Netgate Administrator
                            last edited by

                            I've never tried it and it looks like there's nothing in the wiki. I believe it's done through the GUI in Interfaces: (assign): Wireless:

                            Here you can configure clones of wireless interfaces, which can be assigned as separate independent interfaces. Only available on wireless chipsets that support this, with limitations on the number that can be created in each mode.

                            I assume it has to be on the same channel.

                            Steve

                            1 Reply Last reply Reply Quote 0
                            • D
                              Doktor Jones
                              last edited by

                              So… I ordered this particular card, and just snapped it in tonight.  Hop onto the web config interface, add an interface, and get ath0 :)

                              Within half an hour, I've gotten an 802.11g access point up and running with WPA2-AES, and have successfully connected and gotten online with it (its WAN port is actually connected via ethernet to my current router, which is connected to the internet on its WAN port).

                              pfSense FTW!

                              1 Reply Last reply Reply Quote 0
                              • First post
                                Last post
                              Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.