Linux初心者の入門と基礎、Linux大学学長りなっくま先生のブログ -12ページ目

PCIデバイスについて

PCIカードというものがあり、今でもいろいろと拡張するときに使用されています。
例えば、代表的なPCIカードとしてLANカードがあります。


今では、LANカードはパソコンに標準でついていますが、昔は、LANカードが付いていないパソコンもあり、
ネットワークに接続できずに、インターネットもできないということもあったのです。


そこで、PCIカードの出番となります。パソコンの中にマザーボードというものがあります。
そのマザーボードにはPCIスロットというものがあり、LANカード(PCIカード)を差し込むことができます。
これで、LANカードを認識させればネットワークが利用できるようになるのです。



Linuxカーネルが認識しているPCIデバイス一覧を表示するには「lspci」コマンドを実行します。
デバイスの種類、ベンダー、デバイス名といった情報を一覧表示します。


# lspci


00:00.0 Host bridge: Intel Corporation 82865G/PE/P DRAM Controller/Host-Hub Interface (rev 02)
00:02.0 VGA compatible controller: Intel Corporation 82865G Integrated Graphics Controller (rev 02)
00:1d.0 USB Controller: Intel Corporation 82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (rev 02)
00:1d.1 USB Controller: Intel Corporation 82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (rev 02)
00:1d.2 USB Controller: Intel Corporation 82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3 (rev 02)
00:1d.7 USB Controller: Intel Corporation 82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller (rev 02)
00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev c2)
00:1f.0 ISA bridge: Intel Corporation 82801EB/ER (ICH5/ICH5R) LPC Interface Bridge (rev 02)
00:1f.1 IDE interface: Intel Corporation 82801EB/ER (ICH5/ICH5R) IDE Controller (rev 02)
00:1f.2 IDE interface: Intel Corporation 82801EB (ICH5) SATA Controller (rev 02)
00:1f.5 Multimedia audio controller: Intel Corporation 82801EB/ER (ICH5/ICH5R) AC’97 Audio Controller (rev 02)
05:02.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5782 Gigabit Ethernet (rev 03)


オプション「-v」をつけるとIRQやI/Oポートアドレスの詳細情報を表示することができます。



# lspci -v


00:00.0 Host bridge: Intel Corporation 82865G/PE/P DRAM Controller/Host-Hub Interface (rev 02)
Subsystem: Hewlett-Packard Company: Unknown device 12bd
Flags: bus master, fast devsel, latency 0
Memory at e0000000 (32-bit, prefetchable) [size=256M]
Capabilities:

00:02.0 VGA compatible controller: Intel Corporation 82865G Integrated Graphics Controller (rev 02) (prog-if 00 [VGA])
Subsystem: Hewlett-Packard Company: Unknown device 12bd
Flags: bus master, fast devsel, latency 0, IRQ 4
Memory at f0000000 (32-bit, prefetchable) [size=128M]
Memory at f8400000 (32-bit, non-prefetchable) [size=512K]
I/O ports at 14e0 [size=8]
Capabilities:

00:1d.0 USB Controller: Intel Corporation 82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (rev 02) (prog-if 00 [UHCI])
Subsystem: Hewlett-Packard Company: Unknown device 12bd
Flags: bus master, medium devsel, latency 0, IRQ 4
I/O ports at 1440 [size=32]


「proc/pci」ファイルの内容を表示することで、PCIデバイスの一覧を表示でき、
各PCIデバイスに搭載されているチップ名、IRQやI/Oポートアドレスの一覧を確認できます。


# cat /proc/pci


PCI devices found:
Bus 0, device 0, function 0:
Class 0600: PCI device 8086:2570 (rev 2).
Prefetchable 32 bit memory at 0xe0000000 [0xefffffff].
Bus 0, device 2, function 0:
Class 0300: PCI device 8086:2572 (rev 2).
IRQ 4.
Prefetchable 32 bit memory at 0xf0000000 [0xf7ffffff].
Non-prefetchable 32 bit memory at 0xf8400000 [0xf847ffff].
I/O at 0×14e0 [0x14e7].
Bus 0, device 29, function 0:
Class 0c03: PCI device 8086:24d2 (rev 2).
IRQ 4.
I/O at 0×1440 [0x145f].
Bus 0, device 29, function 1:
Class 0c03: PCI device 8086:24d4 (rev 2).
IRQ 5.
I/O at 0×1460 [0x147f].


