当我插入并拔下插头时,系统会看到插入的东西:
bluehat@Matapan:/dev$ tail -f /var/log/syslog Mar 23 15:36:35 Matapan kernel: [156082.112874] usb 7-1: new full speed USB device using uhci_hcd and address 6 Mar 23 15:47:19 Matapan kernel: [156726.248081] usb 7-1: USB disconnect, address 6 Mar 23 15:47:29 Matapan kernel: [156736.200148] usb 6-1: new full speed USB device using uhci_hcd and address 3
AVRISP MKII应该依靠cdc-acm:
bluehat@Matapan:/dev$ modinfo cdc-acm -V module-init-tools version 3.12
所以它应该能够看到它很好,但我无法写信给它。
avrdude -p m1280 -c avrispmkII -P usb -U test.hex
返回
avrdude: usb_open(): cannot read serial number "error sending control message: Operation not permitted" avrdude: usb_open(): cannot read product name "error sending control message: Operation not permitted" avrdude: usbdev_open(): error setting configuration 1: could not set config 1: Operation not permitted avrdude: usbdev_open(): did not find any USB device "usb"
事实证明,Ubuntu会承认这个对象在那里,但是在你修正你的一些udev规则之前,不能很好地使用它。 感谢http://steve.kargs.net/bacnet/avr-isp-mkii-on-ubuntu-hardy/提供的文件只需要一点更新。
创建新文件/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"
现在创建一个到文件的虚拟链接并给它一个规则优先级
cd /etc/udev/rules.d sudo ln ../avrisp.rules 60-avrisp.rules
检查你是否在拨出组
groups
重新启动udev
sudo service udev restart
万岁!
对于Ubuntu 12.04,对Katy发布的配置进行了一些小修改:
所有出现的SYSFS都应该用ATTR代替
此外,如果您仍然遇到问题,请确保已安装所有所需的相关库。 我发现我也必须安装uisp软件包。
如果重新启动udev没有什么区别,拔掉编程器并插回去。
更新后的规则适用于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"
基于以前的帖子关于变化。
似乎他们在12.10再次改变了它
子系统现在是“usb”
我找到了一个显示你需要的命令。 为此,您只需要知道插入设备的总线和设备号(使用lsusb)
Bus 003 Device 010:ID 03eb:lsusb
所以我的公交车号码是003和设备是010(编辑结束/ 003/010您的需要)
udevadm info –attribute-walk –name = bus / usb / 003/010
显示了许多其他的事情
SUBSYSTEM == “USB”
ATTR {idVendor} == “03EB”
ATTR {} idProduct == “2104”
替换/更改上面创建的规则,一切都应该工作
如果还有其他的问题,命令会显示给你,它检查规则(发现这样的错字:))如果没有错误,它不会显示任何东西(一段时间没有意识到)
我使用下面的udev规则文件来使它在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"
正如你所看到的,一些小的事情与上面提出的不同。 另外我不得不重新启动计算机。 使用“udevadm control –reload”是不够的。