OpenVPN 2.1.4 on the Nortel IP 1535 - HOWTO
Instructions for setting up OpenVPN-2.1.4 on the Nortel IP 1535 Videophone:
1) Grab the tarball at http://dave.tycho.ws/n1535/ovpn.tar.bz2
2) Extract this into two files - the tun module (tun.o) and the openvpn binary (openvpn).
3) Put tun.o in /usr/local/drivers and openvpn in /usr/local/bin. You also need to make the openvpn binary executable:
4) Execute the following commands to make the tun device:
5) Make a directory /usr/etc/openvpn and put your config file and keys into this directory.
6) I like to make a soft link for the config to the standard location:
7) Start OpenVPN:
That's all there is to it. You will have to repeat all the steps above except number 5 each time the phone reboots. My recommendation is to put all of those in a shell script that is called by /usr/etc/rc.local. Be careful - if you screw up /usr/etc/rc.local, you can render your phone inoperable. I would definitely add the daemon switch to your config file, so the openvpn process forks to the background and doesn't halt the execution of your /usr/etc/rc.local script. Alternatively, you can call openvpn with the --daemon command-line switch to put it into daemon mode:
For those who are interested in how to configure OpenVPN, I've written some notes about my configuration, together with a set of config files. You can find this material here.
The OpenVPN binary linked above is compiled using the -mcpu=xscale switch and arm-xscale-linux-gnu target in my toolchain. Instructions for building that toolchain can be found here. The crosstool configuration files have been updated since I originally posted the toolchain tutorial, so if you downloaded the configs previously, be sure to grab an updated copy. The binary will also work if you use the -mcpu=iwmmxt switch and arm-iwmmxt-linux-gnu target (edit the crosstool arm.dat config file to change these). For this latter case, the instruction set generated by the cross-compiler is a bit more PXA270-specific and may make a slightly more efficient binary. Try them both and see. I'd be interested in hearing your results.
Dave
Instructions for setting up OpenVPN-2.1.4 on the Nortel IP 1535 Videophone:
1) Grab the tarball at http://dave.tycho.ws/n1535/ovpn.tar.bz2
2) Extract this into two files - the tun module (tun.o) and the openvpn binary (openvpn).
3) Put tun.o in /usr/local/drivers and openvpn in /usr/local/bin. You also need to make the openvpn binary executable:
Code:
chmod +x /usr/local/bin/openvpn
Code:
insmod /usr/local/drivers/tun.o
mkdir /dev/net
mknod /dev/net/tun c 10 200
6) I like to make a soft link for the config to the standard location:
Code:
ln -s /usr/etc/openvpn /etc/openvpn
Code:
/usr/local/bin/openvpn --config /etc/openvpn/client.conf (or whatever your config file is named)
Code:
/usr/local/bin/openvpn --daemon --config /etc/openvpn/client.conf
The OpenVPN binary linked above is compiled using the -mcpu=xscale switch and arm-xscale-linux-gnu target in my toolchain. Instructions for building that toolchain can be found here. The crosstool configuration files have been updated since I originally posted the toolchain tutorial, so if you downloaded the configs previously, be sure to grab an updated copy. The binary will also work if you use the -mcpu=iwmmxt switch and arm-iwmmxt-linux-gnu target (edit the crosstool arm.dat config file to change these). For this latter case, the instruction set generated by the cross-compiler is a bit more PXA270-specific and may make a slightly more efficient binary. Try them both and see. I'd be interested in hearing your results.
Dave


... done some programming in the windows environment.... so I am not yet comfortable trying this.