Pfsense Install on Nokia IP390
-
Try reading back the register you set to make sure it's actually setting correctly.
If you tried 1f-9f then that will have tried all 3 bits on that register. There are two bits on the lower half of the byte. You can try both at once by doing:
./writeio 0x48e 0x33
If that does nothing then we can look at the bits in 0x48f.
Steve
-
Alright, I did a readio to confirm values are being written – Everything appears to have set correctly.
I also tried setting 0x48e to 0x33 , no change unfortunately.
So, on to 0x48f I guess! :P
-
Indeed. Set 0x48e back to 3f.
0x48f has 3 bit's we're interested in all in the lower half. So try setting it to:
0x13
0x19
0x1aSteve
-
Alright, I've tried those values on 0x48f, none of them appeared to change any of the LEDs.
What next?
-
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
-
Alright, I ran those values. There's a few zeroes in here!
-
Ok so we have:
GPIO2 Use select register (default 03000000):
03000800
0000 0011 0000 0000 0000 1000 0000 0000GPIO2 IN/OUT register (default 00000000):
00000307
0000 0000 0000 0000 0000 0011 0000 0111GPIO2 level register (default 00000fff):
00000fff
0000 0000 0000 0000 0000 1111 1111 1111Ok 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
-
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? -
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
-
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.
-
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.
-
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
-
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…
-
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