Added changes from upstream; updated udev rules