---
name: uarduno
version: 1.02
origin: comms/uarduno
comment: FreeBSD Kernel Driver for the Arduino Uno USB interface
arch: freebsd:9:x86:64
www: http://www.mrp3.com/uarduno.html
maintainer: bobf@mrp3.com
prefix: /boot/kernel
licenselogic: single
licenses: [BSD]
flatsize: 13736
desc: |
  The Arduino Uno (http://arduino.cc/) is an open source hardware micro-
  controller designed primarily for prototyping and experimentation.
  Although the devel/arduino port already exists for programming the device,
  it will not work properly with the newest Arduino hardware.  Previous
  versions of the Arduino used an FTDI USB to Serial interface.  The newest
  Arduino (beginning with the Uno) uses an on-board ATMel 8U2 controller
  to emulate a USB to Serial interface with its own custom Vendor ID and
  Hardware ID.  As a result, NONE of the existing FreeBSD USB to serial
  drivers can work with it.  This kernel driver supplies the necessary
  kernel support for the Arduino Uno on FreeBSD.

  Additionally, some 'ACM' USB Serial devices may work with this driver by
  manually adding their Vendor ID and Product ID combination to files/ids.txt

  Official web site
  WWW:  http://www.mrp3.com/uarduno.html
categories: [kld, comms]
files:
  /boot/kernel/uarduno.ko: 4fb0533ee8e23b9d6e23ecd2f545ad2ec6a35077b4c460aa74457c15ee456a2c
directories:
  /boot/kernel/: y
scripts:
  post-deinstall: |
    kldxref /boot/kernel
message: |
  The Arduino Uno uses a specific vendor ID of 0x2341 and product ID of 0x0001

  If you modify your Arduino Uno to use a DIFFERENT vendor ID or product ID, you
  can add your vendor/product combination to the files/ids.txt text file
  according to the example shown.  Additionally, this driver MAY work with
  generic ACM USB Serial Devices.  You would need to manually add the
  vendor ID and product ID for these devices as well.  For ACM devices that
  are modems, consider using or modifyig the 'umodem' driver.

  You will need to load the uarduno kernel module before connecting the Arduino UNO
  via USB to your computer.  The command to manually load the driver is:

    kldload uarduno.ko

  To automatically load the driver on startup, add the following line to
  your /boot/loader.conf file:

    uarduno_load="YES"
