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

    Barracuda 310 NICs

    Scheduled Pinned Locked Moved Hardware
    62 Posts 17 Posters 26.8k 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.
    • stephenw10S
      stephenw10 Netgate Administrator
      last edited by

      Thanks for saying so but really I'm no genius. The only reason I know any of this is because it's so similar to what we did on the Watchguard box and that took me days, weeks even when I first did it.  ;)

      Anyway controlling the LEDs will probably be easy. Are the wires to the front panel connected directly to the LEDs are via some logic chip?

      Perhaps I didn't make this clear but the values I read from my box are very unlikely (but not impossible!) to be the same as on your box. You need to read the 0x378 register first and then modify it and write it back.  Did your box coincidentally return '37' also?

      Being able to read the reset button would require a lot more effort so lets ignore that, at least for now.

      So we have the 5 output lines:

      | Pin | Bit in 0x378 | Function |
      | 5 | 3 | Enable NIC Bypass relays. 1=bypass disabled |
      | 6 | 4 | ? |
      | 7 | 5 | Red LED? |
      | 8 | 6 | Yellow LED ? |
      | 9 | 7 | Green LED ? |

      This assumes the connections are the same as in the spam filter references in the blog post above which seems reasonable.

      You wrote 0x3f, 00111111 and that switched the NICs and turned off the red LED. The other LEDs remain on? That implies an inverted logic which is common. One side on the LED is supplied with ~3V and you switch it on by pulling the other side to 0V, logic low.

      If you write out 0xff all the leds should turn off.

      There's a problem here though because you wrote both bits 3 and 4 to high we don't actually know which pin is switching the NIC relays.

      Reboot the box and read in the initial value at 0x378. You'll have to re-fetch the two programs.

      Steve

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

        Hey Steve,

        Sorry work has got in the way over the last few. I have read the IO port without doing amy writing and I get back a zero '0' with no modifications.

        You are correct. The parallel port wires go into some sort of a board, where the LED's are soldered on to.

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

          No problem. So we need to narrow down which pins do what by writing to one bit at a time.
          First try just pin 5 to make sure the relays are controlled by that. Try:

          ./writeio 0x378 0x08
          

          If that's true then we can leave that connected and try the leds.
          Try setting pin 9 to high:

          ./writeio 0x378 0x88
          

          and pin 8:

          ./writeio 0x378 0x48
          

          and pin 7:

          ./writeio 0x378 0x28
          

          Did any of that do anything useful?  :)

          Steve

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

            Yes, that has actually worked well.  :D So to start with, when the cuda boots up, I have (looking from left to right) LED 1,2,3 ON, HDD blinks (as it should) and Power solid.

            When I issue:

            ./writeio 0x378 0x08
            

            Relays click and the front ports come on. LED 1,2,3 are all on as per boot.

            ./writeio 0x378 0x88
            

            LED 3 turns off.

            ./writeio 0x378 0x48
            

            LED 2 turns off and LED 3 turns on

            ./writeio 0x378 0x28
            

            LED 1 Turns off and LED 2 turns on.

            Hope that helps. Thanks again.

            M

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

              Ok, that's what we expected, great.  :)
              Still don't know what pin 6 does though. I would guess it's for 'patting the watchdog' if it's used. Probably not important here.
              I'll try to knock together some code in the morning. We can probably use much of the code given in the linked site above.

              Steve

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

                @stephenw10:

                Ok, that's what we expected, great.  :)
                Still don't know what pin 6 does though. I would guess it's for 'patting the watchdog' if it's used. Probably not important here.
                I'll try to knock together some code in the morning. We can probably use much of the code given in the linked site above.

                Steve

                Awesome, thanks so much! Appreciate the help.

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

                  Right, try this. See attached files. They have a .png extension because the forum only allows certain types, just remove it. Set the file permissions.
                  I find it amusing that in his blog post Jim Barstow apologises for his code claiming he's not a C programmer. He's got plenty on me!  ;) Any real programmer would cringe at my code but it seems to work. It has limited error checking. It can't do more then one thing at once so if you want to change two LEDs you have to call it twice, for example:

                  ./BCHW32 red on
                  ./BCHW32 green off
                  
                  

                  Let me know if that works at all. I spent some time late last night trying to debug something before I realised that the laptop I was testing on didn't have a parallel port.  ::)

                  Steve

                  BCHW.c.png
                  BCHW32.png

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

                    I actually have an application that could take advantage of this daughterboard and a Load Balancer 340 coming in the mail sometime in the next 2 weeks. The front nics in the 340 are just plain connectors with no watchdog circuit http://imgur.com/hcsuwTB I would be down to trade my plain board for anyone's board with the relays/watchdog circuit. If you are not good at soldering, just clip the black/blue wire from your parallel port and separate them with electrical tape. I don't want anyone damaging their motherboard! I have enabled forum members to email me, so hit me up. Thanks in advance!

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

                      Never heard back from Maxpol, maybe my code set fire to his box.  ;)

                      Steve

                      1 Reply Last reply Reply Quote 0
                      • G
                        gac
                        last edited by

                        Your code is good, I've basically done exactly the same thing on my own 310 - annoyingly, I was probably working it out myself around the time this thread was happening, I never thought to look on here, despite knowing you (stephen) as a helpful guy from my previous experimentation with a Lanner unit. The Barracuda came up for £1 on eBay about 5 minutes from home, so I figured it was worth a try.

                        cron410, where are you located? If you're in the US then you're probably out of luck, but if you're located in the UK then I could look into disconnecting my watchdog circuit from my 310 - it's an older revision than the one pictured here (pretty sure mine uses a PATA disk, from memory) but given that Barracuda have written the firmware to apply to all hardware revisions I would imagine that the behaviour is identical to this unit. I'm certainly 99% sure I've used the same values as maxpol did to activate my front ports and de-activate the LEDs (red disappears after bootloader, yellow disappears after fully booted, leaving only the green as a "everything's OK" indicator).

                        I intend to get pfSense working and pop it back on eBay as a fully-featured average-spec firewall rather than just a web filter but given that I don't really have time to write anything in the UI specifically for toggling the front ports on and off from the web interface, I don't 100% need the NIC module at this point in time.

                        1 Reply Last reply Reply Quote 0
                        • 2
                          22213w
                          last edited by

                          @stephenw10

                          I need your help. I am a victim of purchasing a barracuda 310 and the front NIC's are now working. I followed you procedure and I am getting a funny number back.

                          I did this : ./readio 0x378

                          And I am getting back: Reading 378 :0

                          I changed the parallel port in bios to a different number and ran ./readio and I keep getting back xxx:0

                          Now I'm not good with numbers but I know 0 means nothing. So I did ./writeio 0x378 0x0 and nothing happen.

                          Please I hope you get this message or anyone that can help me. I just purchased this off ebay and its a shame I may have to junk it.

                          Many Thanks!

                          1 Reply Last reply Reply Quote 0
                          • 2
                            22213w
                            last edited by

                            I got it to work read on in the topic.  I issue this command  ./writeio 0x378 0x08 the LAN/WAN ports started to work .

                            But when I rebooted the box I had to fetch and redo the instructions. The lan ports are dead again after reboot.

                            What should I do?

                            Thanks

                            1 Reply Last reply Reply Quote 0
                            • 2
                              22213w
                              last edited by

                              Sorry I figured that out I just loaded Shell pkg and added the command in it and rebooted and it works. All is well.

                              Thanks much!

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

                                So all good then? Glad you got it working.  :)

                                You should be able to use the BCHW program rather than using writeIO to set the bits directly.

                                Steve

                                1 Reply Last reply Reply Quote 0
                                • 2
                                  22213w
                                  last edited by

                                  Once again Stephenw10 you are the man. I didn't see the post for BCHW.  I just set it on the barracuda 310 and it works like a charm.

                                  Thanks for letting me know and getting back to me so fast.

                                  Many tanks!

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

                                    Steven,

                                    Sorry I know this is an old post but your the only person I can find that seems to have figured out the barracuda nic issue.  Your programs work great for pfSense but I am trying to use them in Debian and apparently they are not compatible..  Is this something you could possibly recompile for debian/ubuntu?

                                    Or point me in the direction of a comparable program to do the same??  I know nothing of programming or I would attempt to do it myself..

                                    Thanks

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

                                      Hi, sorry for the delay.
                                      The source code for BCHW is listed above, you can probably try just compiling it in Debian. It's all pretty basic C libraries etc.
                                      Alternatively the entire thing only sets bits on the parallel port for which there are many programs available. I'd be very surprised if there wasn't already code to do it, possibly even already on your box.

                                      Steve

                                      1 Reply Last reply Reply Quote 0
                                      • J
                                        jmccaf77
                                        last edited by

                                        Thank you everybody!  Especially Stephenw10…
                                        I got pretty much everything I needed from this thread to repurpose a long-out-of-warranty Barracuda Web Filter 410...  Only slightly different than the 310 (one PCIe slot controls both NICs instead of 2 PCI slots)...  After getting FreeBSD to see the Lib32 libraries, by adding the path with ldconfig, I was able to successfully run ./BCHW32 bypass off, which clicked the relays and activated the front NICs...  When it rebooted, the command had to be run again.  To remedy this, I put BCHW32 in / , added the following to a file, named BypassOff.sh, and placed the file in /usr/local/etc/rc.d:

                                        cd / 
                                        ./BCHW32 bypass off
                                        ./BCHW32 red off
                                        ./BCHW32 yellow off
                                        ./BCHW32 green off

                                        Now, when the power is lost, the NICs go to Bypass Mode, and when power is restored and pfsense loads, the script runs and the NICs light up...
                                        Now, we can start configuring, testing, using, the various packages available for use with pfsense...

                                        1 Reply Last reply Reply Quote 0
                                        • R
                                          roccor
                                          last edited by

                                          <resurrecting_very_old_thread>I, like the last poster, has hard a very hard time finding anyone else online whose re-purposed a 310 for Pf.  I have one sitting behind me, it has the watchdog/relay type front nic board.

                                          I don't have Pf loaded as of yet, but I read through most of the thread here and I'm left still wondering.. what are you all doing so that the nics are enabled after a power cycle/loss?  It is some sort of Pf/cron jobs addon thing?

                                          Thanks!</resurrecting_very_old_thread>

                                          1 Reply Last reply Reply Quote 0
                                          • R
                                            roccor
                                            last edited by

                                            Working my way down this thread on my test pf box.. first halting issue: a lack of an ELF interpreter.

                                            ELF interpreter /libexec/ld-elf.so.1 not found

                                            Except that file does exist in libexec.

                                            -r-xr-xr-x 1 root wheel 267288 Dec 21 16:16 ld-elf.so.1

                                            I've googled and found this: https://redmine.pfsense.org/issues/4670

                                            Which was utterly useless as my pkg was a 64-bit file. I did try moving it so running pkg would prompt me to reinstall but just like that guy.. 'its already installed'

                                            Anyone know how I can make my ld-elf.so.1 file work or get another?

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