Project WHITE BOX' aim is to allow electronic and cryptographically sane access control to shackspace without the requirement to hand out physical keys.
The lock is based on a ELV KeyMatic which is interfaced by a Arduino which in turn is connected to a Fonera WIFI AP via RS232. Users will be provided with an individual cryptographic key which can be used to unlock or lock the door.
version 1.1 documentation
If you're a member and have been around for a while, you can drop a mail to key@lists.shackspace.de and apply for a key.
We've documented the key request process (German) in the wiki as well.
Got your key and need help logging into portal? Here's a couple of tutorials for various platforms:
To burn the appropiate fuses, use the following command:
sudo avrdude -p atmega8 -c avrispmkII -P usb -B8 -U lfuse:w:0x9f:m -U hfuse:w:0xc0:m
For the Arduino ATMEGA8-16PU use:
sudo avrdude -p atmega8 -c avrispmkII -P usb -B8 -U lfuse:w:0xdf:m -U hfuse:w:0xca:m sudo avrdude -p atmega8 -c avrispmkII -P usb -B8 -U unlock:w:0x0F:m sudo avrdude -p atmega8 -c avrispmkII -P usb -B8 -U flash:w:ATmegaBOOT.hex arduino-0018/hardware/arduino/bootloaders/atmega8
The wireless frontend is handled using a slightly hacked series-1 LaFonera access point.
A general description including a pinout diagram of the 10-pin header on the Fonera is quite useful to wire it to the Atmega8.
We've added a SD-card using the Foneras GPIO port and a couple of kernel modules.
Software was prototyped using the Arduino platform. A custom configuration was generated to account for the 12MHz XTAL (otherwise RS232 communications would break).
You can get the code from the shackspaceportal project on Google Code.
The access point is running dd-wrt. All data not part of dd-wrt is stored on the SD-Card. A custom init script, also stored on the SD-Card, copies the user database to the appropriate locations inside the live system after boot (ie. /etc/passwd).
User data is held in a SQLite3 database and a couple of shell scripts are used to generate, add, manage, and rollout keys to the portal system itself.