การแก้ไขสิทธิการเข้าถึงพอร์ท USB ของบอร์ด MCU
รุ่นแก้ไขเมื่อ 11:09, 24 มิถุนายน 2555 โดย Chaiporn (คุย | มีส่วนร่วม)
- วิกินี้เป็นส่วนหนึ่งของรายวิชา 01204223
หากพบปัญหาว่าการติดต่อกับบอร์ด 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