USB3.0でやられた

Ubuntu18.04LTSで動いていたPCに、いままでUSB3.0のポータブルHDDを12台繋いで、17TBを確保していたのですが、そこへ4TBx4を繋いだら、

 

[   98.155725] xhci_hcd 0000:00:14.0: Error while assigning device slot ID

[   98.156051] xhci_hcd 0000:00:14.0: Max number of devices this xHCI host supports is 32.

[   98.156399] usb usb2-port4: couldn't allocate usb_device

 

 

と言われてしまいました

http://marc.merlins.org/perso/linux/post_2018-12-20_Getting-Around-USB3-xhci-32-Device-Limit-_Max-number-of-devices-this-xHCI-host-supports-is-32_.html

で説明があるように、96endpoint / 3endpoint = 32deviceが最大値なのね。

また、

[   97.566061] scsi 19:0:0:0: Direct-Access     WD       My Passport 25E2 4005 PQ: 0 ANSI: 6

[   97.567823] scsi 19:0:0:1: Enclosure         WD       SES Device       4005 PQ: 0 ANSI: 6

[   97.572629] sd 19:0:0:0: Attached scsi generic sg24 type 0

[   97.572844] sd 19:0:0:0: [sds] Very big device. Trying to use READ CAPACITY(16).

[   97.573270] sd 19:0:0:0: [sds] 7813969920 512-byte logical blocks: (4.00 TB/3.64 TiB)

[   97.573283] sd 19:0:0:0: [sds] 4096-byte physical blocks

[   97.573357] ses 19:0:0:1: Attached Enclosure device

[   97.573898] sd 19:0:0:0: [sds] Write Protect is off

[   97.573910] ses 19:0:0:1: Attached scsi generic sg25 type 13

[   97.573914] sd 19:0:0:0: [sds] Mode Sense: 47 00 10 08

[   97.574535] sd 19:0:0:0: [sds] No Caching mode page found

[   97.574825] sd 19:0:0:0: [sds] Assuming drive cache: write through

[   97.576108] ses 19:0:0:1: Wrong diagnostic page; asked for 1 got 8

[   97.576426] ses 19:0:0:1: Failed to get diagnostic page 0x1

[   97.576679] ses 19:0:0:1: Failed to bind enclosure -19

[   97.588934] sds: sds1

[   97.592901] sd 19:0:0:0: [sds] Attached SCSI disk

 

 

とログが出ている通り、ポータブルHDD1個に2個デバイスがある状態ですし、

lsusbは以下の通り。

 

root@localhost:~# lsusb  -t

/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/6p, 5000M

    |__ Port 2: Dev 2, If 0, Class=Hub, Driver=hub/4p, 5000M

        |__ Port 1: Dev 3, If 0, Class=Mass Storage, Driver=usb-storage, 5000M

        |__ Port 2: Dev 4, If 0, Class=Mass Storage, Driver=usb-storage, 5000M

        |__ Port 3: Dev 5, If 0, Class=Mass Storage, Driver=usb-storage, 5000M

        |__ Port 4: Dev 6, If 0, Class=Hub, Driver=hub/4p, 5000M

            |__ Port 3: Dev 9, If 0, Class=Mass Storage, Driver=usb-storage, 5000M

            |__ Port 1: Dev 7, If 0, Class=Mass Storage, Driver=usb-storage, 5000M

            |__ Port 4: Dev 10, If 0, Class=Hub, Driver=hub/4p, 5000M

                |__ Port 4: Dev 14, If 0, Class=Hub, Driver=hub/4p, 5000M

                    |__ Port 3: Dev 16, If 0, Class=Mass Storage, Driver=usb-storage, 5000M

                    |__ Port 1: Dev 15, If 0, Class=Mass Storage, Driver=usb-storage, 5000M

                    |__ Port 4: Dev 17, If 0, Class=Mass Storage, Driver=usb-storage, 5000M

                |__ Port 2: Dev 12, If 0, Class=Mass Storage, Driver=usb-storage, 5000M

                |__ Port 3: Dev 13, If 0, Class=Mass Storage, Driver=usb-storage, 5000M

                |__ Port 1: Dev 11, If 0, Class=Mass Storage, Driver=usb-storage, 5000M

            |__ Port 2: Dev 8, If 0, Class=Mass Storage, Driver=usb-storage, 5000M

/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/7p, 480M

    |__ Port 2: Dev 2, If 0, Class=Hub, Driver=hub/4p, 480M

        |__ Port 4: Dev 4, If 0, Class=Hub, Driver=hub/4p, 480M

            |__ Port 4: Dev 6, If 0, Class=Hub, Driver=hub/4p, 480M

                |__ Port 4: Dev 9, If 0, Class=Hub, Driver=hub/4p, 480M

                    |__ Port 2: Dev 10, If 0, Class=Mass Storage, Driver=usb-storage, 480M

    |__ Port 3: Dev 11, If 0, Class=Wireless, Driver=btusb, 12M

    |__ Port 3: Dev 11, If 1, Class=Wireless, Driver=btusb, 12M

    |__ Port 4: Dev 5, If 0, Class=Hub, Driver=hub/4p, 480M

        |__ Port 4: Dev 8, If 0, Class=Mass Storage, Driver=usb-storage, 480M

    |__ Port 5: Dev 7, If 0, Class=Hub, Driver=hub/4p, 480M

        |__ Port 2: Dev 12, If 0, Class=Hub, Driver=hub/4p, 480M

            |__ Port 1: Dev 13, If 0, Class=Mass Storage, Driver=usb-storage, 480M

            |__ Port 2: Dev 14, If 0, Class=Mass Storage, Driver=usb-storage, 480M

            |__ Port 3: Dev 15, If 0, Class=Hub, Driver=hub/4p, 480M

            |__ Port 4: Dev 16, If 0, Class=Hub, Driver=hub/4p, 480M

                |__ Port 2: Dev 18, If 0, Class=Mass Storage, Driver=usb-storage, 480M

                |__ Port 1: Dev 17, If 0, Class=Mass Storage, Driver=usb-storage, 480M

root@localhost:~#

 

 

というわけで、一番簡単なのは、usb2.0として使えば 127endpointになるよってことみたい。

尚、

PCは 

https://www.amazon.co.jp/dp/B07GN7SVY6/ref=cm_sw_em_r_mt_dp_U_hbCHDb32PW0S2 なので、PCIeでrootを増やすとか無理だし、

さてどうしようかな

 

ちなみにUSB HUB1個目は https://www.amazon.co.jp/gp/product/B00JWMLYUC/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&psc=1

USB HUB 2個目は 

https://www.amazon.co.jp/dp/B07QPDBX5L/ref=cm_sw_em_r_mt_dp_U_XfCHDbBDYNX5D

です