Webboard on Worldsen / VMThai.com

คอมพิวเตอร์ => เรื่องทั่วไปของคอมพิวเตอร์ => ข้อความที่เริ่มโดย: cluangar ที่ กุมภาพันธ์ 22, 2021, 03:08:46 PM



หัวข้อ: ทำ usbip ให้เป็น service
เริ่มหัวข้อโดย: cluangar ที่ กุมภาพันธ์ 22, 2021, 03:08:46 PM
  เข้า step แรก  ทำให้เป็น service เสีย  ไม่ต้องเสียเวลานั่งเขียน config มีบุคคลใจดีทดสอบให้ก่อนแล้ว  ตาม link นี้ https://www.davecorder.org/windows-10/


หัวข้อ: Re: ทำ usbip ให้เป็น service
เริ่มหัวข้อโดย: cluangar ที่ กุมภาพันธ์ 22, 2021, 03:11:45 PM
Step หลัง  ทำ Web GUI มาควบคุมแทน CMD


หัวข้อ: Re: ทำ usbip ให้เป็น service
เริ่มหัวข้อโดย: cluangar ที่ กุมภาพันธ์ 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>


หัวข้อ: Re: ทำ usbip ให้เป็น service
เริ่มหัวข้อโดย: cluangar ที่ กุมภาพันธ์ 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 อัตโนมัติ


หัวข้อ: Re: ทำ usbip ให้เป็น service
เริ่มหัวข้อโดย: cluangar ที่ กุมภาพันธ์ 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