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.
    • 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
                                          • R
                                            RBT-RS
                                            last edited by

                                            Here's the output for uname -a

                                            I believe IPSO runs on FreeBSD version 6.x?

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