Lego Mindstorms NXT comes with software that only runs on Windows. Since I use Linux this is of no use to me. After some trying and surfing I managed to get it working on Ubuntu 12.04. The information on the internet was not 100% accurate. This is why I will put my configuration here. Run these commands as root or with sudo.
addgroup legonxt adduser <your-user> legonxt
Now create 2 files. /etc/udev/rules.d/45-legonxt.rules and /etc/udev/legonxt.sh.
SUBSYSTEM=="usb", ATTR{idVendor}=="0694", ATTR{idProduct}=="0002", GROUP="legonxt", MODE="0660", SYMLINK+="legonxt-%k", ACTION=="add",
RUN+="/etc/udev/legonxt.sh"
Put this in one line. I cut it in 2 so it fits the pagewidth.
This file is executed after the Lego Mindstorms NXT is connected.
#!/bin/bash
#
GROUP=legonxt
if [ "${ACTION}" = "add" ] && [ -f "${DEVICE}" ]
then
chmod o-rwx "${DEVICE}"
chgrp "${GROUP}" "${DEVICE}"
chmod g+rw "${DEVICE}"
fi
Now all you need to do is install the apropriate software to communicate with you NXT. I installed nbc and the 32-bit libusb library.
I re-installed my PC with Linux Mint. When I do all the above everything seems to work. The script /etc/udev/rules.d/45-legonxt.rules is called but the ${DEVICE} is not set. So I need to do the commands by hand. I hope that I will be able to solve this in the near future.