Well I got it sorted out and here are the best summery I can come up with.

The Soekris Net4801 has it's JP5 20 pin connector on /dev/gpio1
The command to configure a pin to go high or low is

/usr/sbin/gpioctl -d /dev/gpio1 -c 16 set out pp jp5pin12
Would configure Pin 3 in the JP5 document.

This worked for me on an older OpenBSD.
I believe a newer version would require that line in the /etc/rc.securelevel.

I found that it made no difference I could enter interactively to configure 
pins.
Thanks,

Ben




On Mar 15, 2012, at 2:06 PM, Ben Greenfield wrote:

> Hey All,
> 
> I have a net4801running what I think is a highly modified OpenBSD 3.6. I'm 
> trying to use the gpioctl and although it appears to work on the command line 
> I can see no evidence of it working with my multi-meter.
> 
> I have done a lot of looking at this topic on the internet and I found 
> various discussions on using gpioctl and some recommendations about 
> configuring the pins prior to  entering the secure level 1.
> My systems happens to have an /etc/rc.securelevel mine looks like this.
> 
> 
> # cat /etc/rc.securelevel                                                     
>  
> #       $FabBSD$
> #       $OpenBSD: rc.securelevel,v 1.16 2004/07/06 04:05:03 deraadt Exp $
> #
> # site-specific startup actions, daemons, and other things which
> # can be done BEFORE your system goes into securemode.  For actions
> # which should be done AFTER your system has gone into securemode
> # please see /etc/rc.local
> 
> # This is the desired security level
> securelevel=1
> 
> echo -n 'starting pre-securelevel daemons:'
> 
> #
> # Place local actions here.
> #
> /usr/sbin/gpioctl -c 01 out;
> /usr/sbin/gpioctl -c 03 out;
> 
> 
> echo '.'
> 
> 
> The boot process produces this output which makes me think it is working:
> 
> starting pre-securelevel daemons:pin 1: caps: in out, flags: -> out
> pin 3: caps: in out, flags: -> out
> .
> setting kernel security level: kern.securelevel: 0 -> 1
> 
> 
> Finally I think it is not working because I expect this command:
> 
> # gpioctl -d /dev/gpio0 1 0
> 
> to make either pin 1 or pin4 of JP5 low or zero voltage. 
> 
> I also expect it to hold that value until I change it with another command.
> 
> here is a transcript of me interrogating JP5 pins.
> 
> # gpioctl -d /dev/gpio0 1   
> pin 1: state 1
> # gpioctl -d /dev/gpio0 1 0
> pin 1: state 0 -> 0
> # gpioctl -d /dev/gpio0 1   
> pin 1: state 1
> # gpioctl -d /dev/gpio0 3 
> pin 3: state 1
> # gpioctl -d /dev/gpio0 3 0
> pin 3: state 0 -> 0
> # gpioctl -d /dev/gpio0 3   
> pin 3: state 1
> 
> Interactively I can manually create the ports which also doesn't work.
> Here is a transcript:
> 
> # gpioctl -d /dev/gpio0 -c 01 out
> pin 1: caps: in out, flags: out -> out
> # gpioctl -d /dev/gpio0 1         
> pin 1: state 1
> # gpioctl -d /dev/gpio0 1 0       
> pin 1: state 0 -> 0
> # gpioctl -d /dev/gpio0 1   
> pin 1: state 1
> 
> Finally the verison of gpioctl doesn't support pp in fact it only seems to 
> support in and out as flags.
> # gpioctl -d /dev/gpio0 -c 01 pp  
> gpioctl: GPIOPINCTL: Operation not supported by device
> 
> 
> I know I'm not helping myself by using some strange BSD variant but I have 
> heard it works. I would like any guidance on how to further investigate the 
> issue. My next step will probably be to go to netbsd and see if I can get the 
> custom software I need off the old machine.
> 
> Any ideas welcome.
> 
> Ben
> 
> 
> _______________________________________________
> Soekris-tech mailing list
> [email protected]
> http://lists.soekris.com/mailman/listinfo/soekris-tech

_______________________________________________
Soekris-tech mailing list
[email protected]
http://lists.soekris.com/mailman/listinfo/soekris-tech

Reply via email to