การแก้ไขสิทธิการเข้าถึงพอร์ท USB ของบอร์ด MCU

จาก Theory Wiki
รุ่นแก้ไขเมื่อ 04:17, 3 พฤษภาคม 2555 โดย Chaiporn (คุย | มีส่วนร่วม) (ย้อนการแก้ไขรุ่น 12628 โดย 27.101.112.11 (พูดคุย))
ไปยังการนำทาง ไปยังการค้นหา

หากพบปัญหาว่าการติดต่อกับบอร์ด MCU ผ่านพอร์ท USB ต้องเรียกผ่านคำสั่ง sudo เท่านั้น (อาทิเช่นการใช้คำสั่ง avrdude หรือการส่งคำร้องขอไปยังบอร์ดด้วยไพธอน) ให้ดำเนินการตามขั้นตอนต่อไปนี้เพื่อเพิ่มสิทธิให้กับบัญชีผู้ใช้ของเราในการเข้าถึงบอร์ด MCU อย่างเต็มรูปแบบ

  • สร้างไฟล์ชื่อ 45-objdev.rules ไว้ในไดเรคตอรี /etc/udev/rules.d/ โดยมีข้อมูลดังนี้
# ObjDev-based USB devices
SUBSYSTEM=="usb", SYSFS{idVendor}=="16c0", SYSFS{idProduct}=="05dc", OWNER="root", GROUP="plugdev", MODE="0664"
ข้อมูลข้างต้นเป็นการระบุว่าหากพบอุปกรณ์ USB ที่มี VID:PID เป็น 16c0:05dc (ซึ่งหมายถึงอุปกรณ์ที่ใช้ไลบรารีของ Objective Development) ให้กำหนดเจ้าของอุปกรณ์เป็น root และกลุ่มสมาชิกเป็น plugdev โดยสิทธิการเข้าถึงอุปกรณ์มีค่าเป็น 0664 ซึ่งหมายถึง rw-rw-r-- นั่นคือให้เจ้าของและผู้ใช้อื่นในกลุ่มสมาชิกดังกล่าวมีสิทธิในการอ่าน/เขียน ส่วนผู้ใช้อื่นมีสิทธิเพียงการอ่านเท่านั้น
  • สั่งให้บริการ udev เริ่มทำงานใหม่
sudo /etc/init.d/udev restart
  • หากบัญชีที่ใช้ยังไม่ได้เป็นสมาชิกของกลุ่ม plugdev (ตรวจสอบได้โดยพิมพ์คำสั่ง groups) ใช้คำสั่ง adduser เพื่อเพิ่มบัญชีผู้ใช้ของตนเป็นส่วนหนึ่งของกลุ่ม
sudo adduser <ชื่อบัญชี> plugdev
  • ล็อกเอาท์และล็อกอินกลับเข้ามาใหม่ ตรวจสอบสมาชิกภาพของตนว่าอยู่ในกลุ่ม plugdev หรือไม่โดยพิมพ์คำสั่ง
groups
หากพบ plugdev ในรายการ แสดงว่าต่อจากนี้เรามีสิทธิเต็มรูปแบบในการเข้าถึงบอร์ดไมโครคอนโทรลเลอร์ผ่านพอร์ท USB