Pfsense Install on Nokia IP390
-
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
-
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.
-
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
-
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
-
You could try running superiotool to see if it finds something we've not seen.
Steve
-
Hmm. No luck unfortunately.
superiotool r No Super I/O found
-
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
-
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
-
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
-
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?
-
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
-
Here's the output for uname -a
I believe IPSO runs on FreeBSD version 6.x? -
Ok, here's readio compiled on FreeBSD 6.2. Just remove the .png extension I had to pout that on because you're only allowed a few file types as attachments. Give that a try. As far as I can find IPSO 6.2 is built on FreeBSD 6.2 but it's hard to get any sort of definitive answer.
The MD5 should be 7deed0428bb423bbf803fb41b7d88d0aSteve
-
Could be 6.2 or 6.1, based on the version file I posted earlier (https://forum.pfsense.org/index.php?topic=81292.msg446131#msg446131). This executable is dynamically linked, so if that doesn't work, you could statically link it. Personally, I would have broken out the black tape long ago :)
-
Alright, I ran readio on IPSO - here's the results:
A lot of ff going on here.
-
Hmm well that's no help at all. In fact it's suspicious that you're seeing only 'ff'. Perhaps the GPIO base isn't the same in IPSO. Try reading it from the pci config like we did earlier in pfSense.
Steve
-
Here's the result from the pciconf
pciconf -l | grep isa isab0@pci0:31:0: class=0x060100 card=0x00000000 chip=0x25a18086 rev=0x02 hdr=0x00
Seems to be identical. In the readio, I did enter a random value to confirm that readio is working, and it did return a different value, maybe all those values are actually ff?
-
We need to read the pci config from the lpc device to see if the gpio base has been changed.
pciconf -r pci0:0:31:0: 0x58
Steve
-
Here's the output:
saberhagen[admin]# pciconf -r pci0:31:0: 0x58 00000c81
-
Aha! A different gpio base. Which is interesting in itself, I thought that had to be setup by the bios.
Ok then please read the values:
0xc80 to 0xc87
0xc8c to 0xc8f
0xcb0 to 0xcbbThat should do it. :)
Steve