Як визначити вставку SD-карти (лише SD-карту, а не пристрій для читання карток) у Linux?


7

У мене є безголовий debian (3.2.0-3-686-pae), до якого я хотів прикріпити автономний кард-рідер для автоматичного обробки фотографій. Ідея полягає в тому, що читач буде підключений весь час, і я б просто вставив карту SD.

На жаль, картка не виявляється, коли я вставляю її.

  • кард-рідер правильно розпізнано
  • при підключенні пристрою для зчитування карт пам'яті із вставленою SD-картою обидва номери розпізнаються правильно і картка автоматично встановлюється.

Тому це вставка картки в робочий кард-рідер, який не розпізнається. Немає повідомлень у / var / log / messages (а також ніде). Коли вбудований пристрій для зчитування карток, повідомлення правильні:

Aug  4 14:25:03 server kernel: [711743.411320] usb 1-6: USB disconnect, device number 5
Aug  4 14:25:12 server kernel: [711751.964021] usb 1-6: new high-speed USB device number 6 using ehci_hcd
Aug  4 14:25:12 server kernel: [711752.097364] usb 1-6: New USB device found, idVendor=058f, idProduct=6366
Aug  4 14:25:12 server kernel: [711752.097369] usb 1-6: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Aug  4 14:25:12 server kernel: [711752.097373] usb 1-6: Product: Mass Storage Device
Aug  4 14:25:12 server kernel: [711752.097375] usb 1-6: Manufacturer: Generic
Aug  4 14:25:12 server kernel: [711752.097377] usb 1-6: SerialNumber: 058F63666433
Aug  4 14:25:12 server kernel: [711752.098062] scsi4 : usb-storage 1-6:1.0
Aug  4 14:25:13 server kernel: [711753.224612] scsi 4:0:0:0: Direct-Access     Multiple Card  Reader     1.00 PQ: 0 ANSI: 0
Aug  4 14:25:14 server kernel: [711753.810820] sd 4:0:0:0: [sdc] 1984000 512-byte logical blocks: (1.01 GB/968 MiB)
Aug  4 14:25:14 server kernel: [711753.811559] sd 4:0:0:0: [sdc] Write Protect is off
Aug  4 14:25:14 server kernel: [711753.829719]  sdc: sdc1
Aug  4 14:25:14 server kernel: [711753.840025] sd 4:0:0:0: [sdc] Attached SCSI removable disk

Мені було цікаво, чи десь мені дещо не вистачає (поведінка вище не працює - мені не потрібно нічого налаштовувати) - або- що вставка картки у вже підключений кард-рідер просто не розпізнається дизайном.


EDIT : В той час, як дискусія на форумі стверджує, що відсутність послання є нормальною, вона, очевидно, працює для деяких (завдяки Piskvor nad darnir за коментарі). Я залишу це питання без відповіді і надішлю помилку в Debian - оновлення цієї публікації, якщо є прогрес.

EDIT : подано Помилка # 684306 (bugs.debian.org)


Я не можу знайти оригінальну пошту атм, але рік тому була дискусія про це на списках розсилки FreeBSD. Відповідь полягала в тому, що вставлення не може бути виявлено апаратним забезпеченням. (або як ви пишете: не розпізнається дизайном). Єдиним обхідним шляхом було опитування пристрою.
Hennes

Ммм ... подія вставлення картки генерує для мене "виявлену зміну потужності від 0 до 123456789" у syslog (де 123456789 - ємність картки в байтах, IIRC); не впевнений, що генерує це (зареєстровано як "ядро").
Piskvor

@Piskvor: Ах це цікаво. Яке ядро? Записую все і не бачу такого роду повідомлення
WoJ

@WoJ: 3.2.0-27; Наразі я не маю SD-карти, щоб спробувати та опублікувати точне повідомлення.
Piskvor

Відповіді:


3

Ось як я вирішив цю проблему:

  1. Встановіть пакет udisks
  2. Виконати udisks --poll-for-media

Через правило udev я потім запускаю скрипт, який автоматично забезпечує завантаження даних з моєї CF-карти.


0

EDIT : будь ласка, не звертайте уваги (див. редагування в головному питанні). Я залишаю "відповідь", щоб коментарі могли послатися на щось)

Добре, після того як зробити круглий через різноманітні форуми це буде схоже на   що це зараз неможливо. Схоже, що є,   технічно, спосіб зробити це (як створює вставка   конкретних подій HW), але це не реалізовано. Це цілком   прикро, оскільки існує багато можливих застосувань. У моєму випадку   це не так вже й погано, оскільки кард-рідер є автономним, але він є гест   складна для вбудованих (хоча, можливо, в цьому випадку це обробляється   інакше, я не знаю як я не маю)


Я спробував його на Arch і у мене є запис в dmesg на вставку / видалення картки з читачем, вже підключеним. Отже, це можливо, поза ящиком ванільного ядра.
darnir

@darnir: яке повідомлення ви отримуєте? Щось схоже на піскорське (вище)
WoJ

dmesg output: [4366.893775] r592: IRQ: карта вилучена [4375.765801] r592: IRQ: карта додана [4376.519845]
darnir
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.