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

    There's a patch for broken dc (xircom, and others) from John Baldwin - want it ?

    Scheduled Pinned Locked Moved 2.1 Snapshot Feedback and Problems - RETIRED
    19 Posts 5 Posters 4.5k 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.
    • A
      apfusertoo
      last edited by

      There is a longstanding bug (or bugs) in the dc driver that basically breaks a HUGE number of xircom and other network cards.

      You can read about this bug here:

      kern/115623  (PR)

      This bug is NOT fixed in 8.3-RELEASE, so if you base 2.1 off of 8.3, you won't get this fix.  Many pcmcia cards will NOT work at all in pfsense.

      I've had private communications with John Baldwin and he provided this backported patch for 8.3-RELEASE:

      http://www.FreeBSD.org/~jhb/patches/pci_rom_8.patch

      and I have tested this patch and my xircom realport pcmcia cards finally work on 8.3-RELEASE.

      So this code is in 9.x, and he's put it into the tree for 8.4 (if that ever comes out) but if you want it in 8.3/pfsense2.1, you'll need to grab that and apply it.

      Comments ?

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

        if it applies cleanly with our patches, submit a pull request on the tools repo on github and we'll get it in.

        1 Reply Last reply Reply Quote 0
        • M
          msi
          last edited by

          If you can point us to the revision it was MFC'ed into 8-STABLE, please do so.
          Cherry-picking  and 'git format-patch' a diff 8-STABLE is easier thant taking a patch from yet another URL ;-)

          You may also use the 8-STABLE branch from the github mirror: https://github.com/freebsd/freebsd/commits/stable/8

          1 Reply Last reply Reply Quote 0
          • jimpJ
            jimp Rebel Alliance Developer Netgate
            last edited by

            @MatSim - Looking in the patch file, it appears to be fully contained in SVN r241229

            Seems the MFC was 5e182246d97144c1a9edeaa375990635e5ff929e

            Remember: Upvote with the 👍 button for any user/post you find to be helpful, informative, or deserving of recognition!

            Need help fast? Netgate Global Support!

            Do not Chat/PM for help!

            1 Reply Last reply Reply Quote 0
            • M
              msi
              last edited by

              OK, you confirm my suggestion.
              Unfortunately taking this changeset isn't enough as it depends on previous commits to 'sys/dev/pci/pci.c'' inside 8-STABLE.
              Only cherry-picking this will cause a merge conflict, so you'll want to take all commits to this file until git is happy.

              The result may be applying patches, but may not yield something build-able, so testing will be required.

              1 Reply Last reply Reply Quote 0
              • A
                apfusertoo
                last edited by

                @MatSim:

                OK, you confirm my suggestion.
                Unfortunately taking this changeset isn't enough as it depends on previous commits to 'sys/dev/pci/pci.c'' inside 8-STABLE.
                Only cherry-picking this will cause a merge conflict, so you'll want to take all commits to this file until git is happy.

                The result may be applying patches, but may not yield something build-able, so testing will be required.

                How can I help with this ?  Since you have the corresponding FreeBSD commits, and have tracked down exactly where this code comes from, am I correct that you no longer need me to do a pull request, etc. ?

                Let me know how I can help - this would fix a TON of pcmcia cards that are currently totally broken in pfsense, and I'd love to get it in before the official 2.1 release…

                1 Reply Last reply Reply Quote 0
                • M
                  msi
                  last edited by

                  G'day

                  RIght, yes now I have checked more exactly which patches that we'd likely need and put them together.
                  https://github.com/bsdperimeter/pfsense-tools/pull/25

                  If you are able to make your own build, you can use my github clone for building and help in finding breakage.
                  It unfortunately patches in larger areas and I neither have experience in them, nor to I have Cardbux hardware laying around.

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

                    Thanks MatSim. I merged that to give it a shot.

                    1 Reply Last reply Reply Quote 0
                    • A
                      apfusertoo
                      last edited by

                      I can ship out a laptop + xircom cardbus cards to someone if they want to do some real testing.

                      Alternatively, if you can provide some specific commands or test binaries to run, I can run them off of 2.1 on my local hardware…

                      Thanks.

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

                        I have laptops with cardbus slots and I seem to have two xircom cards: a CBE2-100 and a XEM5600. I have far too much obsolete hardware.  ::)
                        Are either of those supported by this patch? Any specific tests?

                        Steve

                        1 Reply Last reply Reply Quote 0
                        • M
                          msi
                          last edited by

                          The best would be if the initial reporter could give feedback. :-)

                          If you are now able to use these Xircom-based cards, well that would show that at least I didn't break anything with importing these patches.
                          The last Notebook I saw with Cardbus slots, was Thinkpad T61 which had both Cardbus and Expresscard.

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

                            Ok I'm running yesterdays snapshot 32bit (are there any 64bit machines with a cardbus?  ;)) live CD.

                            
                            [2.1-BETA0][root@pfSense.localdomain]/root(2): uname -a
                            FreeBSD pfSense.localdomain 8.3-RELEASE-p5 FreeBSD 8.3-RELEASE-p5 #0: Mon Nov 26 07:11:24 EST 2012     root@snapshots-8_3-i386.builders.pfsense.org:/usr/obj./usr/pfSensesrc/src/sys/pfSense_SMP.8  i386
                            
                            

                            The CBE2 card does not work. Many 'unable allocate resources for CIS' errors during boot.
                            The 'Realport' XEM5600 card work great.

                            [2.1-BETA0][root@pfSense.localdomain]/root(3): ifconfig xe0
                            xe0: flags=8843 <up,broadcast,running,simplex,multicast>metric 0 mtu 1500
                            	ether 00:10:a4:7a:59:8b
                            	inet6 fe80::210:a4ff:fe7a:598b%xe0 prefixlen 64 scopeid 0x9 
                            	inet 192.168.111.2 netmask 0xffffff00 broadcast 192.168.111.255
                            	nd6 options=3 <performnud,accept_rtadv>media: Ethernet autoselect (100baseTX)
                            	status: active</performnud,accept_rtadv></up,broadcast,running,simplex,multicast> 
                            
                            [2.1-BETA0][root@pfSense.localdomain]/root(2): dmesg | grep xe
                            xe0: <xircom 10="" 100="" network="" +="" 56k="" modem="" pc="" card="">at port 0x2e8-0x2ef irq 9 function 0 config 39 on pccard1
                            xe0: version 0x55/0x05, 100Mbps capable, with modem
                            xe0: [ITHREAD]
                            [2.1-BETA0][root@pfSense.localdomain]/root(3): sysctl -a | grep Xircom
                            dev.xe.0.%desc: Xircom 10/100 Network + 56K Modem PC Card
                            dev.xe.0.%pnpinfo: manufacturer=0x0105 product=0x110a cisvendor="Xircom" cisproduct="10/100 Network + 56K Modem PC Card" function_type=6</xircom> 
                            

                            It did throw a load of watchdog timeouts while I connected a cable but recovered gracefully.

                            Oops, spoke too soon. I ran a pciconf -lv on it and now showing a stream of 'xe0: allignment error' messages on the console and is unaccessable.

                            Steve

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

                              Ok so in conclusion of the two Xircom cards I have one is supported by the xe(4) driver and works just about OK if you've pushed it into the slot hard enough.  ::)

                              The other card tries to load the dc(4) driver and fails.

                              
                              dmesg|grep dc0
                              
                              dc0: <xircom 10="" x3201="" 100basetx="">port 0x1080-0x10ff mem 0x88000000-0x880007ff,0x88001000-0x880017ff irq 9 at device 0.0 on cardbus0
                              dc0: No station at address in CIS!
                              device_attach: dc0 attach returned 6
                              
                              dmesg|grep cardbus
                              
                              cardbus0: <cardbus bus="">on cbb0
                              cardbus1: <cardbus bus="">on cbb1
                              cardbus0: Unable to allocate resource to read CIS.
                              cardbus0: Unable to allocate resources for CIS
                              cardbus0: Unable to allocate resource to read CIS.
                              cardbus0: Unable to allocate resources for CIS</cardbus></cardbus></xircom> 
                              

                              I imagine there maybe a typo in that!

                              This appears to be the long standing problem that the patch should have addressed. Wrong snapshot?  :-
                              The combination of laptop and card work fine under Windows (98?) but I could easily believe it's a BIOS problem.

                              Steve

                              1 Reply Last reply Reply Quote 0
                              • M
                                msi
                                last edited by

                                Nope, was my fault. JimP fixed a typo in the patches file which otherwise would have made the cardbus patch not apply.
                                The typo was introduced myself, sorry. Wait for the next builder run and test again…

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

                                  Working well now.  :)

                                  [2.1-BETA0][root@pfSense.localdomain]/root(6): uname -a
                                  FreeBSD pfSense.localdomain 8.3-RELEASE-p5 FreeBSD 8.3-RELEASE-p5 #0: Tue Nov 27 11:33:39 EST 2012     root@snapshots-8_3-i386.builders.pfsense.org:/usr/obj./usr/pfSensesrc/src/sys/pfSense_SMP.8  i386
                                  [2.1-BETA0][root@pfSense.localdomain]/root(7): ifconfig dc0
                                  dc0: flags=8843 <up,broadcast,running,simplex,multicast>metric 0 mtu 1500
                                  	options=80008 <vlan_mtu,linkstate>ether 00:10:a4:8a:ba:87
                                  	inet6 fe80::210:a4ff:fe8a:ba87%dc0 prefixlen 64 scopeid 0x9 
                                  	inet 192.168.111.5 netmask 0xffffff00 broadcast 192.168.111.255
                                  	nd6 options=3 <performnud,accept_rtadv>media: Ethernet autoselect (100baseTX <full-duplex>)
                                  	status: active
                                  [2.1-BETA0][root@pfSense.localdomain]/root(8): dmesg | grep Xircom
                                  dc0: <xircom 10="" x3201="" 100basetx="">port 0x1080-0x10ff mem 0x88000000-0x880007ff,0x88001000-0x880017ff irq 9 at device 0.0 on cardbus0
                                  [2.1-BETA0][root@pfSense.localdomain]/root(9): sysctl dev.dc
                                  dev.dc.0.%desc: Xircom X3201 10/100BaseTX
                                  dev.dc.0.%driver: dc
                                  dev.dc.0.%location: slot=0 function=0
                                  dev.dc.0.%pnpinfo: vendor=0x115d device=0x0003 subvendor=0x115d subdevice=0x0181 class=0x020000
                                  dev.dc.0.%parent: cardbus0</xircom></full-duplex></performnud,accept_rtadv></vlan_mtu,linkstate></up,broadcast,running,simplex,multicast> 
                                  

                                  Let me know if you want/need any other info. I don't think I'll be using the Sony F409 for anything else anytime soon. It was once the most expensive single thing I'd ever bought, now gathers dust in a pile of old laptops.  ::)

                                  Steve

                                  1 Reply Last reply Reply Quote 0
                                  • A
                                    apfusertoo
                                    last edited by

                                    Ok, I just tested out two xircom realport cards (R2BE-100) inside a Dell Latitude p3-900 and they both work great!

                                    Not a lot of testing, but assigned IPs, made connections, and set up a few long scp transfers @ 1.4MB/s.

                                    Not a single error, nothing on console, nothing in dmesg - looks perfect.

                                    Thank you!

                                    Now, moving forward, should I continue testing this as each new snapshot of 2.1 comes out, or is it safe to assume that this is fixed for good now ?

                                    1 Reply Last reply Reply Quote 0
                                    • M
                                      msi
                                      last edited by

                                      Thanks for the feedbacks.
                                      Checking back some time may be worthy still, in the case where patches/RELENG_8_3/from-8-STABLE/cardbus gets updates I'd say,
                                      since 8.3-RELENG doesn't seem to receive much updates, only security.

                                      Although it improves things - are there real consumers of CardBus devices in conjunction with pfSense out there these days?
                                      Maybe I'm overlooking the use of laptops as low-power DYI plattforms instead of buying an embedded board…

                                      1 Reply Last reply Reply Quote 0
                                      • A
                                        apfusertoo
                                        last edited by

                                        @MatSim:

                                        Thanks for the feedbacks.
                                        Checking back some time may be worthy still, in the case where patches/RELENG_8_3/from-8-STABLE/cardbus gets updates I'd say,
                                        since 8.3-RELENG doesn't seem to receive much updates, only security.

                                        Although it improves things - are there real consumers of CardBus devices in conjunction with pfSense out there these days?
                                        Maybe I'm overlooking the use of laptops as low-power DYI plattforms instead of buying an embedded board…

                                        laptop + xircom realports is a fantastic device.

                                        I am looking at a device that has built-in KVM, three (!) physical, full size rj45 ports, and has its own built in UPS.

                                        You really can't find a much more user friendly or versatile platform…

                                        1 Reply Last reply Reply Quote 0
                                        • M
                                          msi
                                          last edited by

                                          Well, under that aspect, it makes quite it makes sense to pf(Sense) ;-)

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