ผลต่างระหว่างรุ่นของ "การแก้ไขสิทธิการเข้าถึงพอร์ท USB ของบอร์ด MCU"

จาก Theory Wiki
ไปยังการนำทาง ไปยังการค้นหา
(YeeKbwNHwWo)
(ย้อนการแก้ไขรุ่น 12628 โดย 27.101.112.11 (พูดคุย))
แถว 1: แถว 1:
Never seen a btteer post! ICOCBW
+
หากพบปัญหาว่าการติดต่อกับบอร์ด MCU ผ่านพอร์ท USB ต้องเรียกผ่านคำสั่ง sudo เท่านั้น (อาทิเช่นการใช้คำสั่ง avrdude หรือการส่งคำร้องขอไปยังบอร์ดด้วยไพธอน) ให้ดำเนินการตามขั้นตอนต่อไปนี้เพื่อเพิ่มสิทธิให้กับบัญชีผู้ใช้ของเราในการเข้าถึงบอร์ด MCU อย่างเต็มรูปแบบ
 +
 
 +
* สร้างไฟล์ชื่อ <code>45-objdev.rules</code> ไว้ในไดเรคตอรี <code>/etc/udev/rules.d/</code> โดยมีข้อมูลดังนี้
 +
# 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 ซึ่งหมายถึง <code>rw-rw-r--</code> นั่นคือให้เจ้าของและผู้ใช้อื่นในกลุ่มสมาชิกดังกล่าวมีสิทธิในการอ่าน/เขียน ส่วนผู้ใช้อื่นมีสิทธิเพียงการอ่านเท่านั้น
 +
 
 +
* สั่งให้บริการ udev เริ่มทำงานใหม่
 +
sudo /etc/init.d/udev restart
 +
 
 +
* หากบัญชีที่ใช้ยังไม่ได้เป็นสมาชิกของกลุ่ม plugdev (ตรวจสอบได้โดยพิมพ์คำสั่ง <code>groups</code>) ใช้คำสั่ง adduser เพื่อเพิ่มบัญชีผู้ใช้ของตนเป็นส่วนหนึ่งของกลุ่ม
 +
sudo adduser <ชื่อบัญชี> plugdev
 +
 
 +
* ล็อกเอาท์และล็อกอินกลับเข้ามาใหม่ ตรวจสอบสมาชิกภาพของตนว่าอยู่ในกลุ่ม plugdev หรือไม่โดยพิมพ์คำสั่ง
 +
groups
 +
:หากพบ plugdev ในรายการ แสดงว่าต่อจากนี้เรามีสิทธิเต็มรูปแบบในการเข้าถึงบอร์ดไมโครคอนโทรลเลอร์ผ่านพอร์ท USB

รุ่นแก้ไขเมื่อ 04:17, 3 พฤษภาคม 2555

หากพบปัญหาว่าการติดต่อกับบอร์ด 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