=============================================================== dev2 - Multi-purpose development board using USB and Ethernet =============================================================== USB connection ============== As there is no driver for the dev2 board in the kernel and there is not enough USB end points in the AT90USB162 to implement a ACM class device with two serial ports, you should load the generic serial driver: modprobe usbserial vendor=0x1d50 product=0x6052 Then look at kernel messages to locate the new serial devices (/dev/ttyUSBx). If two functions are presents in the same firmware, two serial devices should be detected. To let udev do this automatically for you, you can add this to the file `/etc/udev/rules.d/70-apbteam.rules`: SUBSYSTEM=="usb", ACTION=="add", ATTR{idVendor}=="1d50", ATTR{idProduct}=="6052", \ ATTR{manufacturer}=="APBTeam", MODE="0660", GROUP="plugdev", \ RUN+="/sbin/modprobe usbserial vendor=0x1d50 product=0x6052" This will also automatically authorize the `plugdev` group to use the device without root access. Controlling the output ====================== The board can be controlled using the dev2ctl.py program which uses libusb. Use it to select an output. You can also use it to deselect an output so that no current flows into it. It can also be used to control GPIO when available in the loaded firmware. To select an output: dev2ctl.py -s *1 to 4* To make all output unconnected: dev2ctl.py -u Before powering off connected boards, you should deselect outputs so that it is not powered by dev2 I/O pins. About the vendor and product ID =============================== They come from LUFA, the USB library we use for dev2. This is not supposed to be done in a commercial USB product, but this is OK for hobbyists. That's why dev2ctl parses the product name to make sure it talks to the right device. Changing firmware ================= The dev2 firmware can be updated using the USB bootloader. First of all, switch the board in DFU mode: dev2ctl.py --dfu Then you can use a DFU programmer to update the firmware. For example: dfu-programmer at90usb162 erase dfu-programmer at90usb162 flash dev2_gpio.hex Then the uploaded firmware can be started and used directly: dfu-programmer at90usb162 start