Odroid N2+ schnelle lokale Festplatte (SSD) per USB

  • Hallo,


    mein vdr läuft auf Odroid N2+ (4GB) Hardware. Das System ist auf eMMC, Video auf USB Festplatte - siehe Signatur.

    vdr1 CE-21ng Kernel 4.9.269

    vdr2 CE-22no Kernel 5.15.119


    Ziel ist das maximum der USB Datenübertragung herauszuholen.


    Am vdr1 verwende ich zwei unterschiedliche USB-C M.2 Gehäuse:

    Code
    vdr1:~ # lsusb -t
    ..
    /:  Bus 001.Port 001: Dev 001, Class=root_hub, Driver=xhci-hcd/2p, 480M
        |__ Port 001: Dev 002, If 0, Class=Hub, Driver=hub/4p, 480M
            |__ Port 001: Dev 003, If 0, Class=Vendor Specific Class, Driver=em28xx, 480M
            |__ Port 002: Dev 004, If 0, Class=Vendor Specific Class, Driver=em28xx, 480M
            |__ Port 003: Dev 005, If 0, Class=Mass Storage, Driver=usb-storage, 480M
            |__ Port 004: Dev 006, If 0, Class=Mass Storage, Driver=usb-storage, 480M
    /:  Bus 002.Port 001: Dev 001, Class=root_hub, Driver=xhci-hcd/1p, 5000M
        |__ Port 001: Dev 002, If 0, Class=Hub, Driver=hub/4p, 5000M

    Für Aufnahmen: ICY Box IB-1816CM-C31, welches nur NVME kann. Verbaut ist eine M.2 NVME, Typ Intel SSD 660p 2TB (SSDPEKNW020T8). Verwendeter Chipsatz: JMS583

    GPT Schema, Partition mit XFS Dateisystem.


    Aktuelle Werte:

    Code
    vdr1:~ # hdparm -t /dev/sda1
    
    /dev/sda1:
    Timing buffered disk reads:  44 MB in  3.13 seconds =  14.05 MB/sec

    Laut dmesg und lsusb wird Driver=usb-storage verwendet.


    Als Archivspeicher: Sabrent EC-SNVE, welches M.2 NVME/SATA kann. Verbaut ist eine SATA M.2 SSD, Typ Transcend MTS830S 4TB. Verwendeter Chipsatz Realtek RTL92108B

    GPT Schema, Partition mit exFAT Dateisystem.


    Aktuelle Werte:

    Code
    vdr1:~ # hdparm -t /dev/sdb2
    
    /dev/sdb2:
     Timing buffered disk reads:  46 MB in  3.09 seconds =  14.88 MB/sec


    Als Kabel verwende ich deleyCON 15cm USB-A auf USB-C Kabel


    Performance enttäuschend :(


    Von den Sabrent Gehäusen habe ich zwei Stück. Wenn ich die Intel M.2 NVME in das Zweite einbaue, verliert das System nach einiger Zeit die Aufnahmeplatte und das System hängt komplett.

    Bin dann schnell wieder auf das Icy Box Gehäuse zurück. Archivplatte, gleiche Firmware/Gehäuse, SATA SSD, da passiert das nicht...


    Probiert habe ich bisher:

    - 12v 4,16A Netzteil für Odroid N2+

    - andere USB Ports

    - aktiven USB 3 Hub mit Stromversorgung

    - Firmware Update vom Sabrent EC-SNVE auf 1.33.44.011824 laut diesem Thema, Firmware Quelle.


    An einem anderen Ort habe ich gleiche Hardware aber mit CE-22no (Kernel 5.15.119) am laufen.


    Dort hängt eine "einfache" Samsung 870 Evo SATA SSD per Benfei USB SATA Adapter dran. Chipsatz hier: ?

    GPT Schema, Partition mit XFS Dateisystem.

    Code
    vdr2:~ # lsusb -t
    /:  Bus 001.Port 001: Dev 001, Class=root_hub, Driver=xhci-hcd/2p, 480M
        |__ Port 001: Dev 002, If 0, Class=Hub, Driver=hub/4p, 480M
            |__ Port 001: Dev 003, If 0, Class=Vendor Specific Class, Driver=em28xx, 480M
    /:  Bus 002.Port 001: Dev 001, Class=root_hub, Driver=xhci-hcd/1p, 5000M
        |__ Port 001: Dev 002, If 0, Class=Hub, Driver=hub/4p, 5000M
            |__ Port 003: Dev 003, If 0, Class=Mass Storage, Driver=uas, 5000M

    Dort wird uas verwendet !?

    Code
    vdr2:~ # hdparm -t /dev/sda1
    
    /dev/sda1:
     Timing buffered disk reads: 1084 MB in  3.05 seconds = 355.74 MB/sec


    Was könnte ich noch tun um oben (vdr1) mehr herauszuholen?


    Liegt das am moderneren Kernel, ok anderes USB-A/USB-C Kabel kann ich nochmal bestellen und probieren...

    Quertauschen probiere ich auch nochmal.


    Bin für Hilfe dankbar

    Rossi

    Edited once, last by vdr_rossi ().

  • Kann mir nur vorstellen, dass die Chips in den SATA-USB-Konvertern unterschiedlich gut unterstützt werden. Ich verwende ein günstiges Gehäuse und eine ausrangierte 500GB-SSD von Samsung aus der EVO-Reihe, die ext4-formatiert ist.

    Code
    CoreELEC:~ # hdparm -t /dev/sda1
    
    /dev/sda1:
     Timing buffered disk reads: 916 MB in  3.00 seconds = 305.28 MB/sec

    Kernel ist 4.9.269

    VDR1: ACT-620, Asus P8B75-M LX, Intel Core i3-3240, 4 GB DDR3 RAM 1600 MHz, passive Geforce GT1030 von MSI, Sandisk 2TB SSD, 2xWinTV DualHD, Atric-IR-Einschalter. SW: Xubuntu 20.04 auf 64GB Sandisk SSD.

    VDR2: Odroid N2+ mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    VDR3: Tanix TX3 mit CoreELEC und Ubuntu in chroot, WinTV DualHD

  • Es kommt auch drauf an, wie der USB Port vom BIOS konfiguriert wird.

    Ich hatte das mal, das je nach BIOS Einstellung eine SATA über USB angeschlossen, langsam bzw. schnell lief.


    In der Kette USB-Port mit BIOS-Einstellungen <-> USB-SATA/NVME-Adapter mit Firmware <-> SATA/NVME-Disk mit Firmware muss halt alles stimmen.

  • Der Odroid N2 hat kein BIOS. Zumindest keines, das man aufrufen und konfigurieren könnte.

    VDR1: ACT-620, Asus P8B75-M LX, Intel Core i3-3240, 4 GB DDR3 RAM 1600 MHz, passive Geforce GT1030 von MSI, Sandisk 2TB SSD, 2xWinTV DualHD, Atric-IR-Einschalter. SW: Xubuntu 20.04 auf 64GB Sandisk SSD.

    VDR2: Odroid N2+ mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    VDR3: Tanix TX3 mit CoreELEC und Ubuntu in chroot, WinTV DualHD

  • Der Odroid N2 hat kein BIOS. Zumindest keines, das man aufrufen und konfigurieren könnte.

    Aber vermutlich wird beim Booten der device tree initialisiert.


    Jedoch keine Ahnung, ob das für das Problem hilft. War nur ein Denkanstoss.

    Kann auch sein, dass die Firmwares nicht miteinander können.

  • Ok, also kann auch Driver=usb-storage schnell. Es muss nicht zwingend Driver=uas sein.

    Wichtig ist die Zahl dahinter: 5000M oder 480M


    Wenn in meinem "fliegenden" Aufbau eine schnelle Festplattenanbindung gegeben ist, soll alles kompakt in ein 3D Gehäuse verstaut werden.

    2x M.2 wäre da praktischer. Naja, muss ich halt umdisponieren auf 2,5"

  • Was hat denn das Quertauschen ergeben?

    Also die langsamen Adapter+NVME/SATA am vdr2 (mit CE-22no (Kernel 5.15.119))?

    Langsam bleibt langsam.


    Richtig, den oben erwähnten Archivspeicher am vdr2 mit neuem Kernel:

    Code
    vdr2:~ # lsusb -t
    /:  Bus 001.Port 001: Dev 001, Class=root_hub, Driver=xhci-hcd/2p, 480M
        |__ Port 001: Dev 002, If 0, Class=Hub, Driver=hub/4p, 480M
            |__ Port 001: Dev 003, If 0, Class=Vendor Specific Class, Driver=em28xx, 480M
            |__ Port 004: Dev 004, If 0, Class=Mass Storage, Driver=usb-storage, 480M
    /:  Bus 002.Port 001: Dev 001, Class=root_hub, Driver=xhci-hcd/1p, 5000M
        |__ Port 001: Dev 002, If 0, Class=Hub, Driver=hub/4p, 5000M

    Also auch nur 480M (=USB2 Geschwindigkeit?)

    Code
    vdr2:~ # hdparm -t /dev/sda2
    
    /dev/sda2:
     Timing buffered disk reads:  68 MB in  3.07 seconds =  22.18 MB/sec

    Minimal besser. Aber immer noch nicht akzeptabel.


    Wobei der Benfei USB SATA Adapter mit Samsung 870 Evo SATA SSD am vdr1 abliefert:

    Code
    vdr1:~ # hdparm -t /dev/sda1
    
    /dev/sda1:
     Timing buffered disk reads: 918 MB in  3.00 seconds = 305.99 MB/sec

    Wird am vdr1 auch mit 5000M (=USB3 Geschwindigkeit?) erkannt:

    Code
    vdr1:~ # lsusb -t
    ...
    /:  Bus 001.Port 001: Dev 001, Class=root_hub, Driver=xhci-hcd/2p, 480M
        |__ Port 001: Dev 002, If 0, Class=Hub, Driver=hub/4p, 480M
            |__ Port 001: Dev 003, If 0, Class=Vendor Specific Class, Driver=em28xx, 480M
            |__ Port 002: Dev 004, If 0, Class=Vendor Specific Class, Driver=em28xx, 480M
            |__ Port 003: Dev 005, If 0, Class=Mass Storage, Driver=usb-storage, 480M
    /:  Bus 002.Port 001: Dev 001, Class=root_hub, Driver=xhci-hcd/1p, 5000M
        |__ Port 001: Dev 002, If 0, Class=Hub, Driver=hub/4p, 5000M
            |__ Port 004: Dev 003, If 0, Class=Mass Storage, Driver=usb-storage, 5000M
  • Für Aufnahmen habe ich jetzt auch nochmal ICY Box IB-1916M-C32, probiert. Welches nur NVME kann. Verbaut ist die gleiche M.2 NVME, Typ Intel SSD 660p 2TB (SSDPEKNW020T8). Verwendeter Chipsatz: ASM3264

    GPT Schema, Partition mit XFS Dateisystem.

    Code
    vdr1:~ # lsusb -t
    ...
    /:  Bus 001.Port 001: Dev 001, Class=root_hub, Driver=xhci-hcd/2p, 480M
        |__ Port 001: Dev 002, If 0, Class=Hub, Driver=hub/4p, 480M
            |__ Port 001: Dev 003, If 0, Class=Vendor Specific Class, Driver=em28xx, 480M
            |__ Port 002: Dev 004, If 0, Class=Vendor Specific Class, Driver=em28xx, 480M
            |__ Port 003: Dev 005, If 0, Class=Mass Storage, Driver=usb-storage, 480M
    /:  Bus 002.Port 001: Dev 001, Class=root_hub, Driver=xhci-hcd/1p, 5000M
        |__ Port 001: Dev 002, If 0, Class=Hub, Driver=hub/4p, 5000M
            |__ Port 004: Dev 003, If 0, Class=Mass Storage, Driver=usb-storage, 5000M

    Auch nur 480M und

    Code
    vdr1:~ # hdparm -t /dev/sdb1
    
    /dev/sdb1:
     Timing buffered disk reads:  42 MB in  3.04 seconds =  13.83 MB/sec


    Das schnellste ist nach wie vor Benfei SATA USB mit Samsung SSD Kombination!

  • Hallo vdr_rossi,


    ich habe hier unter 20.5-Nexus (Kernel 4.9.269) einen einfachen ICY BOX IB-AC6031-U3 adapter mit einer Samsung SSD 860 und komme auf ca.260 MB/s.


    Meine Tests mit diversen ICY BOX USB-M2 Adaptern waren auch nicht nicht erfolgreich - eben nochmal getestet:


    Code
    /dev/sdb1 on /var/media/sdb1-usb-ASMT_USB_3.2_Dev type ext4 (rw,nosuid,nodev,noexec,noatime,stripe=8191,data=ordered)
    CoreELEC:~ # hdparm -t /dev/sdb1
    
    /dev/sdb1:
     Timing buffered disk reads:  64 MB in  3.01 seconds =  21.23 MB/sec
    CoreELEC:~ # 
    Code
    /:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci-hcd/1p, 5000M
        |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/4p, 5000M
            |__ Port 1: Dev 3, If 0, Class=Mass Storage, Driver=usb-storage, 5000M
            |__ Port 3: Dev 4, If 0, Class=Mass Storage, Driver=usb-storage, 5000M
    /:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci-hcd/2p, 480M
        |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/4p, 480M

    Gruß K.

    Und bist Du nicht willig, so brauch ich Geduld!
    System: TV Philips 4k, + CEC-Remote, Octopus Net

    Odroid N2+ mit VDRSternELEC

  • Es wird aber zweimal Driver=usb-storage, 5000M angezeigt?


    Welche zwei Festplattengehäuse sind das?

  • Meine USB3 Adapter für die Aufnahmen am N2+:

    für die SSD: ICY BOX IB-AC6031-U3 (mit Samsung SSD 860 Pro 1TB) = 260 MB/sec, produktiv im Einsatz

    für die NVME: ICY BOX IB-1916M-C32 (mit 2TB) = 20 MB/sec, zu langsam als VDR storage


    Gruß K.

    Und bist Du nicht willig, so brauch ich Geduld!
    System: TV Philips 4k, + CEC-Remote, Octopus Net

    Odroid N2+ mit VDRSternELEC

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


    Meine USB3 Adapter für die Aufnahmen am N2+:

    für die SSD: ICY BOX IB-AC6031-U3 (mit Samsung SSD 860 Pro 1TB) = 260 MB/sec, produktiv im Einsatz

    für die NVME: ICY BOX IB-1916M-C32 (mit 2TB) = 20 MB/sec, zu langsam als VDR storage

    Komisch, der NVME Adapter wird auch mit Driver=usb-storage, 5000M gelistet... und liefert trotzdem schlechte Werte?

    Die Kombination ist bei mir immer schnell.

    Edited 2 times, last by vdr_rossi: USB Liste und Hardware zusammengefasst ().

  • Für SATA habe ich gute Erfahrungen mit https://de.aliexpress.com/item/4000414988962.html und mit https://www.reichelt.de/adapte…link-au0012a-p211801.html

    Die habe ich sehr gründlich unter Windows getestet, und da laufen beide gut und schnell.


    Unter Linux ist aber nur der von aliexpress schnell.

    aliexpress:

    lsusb -t

    /: Bus 04.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 8: Dev 4, If 0, Class=Human Interface Device, Driver=usbhid, 12M

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

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

    /: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 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

    |__ Port 2: Dev 3, If 0, Class=Vendor Specific Class, Driver=ftdi_sio, 12M


    hdparm -t /dev/sdb8


    /dev/sdb8:

    Timing buffered disk reads: 806 MB in 3.00 seconds = 268.37 MB/sec


    lsusb

    Bus 004 Device 004: ID 1209:4444 Generic j1rie IRMP_STM32

    Bus 004 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub

    Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

    Bus 003 Device 004: ID 152d:0578 JMicron Technology Corp. / JMicron USA Technology Corp. JMS578 SATA 6Gb/s

    Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub

    Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

    Bus 001 Device 003: ID 0403:6001 Future Technology Devices International, Ltd FT232 Serial (UART) IC

    Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub

    Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub



    logilink:

    lsusb -t

    /: Bus 04.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 8: Dev 4, If 0, Class=Human Interface Device, Driver=usbhid, 12M

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

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

    |__ Port 2: Dev 3, 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

    |__ Port 2: Dev 3, If 0, Class=Vendor Specific Class, Driver=ftdi_sio, 12M


    hdparm -t /dev/sdb8


    /dev/sdb8:

    Timing buffered disk reads: 128 MB in 3.01 seconds = 42.49 MB/sec


    lsusb

    Bus 004 Device 004: ID 1209:4444 Generic j1rie IRMP_STM32

    Bus 004 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub

    Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

    Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub

    Bus 002 Device 003: ID 152d:0578 JMicron Technology Corp. / JMicron USA Technology Corp. JMS578 SATA 6Gb/s

    Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

    Bus 001 Device 003: ID 0403:6001 Future Technology Devices International, Ltd FT232 Serial (UART) IC

    Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub

    Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub


    Aus irgendeinem Grund schaltet der USB 3 Port auf USB 2 um, wenn der logilink dran ist (ich habe immer denselben Steckplatz verwendet).

  • Ich habe die Firmware vom aliexpress ausgelesen und auf den logilink geflasht, dadurch ist er aber nicht schneller geworden.

  • Ok, danke an alle Hinweisgeber.


    Dachte mir schon das es am verwendeten Chipsatz liegt. Deswegen habe ich meine oben probierten Chipsätze auch fett gemacht.

    Also scheint das Optimum der JMS578 zu sein. Wird auch hier im Hardkernel Forum erwähnt...


    Bestelle mir jetzt auf Verdacht einfach mal ein JMS578 Gehäuse. Am besten mit USB-C oder direktem USB Kabel.

    Außerdem will ich herausfinden welchen Chipsatz der Benfei USB SATA Adapter hat...


    Problem lässt sich nur durch probieren lösen.

  • Ist es der: https://www.amazon.de/BENFEI-S…kompatibel/dp/B07F7WDZGT/ ?


    Der USB 3 Port an meinem Linux Rechner kann kein UAS, deshalb nur 268 MB/sec.

    Am Windows Rechner mit UAS habe ich 430 MB/sec Durchsatz mit dem JMS578. Mit der SSD direkt am SATA sind es 539 MB/sec.

    Für SATA ist der JMS578 gut und günstig

  • Ja, genau der.


    Habe nun noch diesen: https://www.amazon.de/gp/produ…?smid=AK2BGF6EJBU6J&psc=1

    Adapter mit JMS578 Chip bestellt.


    Edit: Spin down müsste ich dann noch abschalten -> https://wiki.odroid.com/odroid-xu4/software/jms578_fw_update

    Edited once, last by vdr_rossi ().

  • wenn Ihr sicher gehen wollt, dass es an der Hardware und nicht an schlechten Treibern liegt, könnt Ihr versuchsweise ein Ubuntu mit Kernel 6.6 https://forum.odroid.com/viewtopic.php?f=177&t=48620 installieren. Darauf wird weder Kodi noch softhdodroid laufen, weil amlogic-spezifische Treiber fehlen. Wenn die USB3-Performance damit aber besser ist, müsste man im nächsten Schritt schauen, welche Patches es seit Kernel 4.9 bzw. 5.15 am xhci-hcd gegeben hat.

    VDR1: ACT-620, Asus P8B75-M LX, Intel Core i3-3240, 4 GB DDR3 RAM 1600 MHz, passive Geforce GT1030 von MSI, Sandisk 2TB SSD, 2xWinTV DualHD, Atric-IR-Einschalter. SW: Xubuntu 20.04 auf 64GB Sandisk SSD.

    VDR2: Odroid N2+ mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    VDR3: Tanix TX3 mit CoreELEC und Ubuntu in chroot, WinTV DualHD

  • Wenn die USB3-Performance damit aber besser ist, müsste man im nächsten Schritt schauen, welche Patches es seit Kernel 4.9 bzw. 5.15 am xhci-hcd gegeben hat.

    Die Hardware (ICY Box Gehäuse und M.2 SSD) funktioniert am Windows PC superschnell. Sowohl über USB-C (Thunderbolt) als auch am "normalen" USB3 Port.

    Mit schneller Samsung M.2 geht da >2000 MB/Sek. Bei USB3 ist definitiv die Schnittstelle der "Flaschenhals".


    Habe meine Aufnahmen nun auf eine SATA SSD umkopiert. Jetzt habe ich gute 300 MB/Sek. Datenrate. Verwende den Benfei Adapter und Samsung SSD.

    Unterm Strich eine Steigerung um Faktor 20 - bin gespannt ob das JMS578 Gehäuse das noch steigern kann.


    Wenn ich ganz viel Zeit habe, probiere ich das verlinkte Hardkernel Ubuntu 24.04 auf separater eMMC aus. Und versuche mich an der xhci-hd Modul Geschichte...


    Ganz anderer Ansatz war das maximum aus dem Odroid N2+ microSD Steckplatz herauszuholen. Stichwort 1TB microSD Karte für Aufnahmen.

    Der Devicetree war zu wackelig und ich habe es nicht weiter verfolgt.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!