NEC Express5800/S70 RBでUSB3系を使用する
目的
既設ではUSB2.0しか使えないNEC Express5800/S70 RBでUSB3系を使用する。
USB TypeA、TypeCを1口づつ使用したい。
私の環境
Hardware : NEC Express5800/S70 RB (ref. Express5800/S70 ユーザーズガイド | NEC 8番街 )
ito@calc:~$ cat /etc/debian_version bookworm/sid ito@calc:~$ uname -a Linux calc 5.15.0-112-generic #122-Ubuntu SMP Thu May 23 07:48:21 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux ito@calc:~$ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=22.04 DISTRIB_CODENAME=jammy DISTRIB_DESCRIPTION="Ubuntu 22.04.4 LTS" ito@calc:~$
方法
1. PCI-Express インターフェースボードのUSB3系が使用できるものを探す
amazon検索:"pci-e x4 usb3 typec"にて下記を選定した。
選定理由は下記です。
- PC本体のPCIe 2.0 x16のポートを使用する(PCIe 1.1 x4, x2 の使用ではUSB3系の転送速度上限10Gbpsに達しないため)
- 上記製品はUSB3.2 Gen.2 (10Gbps)対応で、PCI Express接続レーン数 x2 使用ではPCIe 2.0 x2 を使うと転送速度帯域合計10Gbpsは確保できる
- 今回の接続機器が下記だったため1口最大の転送速度は5Gbps想定で良い
2. PCに搭載
「NEC Express5800/S70 RB」のPCIe 2.0 x16のポートへ「玄人志向 USB3.1AC-P2-PCIE3」を搭載した。( トップ画像参照 )
※SATA電源を接続することをお忘れなく
3. USB機器・規格認識の確認
lsusbコマンドからUSBの規格情報を確認 #Linux - Qiita
3.1. USB機器認識
ito@calc:~$ lsusb Bus 002 Device 006: ID 33a2:013a OMSYSTEM OM-5 Bus 002 Device 004: ID 0411:0338 BUFFALO INC. (formerly MelCo., Inc.) HD-NRLD-A Bus 002 Device 003: ID 17ef:6009 Lenovo ThinkPad Keyboard with TrackPoint Bus 002 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 001 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 004 Device 003: ID 05e3:0764 Genesys Logic, Inc. USB Storage Bus 004 Device 002: ID 0411:0338 BUFFALO INC. (formerly MelCo., Inc.) HD-NRLD-A Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub ito@calc:~$
上記で追加USBインターフェイス Bus 004 でUSB機器が認識できているという最低限の確認ができた。
3.2. USB規格の確認
to@calc:~$ lsusb -t /: Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 10000M |__ Port 1: Dev 2, If 0, Class=Mass Storage, Driver=usb-storage, 5000M |__ Port 2: Dev 3, If 0, Class=Mass Storage, Driver=usb-storage, 5000M /: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 480M /: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/2p, 480M |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/8p, 480M |__ Port 1: Dev 3, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M |__ Port 1: Dev 3, If 1, Class=Human Interface Device, Driver=usbhid, 1.5M |__ Port 7: Dev 5, If 0, Class=Mass Storage, Driver=usb-storage, 480M |__ Port 8: Dev 6, If 0, Class=Mass Storage, Driver=usb-storage, 480M /: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/2p, 480M |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/6p, 480M ito@calc:~$
- 今回追加したインターフェイス Bus 004 にて転送速度10000MとUSB3.2 Gen.2 (10Gbps)規格で認識していることが確認できた
- Bus 004 にMass Storageを接続し、USB3.1 Gen1 の転送速度5000Mで認識していることが確認できた
- 既存のUSB2.0インターフェイス Bus 002に接続されたMass Storageは転送速度480Mで認識されている
上記よりハードウェア仕様上では転送速度が最大20倍、私のMass Storageにおいては転送速度が10倍改善したことが分かった。
3.3. USB機器詳細の確認
ito@calc:~$ sudo lsusb -d 0411:0338 -v Bus 002 Device 004: ID 0411:0338 BUFFALO INC. (formerly MelCo., Inc.) HD-NRLD-A Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.10 bDeviceClass 0 bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 64 idVendor 0x0411 BUFFALO INC. (formerly MelCo., Inc.) idProduct 0x0338 bcdDevice 1.06 iManufacturer 1 BUFFALO iProduct 2 HD-NRLD-A iSerial 3 0010512140112569 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 0x0020 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 bmAttributes 0xc0 Self Powered MaxPower 30mA Self Powered MaxPower 30mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 2 bInterfaceClass 8 Mass Storage bInterfaceSubClass 6 SCSI bInterfaceProtocol 80 Bulk-Only iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0200 1x 512 bytes bInterval 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x02 EP 2 OUT bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0200 1x 512 bytes bInterval 0 Binary Object Store Descriptor: bLength 5 bDescriptorType 15 wTotalLength 0x002a bNumDeviceCaps 3 USB 2.0 Extension Device Capability: bLength 7 bDescriptorType 16 bDevCapabilityType 2 bmAttributes 0x00000f0e BESL Link Power Management (LPM) Supported BESL value 3840 us SuperSpeed USB Device Capability: bLength 10 bDescriptorType 16 bDevCapabilityType 3 bmAttributes 0x00 wSpeedsSupported 0x000e Device can operate at Full Speed (12Mbps) Device can operate at High Speed (480Mbps) Device can operate at SuperSpeed (5Gbps) bFunctionalitySupport 1 Lowest fully-functional device speed is Full Speed (12Mbps) bU1DevExitLat 10 micro seconds bU2DevExitLat 32 micro seconds SuperSpeedPlus USB Device Capability: bLength 20 bDescriptorType 16 bDevCapabilityType 10 bmAttributes 0x00000001 Sublink Speed Attribute count 1 Sublink Speed ID count 0 wFunctionalitySupport 0x1100 bmSublinkSpeedAttr[0] 0x000a4030 Speed Attribute ID: 0 10Gb/s Symmetric RX SuperSpeedPlus bmSublinkSpeedAttr[1] 0x000a40b0 Speed Attribute ID: 0 10Gb/s Symmetric TX SuperSpeedPlus Device Status: 0x0001 Self Powered Bus 004 Device 003: ID 0411:0338 BUFFALO INC. (formerly MelCo., Inc.) HD-NRLD-A Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 3.20 bDeviceClass 0 bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 9 idVendor 0x0411 BUFFALO INC. (formerly MelCo., Inc.) idProduct 0x0338 bcdDevice 1.06 iManufacturer 1 BUFFALO iProduct 2 HD-NRLD-A iSerial 3 0010512140104564 bNumConfigurations 1 Configuration Descriptor: bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 0x002c bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 bmAttributes 0xc0 Self Powered MaxPower 8mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 2 bInterfaceClass 8 Mass Storage bInterfaceSubClass 6 SCSI bInterfaceProtocol 80 Bulk-Only iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0400 1x 1024 bytes bInterval 0 bMaxBurst 15 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x02 EP 2 OUT bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0400 1x 1024 bytes bInterval 0 bMaxBurst 15 Binary Object Store Descriptor: bLength 5 bDescriptorType 15 wTotalLength 0x002a bNumDeviceCaps 3 USB 2.0 Extension Device Capability: bLength 7 bDescriptorType 16 bDevCapabilityType 2 bmAttributes 0x00000f0e BESL Link Power Management (LPM) Supported BESL value 3840 us SuperSpeed USB Device Capability: bLength 10 bDescriptorType 16 bDevCapabilityType 3 bmAttributes 0x00 wSpeedsSupported 0x000e Device can operate at Full Speed (12Mbps) Device can operate at High Speed (480Mbps) Device can operate at SuperSpeed (5Gbps) bFunctionalitySupport 1 Lowest fully-functional device speed is Full Speed (12Mbps) bU1DevExitLat 10 micro seconds bU2DevExitLat 32 micro seconds SuperSpeedPlus USB Device Capability: bLength 20 bDescriptorType 16 bDevCapabilityType 10 bmAttributes 0x00000001 Sublink Speed Attribute count 1 Sublink Speed ID count 0 wFunctionalitySupport 0x1100 bmSublinkSpeedAttr[0] 0x000a4030 Speed Attribute ID: 0 10Gb/s Symmetric RX SuperSpeedPlus bmSublinkSpeedAttr[1] 0x000a40b0 Speed Attribute ID: 0 10Gb/s Symmetric TX SuperSpeedPlus Device Status: 0x0001 Self Powered ito@calc:~$ ito@calc:~$ sudo lsusb -d 05e3:0764 -v Bus 004 Device 003: ID 05e3:0764 Genesys Logic, Inc. USB Storage Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 3.20 bDeviceClass 0 bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 9 idVendor 0x05e3 Genesys Logic, Inc. bMaxPacketSize0 9 idVendor 0x05e3 Genesys Logic, Inc. idProduct 0x0764 bcdDevice 29.58 iManufacturer 3 Generic iProduct 4 USB Storage iSerial 2 000000002958 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 0x002c bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 bmAttributes 0x80 (Bus Powered) MaxPower 896mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 2 bInterfaceClass 8 Mass Storage bInterfaceSubClass 6 SCSI bInterfaceProtocol 80 Bulk-Only iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0400 1x 1024 bytes bInterval 0 bMaxBurst 4 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x02 EP 2 OUT bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0400 1x 1024 bytes bInterval 0 bMaxBurst 4 Binary Object Store Descriptor: bLength 5 bDescriptorType 15 wTotalLength 0x0016 bNumDeviceCaps 2 USB 2.0 Extension Device Capability: bLength 7 bDescriptorType 16 bDevCapabilityType 2 bmAttributes 0x00000f0e BESL Link Power Management (LPM) Supported BESL value 3840 us SuperSpeed USB Device Capability: bLength 10 bDescriptorType 16 bDevCapabilityType 3 bmAttributes 0x00 wSpeedsSupported 0x000e Device can operate at Full Speed (12Mbps) Device can operate at High Speed (480Mbps) Device can operate at SuperSpeed (5Gbps) bFunctionalitySupport 1 Lowest fully-functional device speed is Full Speed (12Mbps) bU1DevExitLat 10 micro seconds bU2DevExitLat 2047 micro seconds Device Status: 0x0000 (Bus Powered) ito@calc:~$
まとめ
目的を達成できました。
| interface | Bus 004(今回追加) | Bus 002(既設) |
|---|---|---|
| USB interface standard | USB3.2 Gen.2 (10Gbps) | USB2.0(480Mbps) |
| USB3.1 Gen1 Mass Storage USB transfer rate | 5Gbps (USB3.1 Gen1) | 480Mbps(USB2.0) |
以上
家庭内の情報共有【その2】(Alexa Echo Plus, Any.do)
目次
目的
以前のエントリ家庭内の情報共有(Slack, Trello, IFTTT, HUBOT, Zaim, MyThings) - heyheytowerで家庭内の情報共有についてまとめておりました。
今回 Alexa Echo Plus を購入したので、Alexa の "買い物リスト"、"やることリスト" と自分の定期タスク管理を連動したく、ToDoアプリ選定・Slack*1 連動を目的としました。
概要
本エントリでは下記の調査・実施を行った。
- Alexa の "買い物リスト"、"やることリスト" と連動できるToDoアプリの選定(Any.do一択でした)
- タスク管理ソフト "Any.do" と Slack を連動する方法
- 未処理タスクの slack リマインド実行の実装
方法
ToDoアプリの選定
日本語圏で使えるToDoアプリは "Any.do"*2 一択でした。
しかしながら Trello*3 と同じように、下記が実行できるので問題ないと判断しました。
- 定期タスク追加が可能(週・月一は設定できるが、2週に一回などは設定できないが)
- やったかやっていなかチェックできる
- Slack と連動できる(IFTTTなど経由で。アプリネイティブではサービスは無し。)
タスク管理ソフト "Any.do" と Slack を連動する方法
単純に IFTTT*4 を利用します。
- Item added to your To Do List
- Item completed on your To Do List
- Item added to your Shopping List
- Item completed on your Shopping List
Alexa の上記トリガーと、Slack 出力を連携させます。 ※2018/11初旬ほどから日本語化けが直り、ようやく運用に乗るようになりました。
未処理タスクのリマインド実行の実装
Any.do のリストをコマンドから操作できるado-cli - npmを利用し、必要な出力を抜き出し、Slack へ投稿します。 (公式APIなどはなさそうでした。) Slack への投稿は[10分で出来る]シェルスクリプトの結果をslackに投稿 - Qiitaのスクリプトを使わせていただきました。
$ cat /home/pi/Programs/shell/181103-slack-anydo/anydo-daily.sh #!/bin/sh /home/pi/.anyenv/envs/ndenv/versions/v8.9.3/bin/ado login -e mail@address -p password /home/pi/.anyenv/envs/ndenv/versions/v8.9.3/bin/ado list | sed ':lbl1;N;s/SOMEDAY.*TODAY.*\n//;b lbl1;' | grep -E "掃除|todo" | /home/pi/Programs/shell/181103-slack-anydo/slack-todo.sh /home/pi/.anyenv/envs/ndenv/versions/v8.9.3/bin/ado list | sed ':lbl1;N;s/SOMEDAY.*TODAY.*\n//;b lbl1;' | grep -v -E '^$' | grep -v -E "掃除|todo" | /home/pi/Programs/shell/181103-slack-anydo/slack-shopping.sh $ $ ls -la /home/pi/Programs/shell/181103-slack-anydo/anydo-daily.sh -rwxrwxrwx 1 pi pi 528 11月 5 01:44 /home/pi/Programs/shell/181103-slack-anydo/anydo-daily.sh
ado-cli は表示するリストを指定できないので下記をうまくGrepしてそれぞれ、買い物リスト・やることリストの項目として Slack 通知しています。
- Alexa から買い物リスト追加だと Any.do では SOMEDAY に登録される
- Alexa からやることリスト追加だと Any.do ではTODAYに登録される
$ /home/pi/.anyenv/envs/ndenv/versions/v8.9.3/bin/ado list SOMEDAY (0) - パン用スキム UPCOMING (19) - [掃除]床の水拭き - [掃除]ホコリ取り -snip- - [todo]ドキュメント整理 - [todo]通帳記帳 TOMORROW (0) TODAY (1) - [todo]ドキュメント整理
定時投稿は cron を使います。
$ sudo crontab -e # Daily 0 17 * * * /home/pi/Programs/shell/181103-slack-anydo/anydo-daily.sh
まとめ
目的については達成しました。
これで声によって、やることリスト・買い物リストへの追加が行え、そしてそのリストの残タスクを Slack にて確認することもできるようになりました。
現在試験運用中なので、これから使用感・運用に伴う変更点や追加点など随時更新したいと思います。
以上


