Attiny167 new low speed usb device using xhci_hcd linux mint

A very specific and interesting question!

To get a new low-speed USB device (like the ATtiny167) working as a USB device using XHCI (eXtensible Host Controller Interface) on Linux Mint, you'll need to follow these steps:

Hardware Preparation

  1. Connect the ATtiny167 to your Linux Mint machine using a USB cable.
  2. Make sure the ATtiny167 is programmed with a USB device firmware that supports low-speed USB devices. You can use a library like LUFA (Lightweight USB Framework for AVRs) or write your own firmware.
  3. Verify that the ATtiny167 is recognized as a USB device by your Linux Mint machine. You can do this by running lsusb in the terminal. The output should show the device's vendor ID, product ID, and device class.

Software Preparation

  1. Install the necessary packages on your Linux Mint machine:
    • usbutils (for lsusb and other USB-related tools)
    • xhci-hcd (the XHCI driver)
    • usb-dev (for device-specific configuration)
  2. Load the XHCI driver:
    • Run sudo modprobe xhci-hcd to load the driver.
    • Verify that the driver is loaded by running lsmod | grep xhci.

Device Configuration

  1. Create a new file in the /etc/usb/devices directory (e.g., attiny167.conf) with the following contents:

    # ATtiny167 low-speed USB device
    T:  Bus=01 Lev=01 Prnt=01 Port=00 Cnt=02
    D:  Ver= 2.00 Cls=00(>if0 <if1) SubClass=00 Protocol=00
    I:  If#= 0 Alt=00 #0:  IntEndpoint: Bulk IN #1:  IntEndpoint: Bulk OUT

    This file defines the device's configuration, including its bus, level, and port numbers, as well as its interface and endpoint settings.

  2. Reload the USB device configuration:

    • Run sudo usb-dev reload to reload the device configuration.

Testing

  1. Plug in the ATtiny167 device and verify that it's recognized by your Linux Mint machine:
    • Run lsusb again to confirm that the device is listed.
  2. Test the device's functionality by running a USB device test tool, such as usb-dev or usb-test.
  3. If everything works as expected, you should be able to communicate with the ATtiny167 device using the USB interface.

Additional Tips

I hope this helps you get your ATtiny167 low-speed USB device working with XHCI on Linux Mint!