===== USB communications setup =====
**newRPL** devices can communicate with **newRPL Desktop** by connecting the calculator to the host with a USB cable. There's some additional steps needed on various operating systems in order to communicate with the calculator:
**Windows**
No additional steps needed, just plug it.
**Linux**
The current user (the user **newRPL Desktop** is running as) needs to have read/write permissions to USB devices.
- Create a new group ''usbdevices'', then add the current user to that group;
- create a file (as root) ''/etc/udev/rules.d/50-HIDDevices.rules'', containing the following lines
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", MODE="0664", GROUP="usbdevices"
SUBSYSTEM=="usb", ATTR{bInterfaceClass}=="03", MODE="0664", GROUP="usbdevices"
This will indicate the system to assign the group ''usbdevices'' to all new HID devices, and permits read/write to members of that group;
- finally, restart the system for the new permissions to take effect.
**freeBSD**
The current user (the user **newRPL Desktop** is running as) needs to have read/write permissions to USB devices.
- Create a new group ''usbdevices'', then add the current user to that group;
- create a file (as root) ''/etc/devfs.rules'', containing the following lines
[localrules=5]
add path 'ugen*' mode 0660 group usbdevices
add path 'usb/*' mode 0660 group usbdevices
add path 'uhid*' mode 0660 group usbdevices
- edit the file (as root) ''/etc/rc.conf'' and add this line at the end
devfs_system_ruleset="localrules"
- finally, restart the system for the new permissions to take effect.