スタンドアロンのカードリーダーを接続して写真を自動的に処理したい、ヘッドレスのdebian(3.2.0-3-686-pae)があります。リーダーは常に差し込まれているので、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
私はどこかに何かが足りないのではないかと思っていました(上記の動作はそのままです-何も構成する必要はありませんでした)-or-すでに接続されているカードリーダーにカードを挿入することは、設計上は認識されていません。
[〜#〜] edit [〜#〜]:フォーラムの議論では、メッセージの欠如は正常であると主張していますが、明らかに一部の人にとっては機能します(Piskvorに感謝します)コメントについてはnad darnirをご覧ください)。私は質問に答えずにDebianにバグを報告します-進展があればこの投稿を更新します。
[〜#〜] edit [〜#〜]:filed Bug#684306 (bugs.debian.org)
これが私がこの問題を解決した方法です:
次に、udevルールを使用して、CFカードからのデータの自動ダウンロードを処理するスクリプトをトリガーします。
[〜#〜] edit [〜#〜]:無視してください(メインの質問の編集を参照)。コメントが何かを参照できるように、「回答」を残します)
さて、さまざまなフォーラムを巡回した後、これは現在不可能のようです。技術的には(挿入によって特定のHWイベントが生成されるため)それを実行する方法があるように見えますが、これは実装されていません。考えられるアプリケーションがたくさんあるので、これは非常に残念です。私の場合、カードリーダーはスタンドアロンであるため、これはそれほど悪くはありませんが、組み込みのものには注意が必要です(ただし、その場合は処理が異なる可能性がありますが、カードリーダーがないためわかりません)。
ブロックデバイスのポーリングが無効になっていると思われます。
この値を確認してください
cat /sys/modules/block/parameters/events_dfl_poll_msecs
その0は2000にする
echo 2000 > /sys/modules/block/parameters/events_dfl_poll_msecs
これで、実行時検出が機能するはずです。
通常、udevルールにはこのノードで2000を書き込むための属性が含まれているため、そのudevパッケージがない場合はインストールしてください。