当我插上插头时,系统会看到插入的东西:
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"
答案 0 :(得分:30)
事实证明,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
万岁!
答案 1 :(得分:11)
对于Ubuntu 12.04,必须对Katy发布的配置进行微小的更改:
所有出现的 SYSFS 应替换为 ATTR
此外,如果您仍然遇到问题,请确保已安装所有必需的依赖库。我发现我还必须安装 uisp 包。
如果重新启动udev没有任何区别,请拔掉程序员并将其重新插入。
答案 2 :(得分:7)
更新了适用于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"
根据之前有关更改的帖子。
答案 3 :(得分:2)
似乎他们在12.10再次改变了它
子系统现在是“usb”
我找到了一个显示你需要的命令。 为此,您只需要知道插入设备的总线和设备编号 (使用lsusb)
Bus 003 Device 010:ID 03eb: 的lsusb
所以我的isp总线号是003,Device是010 (根据您的需要编辑结束/ 003/010)
udevadm info --attribute-walk --name = bus / usb / 003/010
显示了许多其他事情
SUBSYSTEM == “USB”
ATTR {idVendor} == “03EB”
ATTR {idProduct} == “2104”
替换/更改上面创建的规则,一切都应该正常工作
如果命令会向您显示其他问题,它会检查规则(发现错误的方式:)) 如果没有错误,它将不会显示任何内容(一段时间没有意识到)
答案 4 :(得分:0)
我使用了以下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控制--reload"还不够。