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

    Pfsense Install on Nokia IP390

    Scheduled Pinned Locked Moved Problems Installing or Upgrading pfSense Software
    118 Posts 8 Posters 40.7k 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

      Ok. The 6300ESB has a second set of GPIOs which include the 4 LED specific pins. The base address for these is 0x4b0 so please read all the registers between 0x4b0 and 0x4bb.

      Steve

      1 Reply Last reply Reply Quote 0
      • R
        RBT-RS
        last edited by

        Alright, I ran those values. There's a few zeroes in here!

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

          Ok so we have:
          GPIO2 Use select register (default 03000000):
          03000800
          0000 0011 0000 0000 0000 1000 0000 0000

          GPIO2 IN/OUT register (default 00000000):
          00000307
          0000 0000 0000 0000 0000 0011 0000 0111

          GPIO2 level register (default 00000fff):
          00000fff
          0000 0000 0000 0000 0000 1111 1111 1111

          Ok so the level register is at the default values but there is one pin that has been enabled other than the default.
          Interestingly this is where I found the LED in the X-Peak box. GPIO pins 40-43 are those capable of driving an LED directly which corresponds to the lower byte half of 0x4b9. Try

          ./writeio 0x4b9 0x07
          

          Steve

          1 Reply Last reply Reply Quote 0
          • R
            RBT-RS
            last edited by

            Alright, I tried that writeio, no changes on any of the LEDs unfortunately. Charliew mentioned that the LEDs had drivers on the daughter board, so they may not be on the dedicated LED pins, although that doesn't really make sense if there is dedicated outputs for LEDs :s
            What next?

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

              There is the possibility that a 1 at the GPIO register actually turns the LED off. So you could try the other pins that are GPIO enabled and set as output.

              ./writeio 0x4bb 0x03
              

              Steve

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

                Any chance of getting your readio program running under IPSO?  Or finding a native tool to do the same thing that might already be on the IPSO image?  Comparing the values under pfSense and IPSO may give some clues, if possible.

                1 Reply Last reply Reply Quote 0
                • R
                  RBT-RS
                  last edited by

                  Hmm. I tried that GPIO value on all of the values set to zero in the list, no changes. Something I did notice though was that the value was changing to 3, not 1 according to writeio.

                  And, apparently Stephenw said there isn't any kind of safety on the program, so, yes, in theory that might be a logical thing to do, get the ipso values and see how they're different. I'll try that in a sec.

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

                    It was compiled against FreeBSD 8.1 but still works in 8.3. However I think IPSO is based on FreeBSD 6 so who knows. The program is very simple so it may work. Which IPSO version is it?

                    Steve

                    1 Reply Last reply Reply Quote 0
                    • R
                      RBT-RS
                      last edited by

                      6.2, released late 2010 I believe. I believe 6.2 is the last version of IPSO before the networking division of Nokia was bought by Checkpoint technologies.

                      Anyway, firing up IPSO now…

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

                        @RBT-RS:

                        Something I did notice though was that the value was changing to 3, not 1 according to writeio.

                        What exactly did you mean by this?

                        Reading back through this it looks like we've tried all the pins. It's easy to overlook one though, if anyone wants to read back through the thread and check my work feel free!
                        There were several steps where we changed more than one GPIO pin in one go which could have potentially hidden the result but it seems unlikely given that there are several LEDs to be driven.

                        Hmm.  :-\

                        Steve

                        1 Reply Last reply Reply Quote 0
                        • R
                          RBT-RS
                          last edited by

                          Hm. I appear to be having troubles getting IPSO online. I'll have to try readio and writeio tomorrow, fortunately having access to an ipso image is useful and I can download readio and writeio and insert them into the install image, meaning I should have readio and writeio after installing.

                          I meant that when I set the io, it would say Setting 0x4bb to 3. which I didn't expect as I had expected it to say 1.

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

                            Hmm, we may have some confusion here. Why did you expect it to say 1? At that point I believe I'd asked you to try:
                            ./writeio 0x4bb 0x03
                            So I would expect it to say 3. It's entirely possible that I've failed to explain myself properly in which case we might have missed something.
                            Other than that it looks like it's not an ICH GPIO.

                            Steve

                            1 Reply Last reply Reply Quote 0
                            • R
                              RBT-RS
                              last edited by

                              Hmm. Well what I'm planning on doing is testing the readio on ipso, using the the values you gave me. Hopefully the differences in values might be enough so that we can trawl through the data to find the LED io :P

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

                                You could try running superiotool to see if it finds something we've not seen.

                                Steve

                                1 Reply Last reply Reply Quote 0
                                • R
                                  RBT-RS
                                  last edited by

                                  Hmm. No luck unfortunately.

                                  superiotool r
                                  No Super I/O found
                                  
                                  1 Reply Last reply Reply Quote 0
                                  • stephenw10S
                                    stephenw10 Netgate Administrator
                                    last edited by

                                    Looks like you found a way to load it.  :)
                                    In case you used something odd. pfSense does support FreeBSD packages it's just that the 8.3 packages have now been archived so you have to specify the path:

                                    pkg_add -r http://ftp-archive.freebsd.org/pub/FreeBSD-Archive/ports/i386/packages-8.3-release/Latest/superiotool.tbz
                                    

                                    Anyway no luck there. It seems they're using the Altera chip for I/O purposes and since it's a programmable device there's no easy way find out what it does.
                                    Try running superiotool with verbose output (-V). That may give us some clue.

                                    Steve

                                    1 Reply Last reply Reply Quote 0
                                    • R
                                      RBT-RS
                                      last edited by

                                      Alright, here's the output for superiotool -V

                                      superiotool r
                                      Probing for ALi Super I/O at 0x3f0...
                                        Failed. Returned data: id=0xffff, rev=0xff
                                      Probing for ALi Super I/O at 0x370...
                                        Failed. Returned data: id=0xffff, rev=0xff
                                      Probing for Fintek Super I/O at 0x2e...
                                        Failed. Returned data: vid=0xffff, id=0xffff
                                      Probing for Fintek Super I/O at 0x4e...
                                        Failed. Returned data: vid=0x0000, id=0x0000
                                      Probing for ITE Super I/O (init=standard) at 0x2e...
                                        Failed. Returned data: id=0xffff, rev=0xf
                                      Probing for ITE Super I/O (init=it8761e) at 0x2e...
                                        Failed. Returned data: id=0xffff, rev=0xf
                                      Probing for ITE Super I/O (init=it8228e) at 0x2e...
                                        Failed. Returned data: id=0xffff, rev=0xf
                                      Probing for ITE Super I/O (init=0x87,0x87) at 0x2e...
                                        Failed. Returned data: id=0xffff, rev=0xf
                                      Probing for ITE Super I/O (init=standard) at 0x4e...
                                        Failed. Returned data: id=0x0000, rev=0x0
                                      Probing for ITE Super I/O (init=it8761e) at 0x4e...
                                        Failed. Returned data: id=0x0000, rev=0x0
                                      Probing for ITE Super I/O (init=it8228e) at 0x4e...
                                        Failed. Returned data: id=0x0000, rev=0x0
                                      Probing for ITE Super I/O (init=0x87,0x87) at 0x4e...
                                        Failed. Returned data: id=0x0000, rev=0x0
                                      Probing for ITE Super I/O (init=legacy/it8661f) at 0x370...
                                        Failed. Returned data: id=0xffff, rev=0xf
                                      Probing for ITE Super I/O (init=legacy/it8671f) at 0x370...
                                        Failed. Returned data: id=0xffff, rev=0xf
                                      Probing for NSC Super I/O at 0x2e...
                                        Failed. Returned data: port=0xff, port+1=0xff
                                      Probing for NSC Super I/O at 0x4e...
                                        Failed. Returned data: port=0x00, port+1=0x00
                                      Probing for NSC Super I/O at 0x15c...
                                        Failed. Returned data: port=0xff, port+1=0xff
                                      Probing for SMSC Super I/O (idregs=0x20/0x21) at 0x2e...
                                        Failed. Returned data: id=0xff, rev=0xff
                                      Probing for SMSC Super I/O (idregs=0x0d/0x0e) at 0x2e...
                                        Failed. Returned data: id=0xff, rev=0xff
                                      Probing for SMSC Super I/O (idregs=0x20/0x21) at 0x4e...
                                        Failed. Returned data: id=0x00, rev=0x00
                                      Probing for SMSC Super I/O (idregs=0x0d/0x0e) at 0x4e...
                                        Failed. Returned data: id=0x00, rev=0x00
                                      Probing for SMSC Super I/O (idregs=0x20/0x21) at 0x162e...
                                        Failed. Returned data: id=0xff, rev=0xff
                                      Probing for SMSC Super I/O (idregs=0x0d/0x0e) at 0x162e...
                                        Failed. Returned data: id=0xff, rev=0xff
                                      Probing for SMSC Super I/O (idregs=0x20/0x21) at 0x164e...
                                        Failed. Returned data: id=0xff, rev=0xff
                                      Probing for SMSC Super I/O (idregs=0x0d/0x0e) at 0x164e...
                                        Failed. Returned data: id=0xff, rev=0xff
                                      Probing for SMSC Super I/O (idregs=0x20/0x21) at 0x3f0...
                                        Failed. Returned data: id=0xff, rev=0xff
                                      Probing for SMSC Super I/O (idregs=0x0d/0x0e) at 0x3f0...
                                        Failed. Returned data: id=0xff, rev=0xff
                                      Probing for SMSC Super I/O (idregs=0x20/0x21) at 0x370...
                                        Failed. Returned data: id=0xff, rev=0xff
                                      Probing for SMSC Super I/O (idregs=0x0d/0x0e) at 0x370...
                                        Failed. Returned data: id=0xff, rev=0xff
                                      Probing for Winbond Super I/O (init=0x88) at 0x2e...
                                        Failed. Returned data: id/oldid=0xff/0x0f, rev=0xff
                                      Probing for Winbond Super I/O (init=0x89) at 0x2e...
                                        Failed. Returned data: id/oldid=0xff/0x0f, rev=0xff
                                      Probing for Winbond Super I/O (init=0x86,0x86) at 0x2e...
                                        Failed. Returned data: id/oldid=0xff/0x0f, rev=0xff
                                      Probing for Winbond Super I/O (init=0x87,0x87) at 0x2e...
                                        Failed. Returned data: id/oldid=0xff/0x0f, rev=0xff
                                      Probing for Winbond Super I/O (init=0x88) at 0x4e...
                                        Failed. Returned data: id/oldid=0x00/0x00, rev=0x00
                                      Probing for Winbond Super I/O (init=0x89) at 0x4e...
                                        Failed. Returned data: id/oldid=0x00/0x00, rev=0x00
                                      Probing for Winbond Super I/O (init=0x86,0x86) at 0x4e...
                                        Failed. Returned data: id/oldid=0x00/0x00, rev=0x00
                                      Probing for Winbond Super I/O (init=0x87,0x87) at 0x4e...
                                        Failed. Returned data: id/oldid=0x00/0x00, rev=0x00
                                      Probing for Winbond Super I/O (init=0x88) at 0x3f0...
                                        Failed. Returned data: id/oldid=0xff/0x0f, rev=0xff
                                      Probing for Winbond Super I/O (init=0x89) at 0x3f0...
                                        Failed. Returned data: id/oldid=0xff/0x0f, rev=0xff
                                      Probing for Winbond Super I/O (init=0x86,0x86) at 0x3f0...
                                        Failed. Returned data: id/oldid=0xff/0x0f, rev=0xff
                                      Probing for Winbond Super I/O (init=0x87,0x87) at 0x3f0...
                                        Failed. Returned data: id/oldid=0xff/0x0f, rev=0xff
                                      Probing for Winbond Super I/O (init=0x88) at 0x370...
                                        Failed. Returned data: id/oldid=0xff/0x0f, rev=0xff
                                      Probing for Winbond Super I/O (init=0x89) at 0x370...
                                        Failed. Returned data: id/oldid=0xff/0x0f, rev=0xff
                                      Probing for Winbond Super I/O (init=0x86,0x86) at 0x370...
                                        Failed. Returned data: id/oldid=0xff/0x0f, rev=0xff
                                      Probing for Winbond Super I/O (init=0x87,0x87) at 0x370...
                                        Failed. Returned data: id/oldid=0xff/0x0f, rev=0xff
                                      Probing for Winbond Super I/O (init=0x88) at 0x250...
                                        Failed. Returned data: id/oldid=0xff/0x0f, rev=0xff
                                      Probing for Winbond Super I/O (init=0x89) at 0x250...
                                        Failed. Returned data: id/oldid=0xff/0x0f, rev=0xff
                                      Probing for Winbond Super I/O (init=0x86,0x86) at 0x250...
                                        Failed. Returned data: id/oldid=0xff/0x0f, rev=0xff
                                      Probing for Winbond Super I/O (init=0x87,0x87) at 0x250...
                                        Failed. Returned data: id/oldid=0xff/0x0f, rev=0xff
                                      No Super I/O found
                                      
                                      1 Reply Last reply Reply Quote 0
                                      • stephenw10S
                                        stephenw10 Netgate Administrator
                                        last edited by

                                        No help there. One thing you could do is see if you can trace the connections from the ribbon cable. If they definitely connecting to the ICH we can see what pins are used and hence what GPIOs. It's possible that whatever is happening in IPSO it might be reconfiguring the ICH to enable more GPIOs. I thought that was only possible at boot though.

                                        Steve

                                        1 Reply Last reply Reply Quote 0
                                        • R
                                          RBT-RS
                                          last edited by

                                          Hmm. I think the tracks must be sandwiched in the motherboard, I can't see any tracks on either side..

                                          Anyway, following Charliew's suggestion, I downloaded readio onto ipso.. but..

                                          How could I get readio working?

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

                                            Yes, I was forgetting it's a BGA package and looking at the sheet most of the GPIO pins are on the inside anyway so it's unlikely you'd be able to see the tracks.

                                            You could compile it against FreeBSD 6 (or whatever specific FreeBSD version that is built on). What is the result of:

                                            uname -a
                                            

                                            You could see what libc version you do have and symlink it to so.7. That can work but is bad practise.

                                            Steve

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