Turris Mox USB (from module A) not working any more (for mass storage) after TOS 6.0 upgrade

What branch are you on? hbs? or hbs-sdio?

Iā€™m probably on hbs (did not try to manually switch to another one). How can I check?

edit: found a way to check: Iā€™m indeed on hbs:

root@turris:~# cat /etc/config/updater

config turris 'turris'
	option mode 'branch'
	option branch 'hbs'

config l10n 'l10n'
	list langs 'fr'

config autorun 'autorun'
	option enable '1'
	option approvals '1'

I switched back to my snapshot of January 15th, asked the UI to look for updates again, and it still finds kernel 5.15.88.

Then you could try switching to hbt. There is no release currently in testing, but it might still be worth tryingā€¦

switch-branch hbt

In fact, if I open file https://repo.turris.cz/hbs/mox/packages/core/Packages.gz (which is the URL grabbed if I run opkg update, on hbs branch), it only contains kernel 5.15.88, no 5.15.89.

and the hbs-sdio branch (https://repo.turris.cz/hbs-sdio/mox/packages/core/Packages.gz) contains an older kernel: 4.14.294-1

@peci1 : hbt is also with 5.15.88. I would need to switch to hbk to have 5.15.89. @jada4p on which branch are you?

When I read Turris OS 6.2.2 is out!, I thought it meant it was released on hbs?

Correct.

I think weā€™re just randomly trying to find stuff that might help you. Trying to switch to hbk might be a good test to see whether your issue is still there.

I tried hbs, hbt (6.2.2 with kernel 5.15.88) and hbk (6.2.3 with kernel 5.15.89).
My USB3 HDD doesnā€™t work with any of those versions.

6.2.2:

# uname -a
Linux turris 5.15.88 #0 SMP Wed Jan 18 07:04:32 2023 aarch64 GNU/Linux

# cat /etc/os-release 
NAME="TurrisOS"
VERSION="6.2.2"
ID="turrisos"
ID_LIKE="lede openwrt"
PRETTY_NAME="TurrisOS 6.2.2"
VERSION_ID="6.2.2"
HOME_URL="https://www.turris.cz/"
BUG_URL="https://gitlab.nic.cz/groups/turris/-/issues/"
SUPPORT_URL="https://www.turris.cz/support/"
BUILD_ID="r16820+125-8b46a263ab"
OPENWRT_BOARD="mvebu/cortexa53"
OPENWRT_ARCH="aarch64_cortex-a53"
OPENWRT_TAINTS="busybox"
OPENWRT_DEVICE_MANUFACTURER="CZ.NIC"
OPENWRT_DEVICE_MANUFACTURER_URL="https://www.turris.cz/"
OPENWRT_DEVICE_PRODUCT="Turris Mox"
OPENWRT_DEVICE_REVISION="v0"
OPENWRT_RELEASE="TurrisOS 6.2.2 8b46a263ab4afaf9857f0d29d369c2eefbf8a4f4"

# df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/mmcblk0p1        15554048   1719212  12216148  12% /
devtmpfs                   512         0       512   0% /dev
tmpfs                   249172     20716    228456   8% /tmp
tmpfs                      512         0       512   0% /dev

# lsusb -vt
/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci-hcd/1p, 5000M
    ID 1d6b:0003  
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci-hcd/1p, 480M
    ID 1d6b:0002  
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=orion-ehci/1p, 480M
    ID 1d6b:0002  

# opkg list-installed kmod-usb*
kmod-usb-core - 5.15.88-2-64722ee4b91fa2779e55bbf4f1bbe4a6
kmod-usb-ehci - 5.15.88-2-64722ee4b91fa2779e55bbf4f1bbe4a6
kmod-usb-storage - 5.15.88-2-64722ee4b91fa2779e55bbf4f1bbe4a6
kmod-usb-storage-extras - 5.15.88-2-64722ee4b91fa2779e55bbf4f1bbe4a6
kmod-usb-storage-uas - 5.15.88-2-64722ee4b91fa2779e55bbf4f1bbe4a6
kmod-usb2 - 5.15.88-2-64722ee4b91fa2779e55bbf4f1bbe4a6

6.2.3:

# uname -a
Linux turris 5.15.89 #0 SMP Fri Jan 27 00:08:56 2023 aarch64 GNU/Linux

# cat /etc/os-release 
NAME="TurrisOS"
VERSION="6.2.3"
ID="turrisos"
ID_LIKE="lede openwrt"
PRETTY_NAME="TurrisOS 6.2.3"
VERSION_ID="6.2.3"
HOME_URL="https://www.turris.cz/"
BUG_URL="https://gitlab.nic.cz/groups/turris/-/issues/"
SUPPORT_URL="https://www.turris.cz/support/"
BUILD_ID="r16821+124-944265347a"
OPENWRT_BOARD="mvebu/cortexa53"
OPENWRT_ARCH="aarch64_cortex-a53"
OPENWRT_TAINTS="busybox"
OPENWRT_DEVICE_MANUFACTURER="CZ.NIC"
OPENWRT_DEVICE_MANUFACTURER_URL="https://www.turris.cz/"
OPENWRT_DEVICE_PRODUCT="Turris Mox"
OPENWRT_DEVICE_REVISION="v0"
OPENWRT_RELEASE="TurrisOS 6.2.3 944265347a81eadc3354731d5f739a6a4fdf6e7b"

# lsusb -vt
/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci-hcd/1p, 5000M
    ID 1d6b:0003  
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci-hcd/1p, 480M
    ID 1d6b:0002  
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=orion-ehci/1p, 480M
    ID 1d6b:0002  

# df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/mmcblk0p1        15554048   2224732  11755092  16% /
devtmpfs                   512         0       512   0% /dev
tmpfs                   249172     20704    228468   8% /tmp
tmpfs                      512         0       512   0% /dev

# opkg list-installed kmod-usb*
kmod-usb-core - 5.15.89-1-64722ee4b91fa2779e55bbf4f1bbe4a6
kmod-usb-ehci - 5.15.89-1-64722ee4b91fa2779e55bbf4f1bbe4a6
kmod-usb-storage - 5.15.89-1-64722ee4b91fa2779e55bbf4f1bbe4a6
kmod-usb-storage-extras - 5.15.89-1-64722ee4b91fa2779e55bbf4f1bbe4a6
kmod-usb-storage-uas - 5.15.89-1-64722ee4b91fa2779e55bbf4f1bbe4a6
kmod-usb2 - 5.15.89-1-64722ee4b91fa2779e55bbf4f1bbe4a6

Iā€™ve rolled back to 5.4.4 where USB3 drive works just fine.

Just to add, re-connecting USB cable to MOX doesnā€™t make any effect, nothing in dmesg output.

1 Like

Thatā€™s it! On MOX Iā€™m on HBK branch, on Omnia itā€™s HBS :wink:

I think you can safely switch to HBK branch as well, at least to be able to use USB3 for time being, and later switch back to HBS, to be on safe side :wink:

Well, not so sure that switching to hbk is enough, based on the feedback from @padam above.

Iā€™ve reverted to 5.4.4 too, because I canā€™t block all my hosted services for too long.

USB3 still doesnā€™t work for me on MOX hbs 6.2.2 either. I tried a flash drive and a USB3 SATA adapter.

As a workaround I got myself a USB2 SATA adapter.

It doesnā€™t work on 6.2.3. I did a factory reset to 6.2.2 and then switched to HBK branch, and my USB3.0 devices are still ignored.

Iā€™ve just updated my unused MOX from 6.1.0 to 6.2.2. On 6.1.0, an external magnetic drive did not show up in dmesg, while a USB flash did. On 6.2.2, I can see both. So it seems the fix worked for some devices, but not yet for all. Did you also try other USB3 storage devices? Could you spot some important difference for the working ones and non-working ones in lsusb -v?

If the problem is not insufficient power supply ??

If the problem ā€¦ is not insufficient power supply ??

I have external USB3 HDD which has itā€™s own power, so I guess thatā€™s not related.

In my case (6.2.2 hbs), I had tested with 3 different USB3 mass-storage devices, all not detected at all:

An external hard drive (which is the one I really need to have working):

Bus 003 Device 002: ID 152d:1576 JMicron Technology Corp. / JMicron USA Technology Corp. External Disk 3.0
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               3.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0         9
  idVendor           0x152d JMicron Technology Corp. / JMicron USA Technology Corp.
  idProduct          0x1576 External Disk 3.0
  bcdDevice            2.04
  iManufacturer           1 JMicron
  iProduct                2 JMS579
  iSerial                 3 987654321029
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength          121
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              224mA
    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
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       1
      bNumEndpoints           4
      bInterfaceClass         8 Mass Storage
      bInterfaceSubClass      6 SCSI
      bInterfaceProtocol     98 
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x01  EP 1 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0400  1x 1024 bytes
        bInterval               0
        bMaxBurst               0
        Command pipe (0x01)
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0400  1x 1024 bytes
        bInterval               0
        bMaxBurst               0
        MaxStreams             32
        Status pipe (0x02)
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0400  1x 1024 bytes
        bInterval               0
        bMaxBurst              15
        MaxStreams             32
        Data-in pipe (0x03)
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x04  EP 4 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0400  1x 1024 bytes
        bInterval               0
        bMaxBurst               7
        MaxStreams             32
        Data-out pipe (0x04)
Binary Object Store Descriptor:
  bLength                 5
  bDescriptorType        15
  wTotalLength           22
  bNumDeviceCaps          2
  USB 2.0 Extension Device Capability:
    bLength                 7
    bDescriptorType        16
    bDevCapabilityType      2
    bmAttributes   0x00000f0e
      Link Power Management (LPM) Supported
  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
Device Status:     0x0000
  (Bus Powered)

And 2 different USB sticks for testing (from the same brand, lsusb -v gives almost identical data):

Bus 004 Device 003: ID 0951:1666 Kingston Technology DataTraveler 100 G3/G4/SE9 G2/50
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               3.20
  bDeviceClass            0 
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0         9
  idVendor           0x0951 Kingston Technology
  idProduct          0x1666 DataTraveler 100 G3/G4/SE9 G2/50
  bcdDevice            1.10
  iManufacturer           1 Kingston
  iProduct                2 DataTraveler 3.0
  iSerial                 3 408D5CE57217E46079118521
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength       0x002c
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              504mA
    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               3
      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               3
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   0x00000006
      BESL Link Power Management (LPM) Supported
  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   2
      Lowest fully-functional device speed is High Speed (480Mbps)
    bU1DevExitLat          10 micro seconds
    bU2DevExitLat        2047 micro seconds
Device Status:     0x0000
  (Bus Powered)
Bus 004 Device 004: ID 0951:1666 Kingston Technology DataTraveler 100 G3/G4/SE9 G2/50
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               3.10
  bDeviceClass            0 
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0         9
  idVendor           0x0951 Kingston Technology
  idProduct          0x1666 DataTraveler 100 G3/G4/SE9 G2/50
  bcdDevice            1.10
  iManufacturer           1 Kingston
  iProduct                2 DataTraveler 3.0
  iSerial                 3 60A44C3FABFFE260F96C11CF
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength       0x002c
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              504mA
    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               3
      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               3
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   0x00000006
      BESL Link Power Management (LPM) Supported
  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   2
      Lowest fully-functional device speed is High Speed (480Mbps)
    bU1DevExitLat          10 micro seconds
    bU2DevExitLat        2047 micro seconds
Device Status:     0x0000
  (Bus Powered)
1 Like

6.2.2. - tried USB3 flashdisk - in modul A not working, in modul F working OK.

I see that @jada4p reported working USB3 in Turris OS 6.2.3 is in the testing branch - #2 by jada4p (with TOS 6.2.3, on hbk branch). It was already working for him with 6.2.2, and USB3 is not mentioned in the changelog of 6.2.3.

If anyone else can test on hbk, it would be cool to give your status on your USB3 mass-storage devices on the same thread. Iā€™d say itā€™s likely to give the same result as with 6.2.2, but I might be wrong.

Forget the link above, 6.2.3 is already in hbs, and feedback can be written in Turris OS 6.2.3 is out!
I will be unable to test in the short term, but it would be good to make them aware that the usb3 issue is not fixed for all users/devices

Tested on 6.2.3 hbs - USB3 not working for me. Details shared in the Turris OS 6.2.3 is out!

2 Likes