AVRISP MKII doesn't work with AVRDUDE on Linux

前端 未结 5 1015
暖寄归人
暖寄归人 2020-12-13 10:22

The system sees something is plugged in when I plug and unplug it:

bluehat@Matapan:/dev$ tail -f /var/log/syslog
Mar 23 15:36:35 Matapan kernel: [156082.1128         


        
相关标签:
5条回答
  • 2020-12-13 10:27

    Updated rule that works for 13.10:

    SUBSYSTEM!="usb", ACTION!="add", GOTO="avrisp_end"
    
    # Atmel Corp. JTAG ICE mkII
    ATTR{idVendor}=="03eb", ATTR{idProduct}=="2103", MODE="660", GROUP="dialout"
    # Atmel Corp. AVRISP mkII
    ATTR{idVendor}=="03eb", ATTR{idProduct}=="2104", MODE="660", GROUP="dialout"
    # Atmel Corp. Dragon
    ATTR{idVendor}=="03eb", ATTR{idProduct}=="2107", MODE="660", GROUP="dialout"
    
    LABEL="avrisp_end"
    

    Based on previous posts about changes.

    0 讨论(0)
  • 2020-12-13 10:35

    I used the following udev rules file to get it working on Fedora 19:

    SUBSYSTEM!="usb", ACTION!="add", GOTO="avrisp_end"
    
    # Atmel Corp. JTAG ICE mkII
    ATTR{idVendor}=="03eb", ATTR{idProduct}=="2103", MODE="660", GROUP="dialout"
    # Atmel Corp. AVRISP mkII
    ATTR{idVendor}=="03eb", ATTR{idProduct}=="2104", MODE="660", GROUP="dialout"
    # Atmel Corp. Dragon
    ATTR{idVendor}=="03eb", ATTR{idProduct}=="2107", MODE="660", GROUP="dialout"
    
    LABEL="avrisp_end"
    

    As you can see, some minor things are different from what is suggested above. Also I had to restart the computer. Using "udevadm control --reload" was not enough.

    0 讨论(0)
  • 2020-12-13 10:37

    Seems they changed it again in 12.10
    The Subsystem is now "usb"

    I found a command which shows what you need. For that you just need to know the Bus and Device number from the plugged device (use lsusb)

    Bus 003 Device 010: ID 03eb: lsusb

    So my Bus number from the isp is 003 and Device is 010 (edit the end /003/010 to your needs)

    udevadm info --attribute-walk --name=bus/usb/003/010


    shows among many other things

    SUBSYSTEM=="usb"

    ATTR{idVendor}=="03eb"

    ATTR{idProduct}=="2104"

    Replace/change the created rule above and everything should work

    If there are other Problems the Command will show them to you, it checks the rules (found a typo that way :)) If there is no error it won't show anything (Didn't realise for some time)

    0 讨论(0)
  • 2020-12-13 10:46

    It turns out that Ubuntu will acknowledge that the object is there but not play nicely with it until you fix up some of your udev rules. Thanks to http://steve.kargs.net/bacnet/avr-isp-mkii-on-ubuntu-hardy/ which provided files that only needed a little updating.

    Create new file /etc/udev/avrisp.rules

    SUBSYSTEM!="usb", ACTION!="add", GOTO="avrisp_end"
    
    # Atmel Corp. JTAG ICE mkII
    ATTR{idVendor}=="03eb", ATTR{idProduct}=="2103", MODE="660", GROUP="dialout"
    # Atmel Corp. AVRISP mkII
    ATTR{idVendor}=="03eb", ATTR{idProduct}=="2104", MODE="660", GROUP="dialout"
    # Atmel Corp. Dragon
    ATTR{idVendor}=="03eb", ATTR{idProduct}=="2107", MODE="660", GROUP="dialout"
    
    LABEL="avrisp_end"
    

    Now create a virtual link to the file and give it a rule priority

    cd /etc/udev/rules.d
    sudo ln ../avrisp.rules 60-avrisp.rules
    

    Check you're in the dialout group

    groups
    

    Restart udev

    sudo service udev restart
    

    Hooray!

    0 讨论(0)
  • 2020-12-13 10:46

    For Ubuntu 12.04, there's a minor change that must be carried out to the configuration that Katy posted:

    All occurrences of SYSFS should be replaced with ATTR

    Additionally, if you're still having problems, make sure you have installed all the required dependent libraries. I found that I had to install the uisp package as well.

    If restarting udev doesn't make a difference, unplugging the programmer and plugging it in back in does.

    0 讨论(0)
提交回复
热议问题