PCIカードを組み込む際に発生するトラブルとして多いのは、他のデバイスとIRQ番号が重複
してしまうことです。


PCIカードはプラグ&プレイに対応しており、ほとんどの場合 IRQ番号などが自動的に割り当てられるため、
特に設定を行う必要はありません。もしIRQが衝突した場合は、BIOSでIRQを適切に設定し直す必要があります。

SATAについて

SerialATAはハードディスクドライブや、DVDドライブなどのような
リムーバルメディアドライブで使用されているインターフェイスです。
IDEなどのパラレルATAの後継規格です。


パラレルATAでのデータ転送速度はUltraATA/133の133MB/sだが、
Serial ATAの最初の規格Ultra SATA/1500で187.5MB/s(1.5Gb/s)、
Serial ATA ⅡのUltra SATA/3000では375Mb/s(3Gb/s)を実現しています。


パラレルATAと比較したSerial ATAの特徴としては、デバイスごとの
ジャンパピン設定が不要となっていることや、ケーブルが細くなって
いることなどがあげられます。

SCSIについて


SCSIはパソコンと周辺機器をバス型で接続するインターフェイスです。
一般的にはハードディスクドライブ、テープドライブなどとの
接続に利用され、SCSIで接続するとき、バスの端にはターミネータを
付ける必要があります。



従来は内蔵ハードディスクの接続にはIDE規格が広く利用されてきましたが、
現在は、より高速なデータ転送を可能にしたSerial ATA(SATA)規格が普及
しています。シリアル転送方式であるSerial ATAは、IDEのような
パラレル転送方式のATA規格とは異なり、ケーブルが細かいことや
ジャンパピンの設定が不要であることなどの特徴があります。



SCSIには、データ転送速度や最大接続デバイス数によって複数の
規格が存在します。当初のSCSI規格はデータ幅が8ビットで最大接続
デバイス数(SCSIコントローラを含む)は8台でありましたが、
後にデータ幅16ビットに拡張され、最大接続デバイス数(SCSIコントローラを含む)
は16台となりました。



また接続されている各デバイスには、それぞれを個別に認識するために、
バス上でユニークなアドレス(SCSI ID)が割り当てられています。



8ビット幅のSCSIの場合は0~7、 16ビット幅のSCSIの場合は0~15のSCSIID
を持つことができます。


SCSI接続されているデバイス情報を調べるには、「/proc/scsi/scsi」を参照します。


# cat /proc/scsi/scsi


Attached devices:
Host: scsi1 Channel: 00 Id: 06 Lun: 00
Vendor: QUANTUM Model: SDLT320 Rev: 5252
Type: Sequential-Access ANSI SCSI revision: 02
Host: scsi2 Channel: 02 Id: 00 Lun: 00
Vendor: MegaRAID Model: LD0 RAID1 39900R Rev: 350O
Type: Direct-Access ANSI SCSI revision: 02


SCSI IDやデバイスのモデル名などの情報を表示することができるコマンドが
以下のscsi_infoコマンドです。


# scsi_info /dev/scd0

# scsi_info /dev/scd1


SCSI IDやデバイスのモデル名などの情報を表示することができます。

SCSIの主なデバイスファイル名も覚えておきましょう!!


【SCSIハードディスク】
/dev/sda 1番目のハードディスク
(パーティション分けている場合は、sda1,sda2,sda3・・・)

/dev/sdb 2番目のハードディスク
(パーティション分けている場合は、sdb1,sdb2,sdb3・・・)


【SCSI CD-ROM】
/dev/scd0 1番目のCD-ROM
/dev/scd0 2番目のCD-ROM