Pfsense Install on Nokia IP390
-
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
-
Alright, here's the readout:
-
Ok, that looks more like it. So lets look at what we have.
GPIO1 Select register
1bbc3180, same as it read under pfSense.
0001 1011 1011 1100 0011 0001 1000 0000GPIO1 in/out register
1000ffff, same as pfSense.
0001 0000 0000 0000 1111 1111 1111 1111GPIO1 output levels
1337??00 (You missed 0xc8d but that doesn't matter as those are inputs anyway ;)). In pfSense these were 1b3f so that's an interesting change.
0001 0011 0011 0111
vs
0001 1011 0011 1111Two bits that were 1 under pfSense are set as 0 in IPSO. If those do anything they should have shown up under our testing but we may have changed only one bit at at time which didn't show it for example.
GPIO2 Select register
03000e02, under pfSense it read 03000800
0000 0011 0000 0000 0000 1110 0000 0010
vs
0000 0011 0000 0000 0000 1000 0000 0000
Three pins are additionally set as GPIO in IPSO and, perhaps importantly, two of them are in the special LED output register.GPIO2 IN/OUT register
00000707, under pfSense it was 00000307
0000 0000 0000 0000 0000 0111 0000 0111
vs
0000 0000 0000 0000 0000 0011 0000 0111
Hmm the pins we were interested in here are set as input so not likely.GPIO2 level register
00000fff, same as under pfSense
0000 0000 0000 0000 0000 1111 1111 1111Ok, so it looks like there's only one possibility here and that's the changing of output levels on both GPIO1 pins. The additional GPIOs on GPIO2 are all set as input so can't be driving the leds.
Try these two settings under pfSense:
./writeio 0x48e 0x37 ./writeio 0x48f 0x13
If that still does nothing we could try changing the state of the LED under IPSO using ipsctl or ledtool abd then re-reading the values to see if anything has changed.
Steve
-
No luck unfortunately.
On a side note, the box which I run pfsense has a lot of ethernet ports, but only 2 of them work:
Eth4, on the far right of the unit, is the WAN port - em9 to pfsense.
In slot 1, the ethernet port on the left is the LAN port - em0 to pfsense.
How can I get the ports em1 to em8 working as LAN ports? Currently they don't do anything.. I've tried looking up tutorials but all of them are 6 years old and the options aren't even in pfsense any more.I want all the ports to be on the 192.168.1.0/24 subnet – with pfsense using 192.168.1.1 as the management ip.