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

Reply via email to