หน้า: [1]   ลงล่าง
  พิมพ์  
ผู้เขียน หัวข้อ: ทำ usbip ให้เป็น service  (อ่าน 4474 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
cluangar
Administrator
Hero Member
*****
ออฟไลน์ ออฟไลน์

กระทู้: 761


ดูรายละเอียด
« เมื่อ: กุมภาพันธ์ 22, 2021, 03:08:46 PM »

  เข้า step แรก  ทำให้เป็น service เสีย  ไม่ต้องเสียเวลานั่งเขียน config มีบุคคลใจดีทดสอบให้ก่อนแล้ว  ตาม link นี้ https://www.davecorder.org/windows-10/
บันทึกการเข้า
cluangar
Administrator
Hero Member
*****
ออฟไลน์ ออฟไลน์

กระทู้: 761


ดูรายละเอียด
« ตอบ #1 เมื่อ: กุมภาพันธ์ 22, 2021, 03:11:45 PM »

Step หลัง  ทำ Web GUI มาควบคุมแทน CMD
บันทึกการเข้า
cluangar
Administrator
Hero Member
*****
ออฟไลน์ ออฟไลน์

กระทู้: 761


ดูรายละเอียด
« ตอบ #2 เมื่อ: กุมภาพันธ์ 22, 2021, 03:16:28 PM »

มาเริ่มโพย guide
- ติดตั้งลงบน SBC ด้วยคำสั่ง  sudo apt install usbip
- ทดสอบติดตั้ง module ด้วยคำสั่ง sudo modprobe usbip_host
- run usbipd -D เพื่อทำงานเป็น daemon
- ตรวจสอบอุปกรณ์ที่ติดตั้งบน SBC ด้วยคำสั่ง usbip list -l
- share อุปกรณ์ usb ด้วยคำสั่ง usbip bind -b <busid>
- ยกเลิกการ share ด้วยคำสั่ง usbip unbind -b <busid>
บันทึกการเข้า
cluangar
Administrator
Hero Member
*****
ออฟไลน์ ออฟไลน์

กระทู้: 761


ดูรายละเอียด
« ตอบ #3 เมื่อ: กุมภาพันธ์ 22, 2021, 03:19:59 PM »

จากนั้นทำตาม link ด้านบนเพื่อให้ usbip ทำงานเป็น service ตั้งแต่ boot เครื่อง
- load module ด้วยการปรับแต่ง file /etc/modules
  sudo echo "usbip_host" >> /etc/modules

- สร้าง service file
  sudo nano -w /lib/systemd/system/usbipd.service

- edit ค่าตามข้อมูลได้ล่าง

[Unit]
Description=USB-IP Binding
After=network-online.target
Wants=network-online.target

[Service]
Type=simple
ExecStart=/usr/sbin/usbipd
ExecStartPost=/bin/sh -c "/usr/sbin/usbip bind --$(/usr/sbin/usbip list -p -l | grep '#usbid=0403:6001#' | cut '-d#' -f1)"
ExecStop=/bin/sh -c "/usr/sbin/usbip unbind --$(/usr/sbin/usbip list -p -l | grep '#usbid=0403:6001#' | cut '-d#' -f1); killall usbipd"
[Install]
WantedBy=multi-user.target

- แก้ไขค่า usbid ให้ตรงกับอุปกรณ์ที่เราต้องการให้ share อัตโนมัติ
บันทึกการเข้า
cluangar
Administrator
Hero Member
*****
ออฟไลน์ ออฟไลน์

กระทู้: 761


ดูรายละเอียด
« ตอบ #4 เมื่อ: กุมภาพันธ์ 22, 2021, 03:22:11 PM »

ทำการ sync service
sudo systemctl --system daemon-reload

ทำการเปิด service ให้ทำงานตั้งแต่ boot
sudo systemctl enable usbipd.service

ทดลอง run service
sudo systemctl start usbipd.service

กรณีต้องการยกเลิก service ใช้คำสั่ง ขณะ boot
sudo systemctl disable usbipd.service
บันทึกการเข้า
หน้า: [1]   ขึ้นบน
  พิมพ์  
 
กระโดดไป: