そのため、私の dmesg には次のようなメッセージが何度も送信されます:
[ 1478.880795] ata5: exception Emask 0x10 SAct 0x0 SErr 0x4000000 action 0xe frozen
[ 1478.880803] ata5: irq_stat 0x00000040, connection status changed
[ 1478.880808] ata5: SError: { DevExch }
[ 1478.880816] ata5: limiting SATA link speed to 1.5 Gbps
[ 1478.880820] ata5: hard resetting link
[ 1479.753964] ata5: SATA link down (SStatus 0 SControl 310)
[ 1479.764060] ata5: EH complete
しかし、ストレージデバイスをリストすると、実際にata5に接続されているものはありません。
$ ls -la /sys/block/ [1]
insgesamt 0
drwxr-xr-x 2 root root 0 13. Apr 15:43 .
dr-xr-xr-x 13 root root 0 13. Apr 15:43 ..
lrwxrwxrwx 1 root root 0 13. Apr 15:43 sda -> ../devices/pci0000:00/0000:00:1f.2/ata1/host0/target0:0:0/0:0:0:0/block/sda
lrwxrwxrwx 1 root root 0 13. Apr 15:44 sr0 -> ../devices/pci0000:00/0000:00:1f.2/ata3/host2/target2:0:0/2:0:0:0/block/sr0
故障したデバイスが何であるかをどうやって調べればよいですか?
答え1
コメントから、
わかりました。eSATA ポートであることがわかりました。そこに USB マウスが接続されていました。
これはeSATA+USBのコンボポートです。
lsusb
その特別なポートに接続された USB デバイスは、他の USB デバイスと同じようにリストされます。
答え2
さらに上を見てみるとdmesg
、ブート プロセス中にコントローラが初期化されるときに、さまざまなポートに関するメッセージと、それらのポートの背後でチップセットが検出した情報が表示されます。この情報を使用して、たとえば接続されているハードディスクを識別できます。サポートされている速度なども確認できます。
したがって、既知の ID を持つハードディスクやその他のデバイスを各ポートに順番に接続し、どの物理ポートがどのポート番号に属しているかを調べることができます。
一般に、物理ポートへのポート番号の割り当てはマザーボードまたはカードに依存しており、この割り当てに関する情報を提供するのは製造元の義務ですが、残念ながらそれを提供する意思のある製造元はないようです。