Tôi muốn sử dụng libudev để xem cho một số thiết bị nhất định. Cụ thể, tôi muốn theo dõi lưu trữ di động: Ổ đĩa cứng USB, USB Keys, thẻ SD, v.v. libudev API cho phép bạn tìm thiết bị nếu bạn biết 'hệ thống con' của thiết bị và 'devtype'. Tôi đã thử các thiết bị trên máy tính của mình và sử dụng udevadm để thấy rằng tất cả các loại lưu trữ đều có hệ thống con của thiết bị 'block' -> 'scsi', nhưng tôi không biết thiết bị này có những gì. Có một danh sách các devtypes và hệ thống con tôi có thể sử dụng như một tài liệu tham khảo một nơi nào đó, hoặc một phương pháp tốt hơn để tìm kiếm devtype?Cách xác định thiết bị với udev
Trả lời
Bạn có thể nhận danh sách các hệ thống con với ls /sys/class/
Tôi không chắc chắn về các loại thiết bị. Tôi đoán bạn có thể có được điều này bằng:
ls -l /sys/class/scsi_disk/
total 0
lrwxrwxrwx 1 root root 0 2011-12-07 21:20 0:0:0:0 -> ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/scsi_disk/0:0:0:0
cat /sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/scsi_disk/0:0:0:0/device/vendor
ATA
cat /sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/scsi_disk/0:0:0:0/device/model
ST9500325AS
Bạn có thể thử các file khác trong thư mục thiết bị.
Thật sự tôi nghĩ rằng bạn cần:
cat /sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/scsi_disk/0:0:0:0/device/type
0
cat /usr/include/scsi/scsi.h | grep TYPE_
#define TYPE_DISK 0x00
#define TYPE_TAPE 0x01
#define TYPE_PROCESSOR 0x03 /* HP scanners use this */
#define TYPE_WORM 0x04 /* Treated as ROM by our system */
#define TYPE_ROM 0x05
#define TYPE_SCANNER 0x06
#define TYPE_MOD 0x07 /* Magneto-optical disk -
#define TYPE_MEDIUM_CHANGER 0x08
#define TYPE_ENCLOSURE 0x0d /* Enclosure Services Device */
#define TYPE_NO_LUN 0x7f
Không có tham khảo toàn cầu nào? Thông tin bạn đưa ra thực sự hữu ích nhưng chỉ cho scsi của nó. Đầu đọc thẻ của tôi là loại khối-> mmc ... vv Tôi tìm thấy liên kết này, nhưng đã hy vọng có một cái gì đó phổ quát hơn: http://wiki.xfce.org/dev/thunar-volman-udev – Prismatic
Theo như tôi biết không có đặt tên nhất quán. Mỗi hệ thống con được xử lý khác nhau. Tuy nhiên có một số chương trình trợ giúp trong/lib/udev/mà bạn có thể muốn xem xét. –
- 1. Cách xác định thiết bị Android theo cách lập trình?
- 2. Làm cách nào để xác định góc của thiết bị?
- 3. Xác định xem thiết bị có phải là Kindle
- 4. Không thể xác định kích thước thiết bị đầu cuối với ncurses
- 5. Cách xác định * thiết bị bluetooth nào gây ra phát sóng ACTION_ACL_CONNECTED?
- 6. Cách xác định và sử dụng thuộc tính hệ thống trong thử nghiệm Thiết bị Android?
- 7. Cách xác định xem thiết bị Android có màn hình cảm ứng không?
- 8. Làm cách nào để xác định xem thiết bị đầu cuối có đủ màu không?
- 9. Xác thực Id thiết bị iPhone?
- 10. Làm cách nào để xác định vận tốc của thiết bị Android?
- 11. Có cách nào để xác định màu nền của thiết bị đầu cuối không?
- 12. Cách xác định vị trí thiết bị trong Android bằng địa chỉ IP
- 13. Làm cách nào để xác định số lượng thẻ SIM trên thiết bị?
- 14. Cách xác định người dùng trên các thiết bị trên iOS?
- 15. có trình nghe mặc định trên thiết bị (trong thiết bị) mặc định trong Android không?
- 16. Cách quét định kỳ các thiết bị bluetooth trên android
- 17. Làm cách nào để kết nối thiết bị iOS với thiết bị không iOS (thiết bị Arduino) qua Bluetooth?
- 18. Cách nhận tên thiết bị thân thiện từ DEV_BROADCAST_DEVICEINTERFACE và ID thiết bị thiết bị
- 19. Truy cập thiết bị USB có libusb-1.0 với tư cách người dùng không phải là người chủ gốc
- 20. Xác định nhấp chuột nào (nhiều thiết bị chuột) trong .NET
- 21. Làm cách nào để hai thiết bị có cùng số thiết bị lớn?
- 22. Làm cách nào để xác định thông tin liên quan đến pin của thiết bị iOS theo cách lập trình?
- 23. cudaArray so với con trỏ thiết bị
- 24. iOS: Xác định xem ngôn ngữ của thiết bị là phải sang trái (RTL)
- 25. Cách xóa thiết bị Android khi quản trị viên thiết bị bị vô hiệu hóa?
- 26. Xác định chiều rộng/chiều cao css trong các đơn vị độc lập của thiết bị?
- 27. Xác định xem thiết bị có rung không - iPhone và iPod Touch
- 28. Android: nơi để tìm tùy chọn "Nguồn không xác định" trong nhiều thiết bị?
- 29. adb không phát hiện thiết bị Android
- 30. Cách lấy android_id của thiết bị?
Bạn đã tìm thấy một tài liệu tham khảo toàn cầu cho devtypes và hệ thống con? –