ฉันมีคอมพิวเตอร์เดสก์ท็อป Dell พร้อม Ubuntu 18.04 และกล้อง Logitech BRIO มันทำงานได้ดีกับ Ubuntu 16.04 และใช้งานได้ดีสองสามสัปดาห์หลังจากอัปเกรดเป็น 18.04 ถ่ายภาพได้หลายร้อยช็อต จากนั้นเมื่อ 1-2 สัปดาห์ที่แล้ว เครื่องก็ช็อต 2-3 ครั้ง บางครั้ง 30 ครั้ง บางครั้ง 50 ครั้ง แล้วหยุดทำงานจนกว่าจะตัดการเชื่อมต่อและเชื่อมต่อใหม่
ฉันมีเดสก์ท็อป Dell อีกเครื่องที่มี Ubuntu 18.04 และกล้องตัวเดียวกัน แต่เครื่องนั้นไม่มีการเชื่อมต่ออินเทอร์เน็ตและไม่ได้รับการอัปเดต อันนั้นยังคงทำงานได้ดี ฉันเปลี่ยนกล้อง และปัญหายังคงอยู่กับคอมพิวเตอร์เครื่องนี้
ฉันเชื่อมต่อกล้องอีกครั้งและเรียกใช้สคริปต์นี้เพื่อทดสอบ โดยใช้ fswebcam เพื่อถ่ายภาพและบันทึกเป็น jpg:
#!/bin/bash
สำหรับดัชนีใน {0..100}
ทำ
echo ยิง $index
echo เวลา: `วันที่ +"%Y-%m-%d %T"`
fswebcam -d v4l2:/dev/video0 -r 4096x2160 --jpeg -1 --no-banner -S 9 --verbose temp/shot.jpg
นอน1
เสร็จแล้ว
ทางออก
ใช้งานได้ดี 20 ถึง 50 ครั้ง จากนั้น fswebcam แจ้งว่า "ไม่พบรูปแบบจานสีที่เข้ากันได้"
นี่คือเอาต์พุตสำหรับสองช็อตติดต่อกัน ช็อตสุดท้ายที่ได้ผลและช็อตแรกที่ล้มเหลว:
ยิง 62
เวลา: 2021-11-30 11:26:17
--- กำลังเปิด v4l2:/dev/video0...
>>> ใช้โมดูลซอร์ส 'v4l2'
/dev/video0 เปิดขึ้น
src_v4l2_get_capability,87: /dev/video0 ข้อมูล:
src_v4l2_get_capability,88: cap.driver: "uvcvideo"
src_v4l2_get_capability,89: cap.card: "Logitech BRIO"
src_v4l2_get_capability,90: cap.bus_info: "usb-0000:00:14.0-8"
src_v4l2_get_capability,91: cap.capabilities=0x84200001
src_v4l2_get_capability,92: - VIDEO_CAPTURE
src_v4l2_get_capability,103: - สตรีม
ไม่ได้ระบุอินพุต ใช้ตัวแรก
src_v4l2_set_input,181: /dev/video0: ป้อนข้อมูล 0:
src_v4l2_set_input,182: ชื่อ = "กล้อง 1"
src_v4l2_set_input,183: ประเภท = 00000002
src_v4l2_set_input,185: - กล้อง
src_v4l2_set_input,186: ชุดเสียง = 00000000
src_v4l2_set_input,187: จูนเนอร์ = 00000000
src_v4l2_set_input,188: สถานะ = 00000000
src_v4l2_set_pix_format,520: อุปกรณ์นำเสนอรูปแบบพิกเซล V4L2 ต่อไปนี้:
src_v4l2_set_pix_format,533: 0: [0x56595559] 'YUYV' (YUYV 4:2:2)
src_v4l2_set_pix_format,533:1: [0x47504A4D] 'MJPG' (เคลื่อนไหว-JPEG)
src_v4l2_set_pix_format,533: 2: [0x3231564E] 'NV12' (Y/CbCr 4:2:0)
ใช้จานสี MJPEG
src_v4l2_set_mmap,672: ข้อมูล mmap:
src_v4l2_set_mmap,673: เฟรม=4
src_v4l2_set_mmap,722: 0 ความยาว=17694720
src_v4l2_set_mmap,722: 1 ความยาว=17694720
src_v4l2_set_mmap,722: 2 ความยาว=17694720
src_v4l2_set_mmap,722: 3 ความยาว=17694720
--- แคปเจอร์เฟรม...
ข้าม 9 เฟรม...
จับภาพ 1 เฟรม...
จับภาพ 10 เฟรมใน 0.31 วินาที (32 เฟรมต่อวินาที)
--- กำลังประมวลภาพ...
การตั้งค่ารูปแบบเอาต์พุตเป็น JPEG คุณภาพ -1
ปิดใช้งานแบนเนอร์
กำลังเขียนภาพ JPEG ไปที่ 'temp/shot.jpg'
ยิง 63
เวลา: 2021-11-30 11:26:29
--- กำลังเปิด v4l2:/dev/video0...
>>> ใช้โมดูลซอร์ส 'v4l2'
/dev/video0 เปิดขึ้น
src_v4l2_get_capability,87: /dev/video0 ข้อมูล:
src_v4l2_get_capability,88: cap.driver: "uvcvideo"
src_v4l2_get_capability,89: cap.card: "Logitech BRIO"
src_v4l2_get_capability,90: cap.bus_info: "usb-0000:00:14.0-8"
src_v4l2_get_capability,91: cap.capabilities=0x84200001
src_v4l2_get_capability,92: - VIDEO_CAPTURE
src_v4l2_get_capability,103: - สตรีม
ไม่ได้ระบุอินพุต ใช้ตัวแรก
src_v4l2_set_input,181: /dev/video0: ป้อนข้อมูล 0:
src_v4l2_set_input,182: ชื่อ = "กล้อง 1"
src_v4l2_set_input,183: ประเภท = 00000002
src_v4l2_set_input,185: - กล้อง
src_v4l2_set_input,186: ชุดเสียง = 00000000
src_v4l2_set_input,187: จูนเนอร์ = 00000000
src_v4l2_set_input,188: สถานะ = 00000000
src_v4l2_set_pix_format,520: อุปกรณ์นำเสนอรูปแบบพิกเซล V4L2 ต่อไปนี้:
src_v4l2_set_pix_format,533: 0: [0x56595559] 'YUYV' (YUYV 4:2:2)
src_v4l2_set_pix_format,533:1: [0x47504A4D] 'MJPG' (เคลื่อนไหว-JPEG)
src_v4l2_set_pix_format,533: 2: [0x3231564E] 'NV12' (Y/CbCr 4:2:0)
ไม่พบรูปแบบจานสีที่เข้ากันได้
dmesg -T แสดงสิ่งนี้ เริ่มตั้งแต่เมื่อเชื่อมต่อกล้องอีกครั้ง:
[อ. 30 พ.ย. 11:18:03 น. 2564] usb 2-8: ยกเลิกการเชื่อมต่อ USB หมายเลขอุปกรณ์ 7
[อ. 30 พ.ย. 11:18:10 น. 2564] usb 2-8: อุปกรณ์ SuperSpeed USB ใหม่หมายเลข 8 โดยใช้ xhci_hcd
[อ. 30 พ.ย. 11:18:10 น. 2564] usb 2-8: พบอุปกรณ์ USB ใหม่ idVendor=046d, idProduct=085e
[อ. 30 พ.ย. 11:18:10 น. 2564] usb 2-8: สตริงอุปกรณ์ USB ใหม่: Mfr=0, Product=2,
ซีเรียลนัมเบอร์=3
[อ. 30 พ.ย. 11:18:10 น. 2564] usb 2-8: สินค้า: Logitech BRIO
[อ. 30 พ.ย. 11:18:10 น. 2564] usb 2-8: SerialNumber: 93004248
[อ. 30 พ.ย. 11:18:10 น. 2564] uvcvideo: พบอุปกรณ์ UVC 1.00 Logitech BRIO (046d:085e)
[อ. 30 พ.ย. 11:18:10 น. 2564] อินพุต: Logitech BRIO เป็น
/devices/pci0000:00/0000:00:14.0/usb2/2-8/2-8:1.0/input/input20
[อ. 30 พ.ย. 11:18:10 น. 2564] usb 2-8: อัตราปัจจุบัน 16000 แตกต่างจากอัตรารันไทม์ 24000
[อ. 30 พ.ย. 11:18:10 น. 2564] usb 2-8: อัตราปัจจุบัน 16000 แตกต่างจากอัตรารันไทม์ 32000
[อ. 30 พ.ย. 11:18:10 น. 2564] usb 2-8: อัตราปัจจุบัน 16000 แตกต่างจากอัตรารันไทม์ 48000
[อ. 30 พ.ย. 11:18:10 น. 2564] อินพุต: Logitech BRIO เป็น /devices/pci0000:00/0000:00:14.0/usb2/2-8/2-8:1.4/0003:046D:085E.0006/input /อินพุต21
[อ. 30 พ.ย. 11:18:10 น. 2564] hid-generic 0003:046D:085E.0006: input,hidraw0: USB HID v1.11 Device [Logitech BRIO] on usb-0000:00:14.0-8/input4
[อ. 30 พ.ย. 11:18:10 น. 2564] usb 2-8: อัตราปัจจุบัน 16000 แตกต่างจากอัตรารันไทม์ 48000
[อ. 30 พ.ย. 11:18:10 น. 2564] usb 2-8: อัตราปัจจุบัน 16000 แตกต่างจากอัตรารันไทม์ 48000
[อ. 30 พ.ย. 11:18:10 น. 2564] usb 2-8: อัตราปัจจุบัน 16000 แตกต่างจากอัตรารันไทม์ 48000
[อ. 30 พ.ย. 11:26:21 น. 2564] usb 2-8: ตั้งค่า SEL สำหรับ U1 ที่เริ่มต้นโดยอุปกรณ์ล้มเหลว
[อ. 30 พ.ย. 11:26:21 น. 2564] usb 2-8: ตั้งค่า SEL สำหรับ U2 ที่เริ่มต้นโดยอุปกรณ์ล้มเหลว
[อ. 30 พ.ย. 11:26:27 น. 2564] usb 2-8: ตั้งค่า SEL สำหรับ U1 ที่เริ่มต้นโดยอุปกรณ์ล้มเหลว
[อ. 30 พ.ย. 11:26:27 น. 2564] usb 2-8: ตั้งค่า SEL สำหรับ U2 ที่เริ่มต้นโดยอุปกรณ์ล้มเหลว
[อ. 30 พ.ย. 11:26:28 น. 2564] uvcvideo: ตั้งค่าการควบคุมโพรบ UVC ล้มเหลว : -32 (exp. 26)
[อ. 30 พ.ย. 11:26:28 น. 2564] uvcvideo: ตั้งค่าการควบคุมโพรบ UVC ล้มเหลว : -32 (exp. 26)
[อ. 30 พ.ย. 11:26:28 น. 2564] uvcvideo: ตั้งค่าการควบคุมโพรบ UVC ล้มเหลว : -32 (exp. 26)
[อ. 30 พ.ย. 11:26:28 น. 2564] uvcvideo: ตั้งค่าการควบคุมโพรบ UVC ล้มเหลว : -32 (exp. 26)
[อ. 30 พ.ย. 11:26:28 น. 2564] uvcvideo: ตั้งค่าการควบคุมโพรบ UVC ล้มเหลว : -32 (exp. 26)
[อ. 30 พ.ย. 11:26:28 น. 2564] uvcvideo: ตั้งค่าการควบคุมโพรบ UVC ล้มเหลว : -32 (exp. 26)
และสิ่งสุดท้ายนั้นถูกทำซ้ำหลายครั้ง
ฉันลองมาหลายครั้งแล้วและมันก็ล้มเหลวเหมือนเดิมเสมอ โดยเริ่มจาก "usb 2-8: Set SEL for device-initiated U1 failed"
ฉันจะค้นหาและแก้ไขปัญหานี้ได้อย่างไร