Debian buster/sid で玄人志向の USB3.1 インタフェースボードを動かしてみる

Mac mini などのバックアップを TimeMachine でやっているですけどね。そのバックアップ先にしてたサーバの HDD がお亡くなりになったようで、OS レベルで認識されなくなりまして…。

まあ、 HDD 買ってきて載せ替えて、ちょいと設定修正すれば話は終わりなんですが、それじゃ面白くないよねぇ(誰が?)ということで、いろいろと考えて「USB 3.1 のボード載せてみるか?」ということに。
最初は、サーバに HDD 内蔵してしまうと、なにかあったときに交換するが面倒だから、いわゆる「お立ち台」タイプの HDD 増設スタンドを USB 経由で繋ぐだけでいっかな〜、と思ってたんですけど、ちょっと調べてみたら USB3.1 Type-C コネクタ付きのカードで比較的お安いの見つけることができたので、それに合わせて HDD 増設スタンドの方も、 USB3.1 Type-C コネクタを持つものにして一緒に Amazon でポチッと…。

カードを増設して、 OS からの認識状態を確認

でモノが届いたので、早速取り付け~。
バックアップサーバとして使っているのは、1年ほど前に手に入れた Express5800/53Xg 。こいつ、スリムタイプの筐体なのだけど、3.5 インチ HDD を 2 台搭載可能、PCI Express スロットとも x16 と x4 ぞれぞれフルハイトのカードが使えるというのがちょっと嬉しかったり…。


今回の増設したブツは、玄人志向の USB3.1AC-P2-PCIE というもの。事前に調べておいた結果でも、これに載っている ASM1142 というコントローラチップは、Linux にも対応しているという情報はいつくか見つけていたので、まぁ問題は少なかろうというのは予想していましたけど、すんなり使えるようになりました。

取り付け後、サーバ起動時のログ( dmesg )で確認すると、以下のように Kernel レベルで認識。

[    0.626601] xhci_hcd 0000:02:00.0: xHCI Host Controller
[ 0.626608] xhci_hcd 0000:02:00.0: new USB bus registered, assigned bus number 1
[ 0.685555] xhci_hcd 0000:02:00.0: hcc params 0x0200eec1 hci version 0x110 quirks 0x00000010
[ 0.685856] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 4.17
[ 0.685858] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 0.685860] usb usb1: Product: xHCI Host Controller
[ 0.685861] usb usb1: Manufacturer: Linux 4.17.0-rc7-amd64 xhci-hcd
[ 0.685862] usb usb1: SerialNumber: 0000:02:00.0
[ 0.685999] hub 1-0:1.0: USB hub found
[ 0.686010] hub 1-0:1.0: 2 ports detected
[ 0.686131] xhci_hcd 0000:02:00.0: xHCI Host Controller
[ 0.686136] xhci_hcd 0000:02:00.0: new USB bus registered, assigned bus number 2
[ 0.686139] xhci_hcd 0000:02:00.0: Host supports USB 3.1 Enhanced SuperSpeed

lspci でチェックしてみると、結果の下から 2 行目にあるとおり、USB コントローラとして ASM1142 を認識。

root@vhost01:/backup/TM01# lspci
00:00.0 Host bridge: Intel Corporation Xeon E3-1200 Processor Family DRAM Controller (rev 09)
00:01.0 PCI bridge: Intel Corporation Xeon E3-1200/2nd Generation Core Processor Family PCI Express Root Port (rev 09)
00:16.0 Communication controller: Intel Corporation 6 Series/C200 Series Chipset Family MEI Controller #1 (rev 04)
00:16.2 IDE interface: Intel Corporation 6 Series/C200 Series Chipset Family IDE-r Controller (rev 04)
00:16.3 Serial controller: Intel Corporation 6 Series/C200 Series Chipset Family KT Controller (rev 04)
00:19.0 Ethernet controller: Intel Corporation 82579LM Gigabit Network Connection (rev 04)
00:1a.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 (rev 04)
00:1c.0 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 1 (rev b4)
00:1c.6 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 7 (rev b4)
00:1d.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 (rev 04)
00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev a4)
00:1f.0 ISA bridge: Intel Corporation C206 Chipset Family LPC Controller (rev 04)
00:1f.2 IDE interface: Intel Corporation 6 Series/C200 Series Chipset Family 4 port SATA IDE Controller (rev 04)
00:1f.3 SMBus: Intel Corporation 6 Series/C200 Series Chipset Family SMBus Controller (rev 04)
00:1f.5 IDE interface: Intel Corporation 6 Series/C200 Series Chipset Family 2 port SATA IDE Controller (rev 04)
01:00.0 VGA compatible controller: NVIDIA Corporation GF108GL [Quadro 600] (rev a1)
01:00.1 Audio device: NVIDIA Corporation GF108 High Definition Audio Controller (rev a1)
02:00.0 USB controller: ASMedia Technology Inc. ASM1142 USB 3.1 Host Controller
03:00.0 Ethernet controller: Intel Corporation 82574L Gigabit Network Connection

lsusb で詳細を見たものは、以下の通り。後半の20行ぐらいは HDD 増設スタンドの情報ですけど…。

root@vhost01:/backup/TM01# lsusb -v -d 1d6b:0003

Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 3.10
bDeviceClass 9 Hub
bDeviceSubClass 0
bDeviceProtocol 3
bMaxPacketSize0 9
idVendor 0x1d6b Linux Foundation
idProduct 0x0003 3.0 root hub
bcdDevice 4.17
iManufacturer 3 Linux 4.17.0-rc7-amd64 xhci-hcd
iProduct 2 xHCI Host Controller
iSerial 1 0000:02:00.0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 31
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xe0
Self Powered
Remote Wakeup
MaxPower 0mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 9 Hub
bInterfaceSubClass 0
bInterfaceProtocol 0 Full speed (or root) hub
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0004 1x 4 bytes
bInterval 12
bMaxBurst 0
can't get hub descriptor, LIBUSB_ERROR_PIPE (Resource temporarily unavailable)
Binary Object Store Descriptor:
bLength 5
bDescriptorType 15
wTotalLength 43
bNumDeviceCaps 2
SuperSpeed USB Device Capability:
bLength 10
bDescriptorType 16
bDevCapabilityType 3
bmAttributes 0x02
Latency Tolerance Messages (LTM) Supported
wSpeedsSupported 0x0008
Device can operate at SuperSpeed (5Gbps)
bFunctionalitySupport 3
Lowest fully-functional device speed is SuperSpeed (5Gbps)
bU1DevExitLat 0 micro seconds
bU2DevExitLat 0 micro seconds
** UNRECOGNIZED: 1c 10 0a 00 23 00 00 00 01 00 00 00 34 00 05 00 b4 00 05 00 35 40 0a 00 b5 40 0a 00
can't get debug descriptor: Resource temporarily unavailable
Device Status: 0x0001
Self Powered

とりあえずは、インターフェース自体問題なく認識できてますし、そこから繋いでいる HDD 増設スタンドに挿した HDD も問題なくマウントして読み書きができるようになっています。

速度的には、どんなもん?

で、気になるのはパフォーマンス的にどうなのか、というところですが、これについては別のエントリーにて。

トラックバック(0)

コメントする