วิธีการระบุเว็บแคม USB ด้วยหมายเลขซีเรียลจากบรรทัดคำสั่ง Linux


2

คุณจะรับหมายเลขซีเรียลของเว็บแคม USB ได้จากบรรทัดคำสั่ง Linux ได้อย่างไร

ฉันมีเว็บแคม USB หลายตัวเชื่อมต่อกับเครื่อง Ubuntu พวกเขาทั้งหมดแสดงขึ้นเป็น/dev/video0, /dev/video1, /dev/video2ฯลฯ แต่ฉันไม่สามารถดูเหมือนจะหาวิธีที่จะบอกโปรแกรมซึ่งเป็นที่ใด กล้องหลายรุ่นเป็นรุ่นเดียวกันดังนั้นเพียงแค่รับชื่อรุ่นไม่เพียงพอ

หมายเหตุผมไม่ได้lsusbถามถึงวิธีการใช้ ใช่ฉันรู้ว่าคุณสามารถใช้lsusbหรือ libusb เพื่อรับหมายเลขซีเรียลของอุปกรณ์, รหัสผลิตภัณฑ์, ชื่อผู้ผลิต ฯลฯ แต่เท่าที่ฉันสามารถบอกได้ว่าไม่มีอะไรที่แสดงโดยlsusbสามารถอ้างอิงข้ามกับ/dev/video*เส้นทาง

เช่นถ้ามีคนปลั๊กในสองเว็บแคมที่เหมือนกันและพวกเขาแสดงเป็น/dev/video1และ/dev/video2แล้วพวกเขาและ unplugs replugs พวกเขาเข้าไปในพอร์ตที่แตกต่างกันอย่างสมบูรณ์เพื่อให้/dev/video2กลายเป็น/dev/video3และ/dev/video1จะกลายเป็น/dev/video4ทันทีที่ฉันจะรู้ว่าปัจจุบัน"เคยเป็น"/dev/video3/dev/video2

คำถามที่คล้ายกันที่ฉันพบพบเพียงแนะนำการแฮ็กเช่นการถอดและการแทนที่ในขณะที่สแกน dmesg ฉันกำลังมองหาโซลูชันบริสุทธิ์ทางโปรแกรมที่ไม่ต้องใช้ฮาร์ดแวร์ในการระบุเว็บแคม


สิ่งนี้อาจเป็นไปไม่ได้ คำถามที่ฉันทำเครื่องหมายว่าซ้ำกันมีข้อเสนอแนะในการใช้lsusbเช่นนี้: lsusb -vvvเพื่อดูว่าผลลัพธ์คืออะไร ขึ้นอยู่กับผู้ผลิตและ / หรืออุปกรณ์อาจมีช่อง“ หมายเลขซีเรียล” แต่หมายเลขนั้นอาจเหมือนกันในทุกอุปกรณ์ ความหมายที่อยู่ไกลจากตัวเลขที่ไม่ซ้ำกัน ข้อเสนอแนะที่กว้างขึ้นคือการตรวจสอบพอร์ตที่พวกเขาเชื่อมต่ออยู่และตรวจสอบให้แน่ใจเสมอว่ากล้องเฉพาะนั้นเชื่อมต่อกับพอร์ตนั้น ๆ
JakeGould

สิ่งที่lshwพูดเกี่ยวกับอุปกรณ์ของคุณ?
Frank Thomas

lspci --vvv อาจใช้ร่วมกับ lsusb -vvv อาจช่วย
linuxdev2013

@ Frankthomas นั่นแสดงรายการคอนโทรลเลอร์ USB ของฉันเท่านั้น ไม่มีรายการอุปกรณ์ต่อพ่วงใด ๆ
Cerin

@ linuxdev2013 เช่น lshw, lspic แสดงรายการคอนโทรลเลอร์เท่านั้น lsusb ช่วยฉันระบุอุปกรณ์โดยเฉพาะ ... แต่ฉันไม่พบลิงก์ใด ๆ ไปยัง / dev / video
Cerin

คำตอบ:


3

สามารถระบุกล้องทั้งหมดได้ คำสั่ง

 $ sudo lsusb -v -d 046d:082d | grep -i serial
   iSerial                 1 05C6D16F

ส่งคืนหมายเลขลำดับกล้องของฉัน (เว็บแคม Logitech HD Pro ซึ่งใช้เป็นตัวอย่างกับผู้จำหน่ายที่ถูกต้อง: รหัสผลิตภัณฑ์ที่ได้รับจากการใช้งานก่อนหน้านี้lsusb) โปรดทราบว่าการใช้งานsudoเป็นสิ่งจำเป็นอย่างยิ่ง: ผู้ใช้ที่ไม่มีสิทธิพิเศษจะไม่สามารถเข้าถึงข้อมูลทั้งหมดที่มีให้ผ่านคำสั่ง

หมายเลขซีเรียลมักจะไม่ซ้ำกัน แต่ไม่เสมอไป หากไม่ซ้ำกัน (เพียงเปรียบเทียบผลลัพธ์ของคำสั่งด้านบนสำหรับอุปกรณ์สองชิ้นที่มีผู้จำหน่ายรายเดียวกัน: รหัสผลิตภัณฑ์) คุณสามารถตั้งค่าอุปกรณ์เหล่านั้นเพื่อให้มีความแตกต่าง มีคำแนะนำทุกมุมของ Google สำหรับการทำที่มีผมเพียง แต่จะชี้ไปที่คู่ของพวกเขาเพื่อประโยชน์ของทั่วถึงนี้: ที่นี่และที่นี่ แต่จำไว้ว่านี้เป็นอุปกรณ์ที่ขึ้นอยู่กับขั้นตอนเพื่อให้คุณจะต้องไปหาวิธีที่จะทำมันสำหรับกล้องถ่ายรูปของตัวเองมาก

ตอนนี้คำสั่ง

$ sudo udevadm info --query=all /dev/video1 | grep 'VENDOR_ID\|MODEL_ID\|SERIAL_SHORT'
  E: ID_MODEL_ID=082d
  E: ID_SERIAL_SHORT=05C6D16F
  E: ID_VENDOR_ID=046d

ส่งคืนรหัสที่เหมาะสมสำหรับกล้องนี้โดยเฉพาะ การทดลองและข้อผิดพลาดกับ/dev/videoXอุปกรณ์ทั้งหมดช่วยให้นกพิราบ -Hinging พวกเขาทั้งหมด


ฉันมีกล้องหลายรุ่นซึ่งเป็นรุ่นอนุกรมและรหัสผู้ขายเหมือนกันทั้งหมดดังนั้นฉันจึงไม่สามารถใช้คำสั่งนี้ได้ ยังคงค้นหาอยู่ ...
bremen_matt
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.