Skocz do zawartości

Uruchamianie Raspberry Pi 4 z dysku SSD


Pomocna odpowiedź

Planuje rozbudować swoją malinkę o dysk ssd i tu mam pytania:
czy rpi4 z tą przejściówką  i z tym dyskiem (dysk już mam) uciągnie bez dodatkowego zasilania.

Wolał bym kupić taką przejściówkę na botlandzie ale nie mają takiej tylko coś takiego odroid. Czy taki komponent będzie kompatybilny  z rpi4  mimo, że to odroid? 

Pozdrawiam i życzę smacznej kawusi 🙂

Link to post
Share on other sites
Dnia 28.01.2021 o 17:13, Belferek napisał:

Poczytaj - tu.

Malinka może nie uciągnąć zasilania dysku. Zasilanie dysku powinieneś rozwiązać inaczej.

Podepnę się do tematu, bo sam zamierzam przenieść system z karty SD na dysk SSD. Czy ta instrukcja jest pewna i sprawdzona? Bywają jakieś problemy z kopiowaniem danych przez SD Card Copier?

Przy okazji chciałem się zapytać, czy taka stacja HDD/SSD rozwiąże problem z zasilaniem? https://www.x-kom.pl/p/394970-obudowa-dysku-unitek-stacja-hdd-ssd-25-35-usb-30.html#Opis

Dla pewności przed próbą odpalenia malinki z dysku SSD zrobię sobie obraz karty Etcherem, żeby pewnych rzeczy nie przechodzić od nowa 🙂

Link to post
Share on other sites
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

(edytowany)

Do mojego RPi (4B/8GB, standardowo podpięty pod X825 z Adata SSD SU800 512GB) dokupiłem taki dysk z taką obudową:
https://pl.aliexpress.com/item/1005001747449260.html
https://pl.aliexpress.com/item/1005001747397137.html
Kiedy podłączam zakupiony dysk (w obudowie) do komputera np. z Win10 - wszystko wygląda całkiem dobrze.
Operacje: odczyt, zapis, formatowanie itp. działają bezproblemowo. Pomiar transferów - wyglądają sensownie.

Kiedy próbuję uruchomić RPi z tego dysku (Rasbian 32b, sformatowany i nagrany Imagerem), system nie rozpoznaje (nie widzi MBR) dysku SSD.
Efekt widoczny na zdjęciu orico01.jpg.

Nie jest ważne, czy dysk podłączony jest bezpośrednio czy przez hub USB3. Kiedy wstawiam między RPi a dysk separator USB - system również nie uruchamia się.

A teraz ciekawostka 😕 :
kiedy wstawię między RPi a ten sam dysk (w tej samej obudowie) miernik obciążenia portu USB3 (wolt, amper, moc itp. obrazek w załączniku) system natychmiast uruchamia się bez żadnych problemów. :o
Spotkaliście się z czymś takim? Jakieś pomysły? Będę wdzięczny za jakiekolwiek sugestie czy propozycje.
Pozdrawiam serdecznie

PS.

  1. Spytałem producenta. Choć odpowiedź otrzymałem szybko, nie rozwiązała ona problemu.
  2. Sprawdziłem z innym egzemplarzem RPi4B/8G. Z oryginalnym zasilaniem. Efekt ten sam.
  3. Nie ma znaczenia czy to jest gniazdo USB2 czy USB3. 😕 Niestety choć dysk ORICO pod innymi systemami "śmiga" to Malina go nie lubi. Przynajmniej u mnie. Oczywiście wykorzystam go, choć plany były inne.
  4. Sprawdziłem też jak zachowuje się (jako SSD) pendrive ADATA UE700 Pro 128GB. Choć jak widać (orico04.jpg) pracuje w trybie usb-storage i pojawia się błąd SG_IO to jednak... działa. Z lub bez usb-storage.quirks. Jest też tańszy. 

orico01.jpg

orico02.jpg

 

orico03.jpg

orico04.jpg

Edytowano przez JanuszW
uzupełnienie
  • Lubię! 1
Link to post
Share on other sites

Witam,

Po różnych eksperymentach ze startem z dyskiem Orico włączonym poprzez miernik obciążenia portu USB odkryłem 😉 że system startuje w tym układzie, gdyż dysk jest wykrywany jako... karta pamięci

orico05.thumb.jpg.6df5aa365be8f483322c728456f02cfa.jpg

Dlaczego tak jest - nie wiem. Ale działa! Choć z błędem SG_IO. Co widać na poniższym listingu.

Pozdrawiam ----

pi@*****:~ $ lsusb -t
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M
    |__ Port 2: Dev 2, If 0, Class=Mass Storage, Driver=uas, 5000M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/1p, 480M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/4p, 480M
        |__ Port 4: Dev 3, If 0, Class=Hub, Driver=hub/4p, 480M
            |__ Port 1: Dev 4, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
            |__ Port 1: Dev 4, If 1, Class=Human Interface Device, Driver=usbhid, 1.5M
            |__ Port 4: Dev 5, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
pi@*****:~ $ sudo hdparm -tT /dev/sda1

/dev/sda1:
 Timing cached reads:   1442 MB in  2.00 seconds = 721.27 MB/sec
SG_IO: bad/missing sense data, sb[]:  70 00 05 00 00 00 00 0a 00 00 00 00 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 Timing buffered disk reads: 256 MB in  0.99 seconds = 259.82 MB/sec
pi@*****:~ $ sudo hdparm /dev/sda1

/dev/sda1:
SG_IO: bad/missing sense data, sb[]:  70 00 05 00 00 00 00 0a 00 00 00 00 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 multcount     =  0 (off)
 readonly      =  0 (off)
 readahead     = 131064 (on)
 geometry      = 31130/255/63, sectors = 524288, start = 8192

  • Lubię! 1
Link to post
Share on other sites
(edytowany)

Witaj.

Tak, zauktualizowałem. Obecnie mam tę jego wersję, którą wkleja Imager 1.6.1 przy wyborze sekwencji bootowania: dysk, a jak nie ma - to SD.

Niestety aktualny EEPROM (03.21) nie ma przygotowanej własnej wersji bootloadera. Taki przynajmniej komunikat uzyskałem podczas aktualizacji. Co ciekawe po aktualizacji bootloadera do tej wersji problem przy starcie jest inny. Miernik USB3 już nie wpływa na start systemu. RPi nie startuje i już. Ale...

Jeśli podłączę dysk Orico i uruchomię RPi to boot zatrzymuje się na ekranie HDMI. Jednym z komunikatów jest to, że nie wykryto karty SD i nie jest możliwe odczytanie partycji boot. Ok, nie widzi dysku (?) próbuje z SD i kiszka. Licznik leci.

Jeśli jednak (przy włączonym RPi) odłączę dysk pojawia się komunikat o odłączeniu urządzenia na USB3. Po odczekaniu ok. 15-20s i ponownym podłączeniu dysku... po ok. 5s następuje prawidłowy boot z tego dysku. W logach nie ma komunikatów o błędach. Dysk z poziomu kernela wygląda mniej więcej tak:

[    2.183996] usb 2-2: new SuperSpeed Gen 1 USB device number 2 using xhci_hcd
[    2.215010] usb 2-2: New USB device found, idVendor=174c, idProduct=2364, bcdDevice= 1.00
[    2.215030] usb 2-2: New USB device strings: Mfr=2, Product=3, SerialNumber=1
[    2.215047] usb 2-2: Product: ASM236X series
[    2.215063] usb 2-2: Manufacturer: Asmedia
[    2.215079] usb 2-2: SerialNumber: 0000000000C5
[    2.239253] scsi host0: uas
[    2.240644] scsi 0:0:0:0: Direct-Access     ASMT     ASM236X NVME     0    PQ: 0 ANSI: 6
[    2.242954] sd 0:0:0:0: [sda] 500118192 512-byte logical blocks: (256 GB/238 GiB)
[    2.243155] sd 0:0:0:0: [sda] Write Protect is off
[    2.243176] sd 0:0:0:0: [sda] Mode Sense: 43 00 00 00
[    2.243574] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[    2.244321] sd 0:0:0:0: [sda] Optimal transfer size 33553920 bytes
[    2.245761]  sda: sda1 sda2
[    2.249074] sd 0:0:0:0: [sda] Attached SCSI disk
[    2.275043] EXT4-fs (sda2): mounted filesystem with ordered data mode. Opts: (null)
[    2.275129] VFS: Mounted root (ext4 filesystem) readonly on device 8:2.
[    2.277502] devtmpfs: mounted
[    2.286666] Freeing unused kernel memory: 2048K
[    2.313838] Run /sbin/init as init process
[    2.313852]   with arguments:
[    2.313867]     /sbin/init
[    2.313881]     splash
[    2.313895]   with environment:
[    2.313910]     HOME=/
[    2.313924]     TERM=linux

A prędkości nie są złe (ok.760/260MB/s). Dla porównania pendrive USB3 (nie działa z UASP, więc z korzysta z quirks) w tym samym gnieździe ma 747/83MB/s. Pierwszy parametr to "Timing cached reads", drugi "Timing buffered disk reads".

PS1. Aha, dysk ADATA SU800 512GB podłączony poprzez X825 (v.1.2) na tym samym gnieździe USB3 ma odpowiednio: 735/256MB/s. Działa oczywiście na UASP.

rpi4B_8GB_Adata.thumb.jpg.b27946075b1f27564eec932a50b1fbe7.jpgrpi4B_8GB_Orico.thumb.jpg.6bfbbe1cb10e77326697ec3c07e75e3a.jpg

Ot i tak. Ogólnie kłopotliwy jest jedynie ten start, bo potem już "z górki" :). Pozdrawiam.

Edytowano przez JanuszW
Link to post
Share on other sites
  • Treker zmienił tytuł na: Uruchamianie Raspberry Pi 4 z dysku SSD

Cześć,

Tytułem uściślenia:

  1. Ogólnie: zasilanie RPi (4B/8GB) poprzez X735 (v.2.1) z zasilacza 5V/10A (medyczny Mean Well MPM-65-5ST). Zasilanie standardowym zasilaczem (3A) gołego RPi 4B/8GB bez dodatkowych czapek niczego nowego do tematu nie wniosło,
  2. ADATA SU800 to "pełnowymiarowy" 2,5" SSD i on jest podłączony do RPi poprzez X825 (v.1.2), pełniącego funkcję interface'u pomiędzy USB3 RPi a SATA dysku. Startuje bez problemu. I jest standardowo podłączony do RPI. Z płytką RPi łączy się mostkiem (kostka) USB3.1,
  3. Natomiast Orico to M.2 SSD NVMe (rozm. 2280) jak widać jest dość szybki (porównywalny z ADATA), ale... kaprysi przy starcie. Jego interface (M.2 NVMe dysku poprzez chip ASM2364 na wyjście USB3.2 (v.C) na USB 3.1 RPi) jest wbudowany w obudowę.

Analizując mój układ zastanawiam się:

  • czy zasilacz (choć wydajny prądowo, bo 10A) nie ma funkcji "miękkiego startu". I np. na USB3.1,do którego jest podłączony dysk Orico wymagane napięcie pojawia się "za późno". Choć dyskowi ADATA to nie przeszkadza!
  • czy długość kabla (przejściówki z USB-C obudowy na USB-A 3.1) nie wpływa "opóźniająco" na sygnał. Ale skoro to ma dawać radę dla 20GB/s to ... chyba przesadzam. 😉 Pewną rolę tu może odgrywać również masa. Adata jest silnie "spięta" z RPi. Orico masę ma jedynie "po kablu sygnałowym". Zauważyłem, że kable dla przepustowości 20GB/s mają po kilka-kilkanaście cm, zaś te dla 5GB/s nawet i pół metra.

To jednak takie moje gdybanie, ale chwilowo nie mam innych pomysłów. Ale testuję dalej... 😄

Link to post
Share on other sites
(edytowany)

Witajcie,

Postanowiłem uruchomić na moim RPi 4B/8GB system Raspberry Pi OS 32b (full), zasilany poprzez X835.
Jako porównawczy wykorzystywałem dysk SSD Adata SU800 512GB połączony z RPi poprzez X825 v. 1.2.
Zasilanie zasilaczem MW MPM-65-5ST (5V/10A).
EEPROM i bootloader z 03.2021. Dla wszystkich "nośników" przeprowadziłem ten sam test publikowany na stronie: https://storage.jamesachambers.com/.
Zaskoczyło mnie, że po pierwszych 2 testach (tych z Orico) wyniki kolejnych testów nie pojawiły się na wyżej wymienionej stronie. Mimo, że po teście podałem wszystkie wymagane opisy. Testy dotyczyły:

  • dysku SSD ORICO Troodon Series M.2 NVMe 256GB (2280)
  • dysku SSD 980Pro Samsung M.2 500GB (2280)
  • pendrive'u USB3.2 G1 Adata UE700Pro 128GB
  • pendrive'u USB3.0 32GB oraz 64GB GoodRAM 60Mbps

oraz obudów do dysków M.2 NVMe, USB-C:

  • ORICO M2PAC3-G20 USB3.2 20Gbps M.2 SSD,
  • Icy Box IB-1916M-C32 20Gbps.

O swoich zmaganiach z uruchomieniem Orico w obudowie Oriko 😉 pisałem pisałem wcześniej. Historycznie rzecz ujmując można w sieci znaleźć opisy słabej współpracy produktów ORICO z RPi czy Linuksem w ogólności. Nie wiem jednak na ile są to informacje aktualne.
Bo jakkolwiek nie udało mi się wyeliminować zatrzymania startu i konieczności ponownego rozłączenia/podłączenia to po starcie dysk pracuje prawidłowo. Ma niezłe "parametry eksploatacyjne". I prawdę powiedziawszy nie wiem, gdzie tkwi przyczyna: mój błąd, niezgodność sprzętu z systemem czy co innego?
Ale na tę chwilę szkoda czasu na dalsze eksperymenty.
O moich efektach uruchamiania Samsunga 980Pro w obudowie IC-1916M-C32 nie będę pisał. Bo było jeszcze gorzej. Po pierwszym uruchomieniu było (chyba ok), ale po aktualizacji systemu, która przebiegła bez problemów - już nie. Sprawdziłem to w różnych konfiguracjach, kabla oraz OS'ach. 😕
Faza uruchomienia trwała bardzo długo, po czym kernel wypluł całą listę błędów związanych z niemożnością prawidłowego odczytania systemu plików. Ciekawe jest to, że:
- dysk Orico umieszczony w obudowie Icy Box startuje bez najmniejszych problemów i ma (niezłe) parametry zbliżone do pełnowymiarowego 2,5" dysku SSD Adata SU800 512GB,
- dysk Samsung SSD NVMe 980Pro 500GB umieszczony w obudowie Orico M2PAC3-G20 USB3.2 20Gbps M.2 SSD staruje i aktualizuje się już bez problemu. Również pod Raspbianem 32b. A ma parametry zbliżone do porównawczego dysku SSD Adata SU800. Jednak IMO prędkość dysku jest ograniczana przez obudowę.
Więcej szczegółów dotyczących wszystkich nośników nieco później. Pozdrawiam.

Edytowano przez JanuszW
  • Lubię! 1
Link to post
Share on other sites
(edytowany)

Zacznijmy od odpowiedzi na pytanie: po co to wszystko?
Gdy (niedawno) zacząłem swą przygodę z RPi (4B/8GB) w tekstach o uruchamianiu systemu wiele miejsca poświęcono jego startowi z innego nośnika pamięci niż karta SD. Podłączonego do gniazda USB3 RPi.

No i przeszedłem (chyba) całą ścieżkę: od taniego pendrive USB3 (60Mbps) do IMO dobrej pamięci M.2 NVMe o deklarowanych prędkościach: odczytu 6900 MB/s, zapisu 5000 MB/s, interfejsu ok. 7,9 Gbps. Odkryłem, że komunikacja na porcie USB3 RPi (moje: 4B/8GB) to nie jest coś trywialnego.

W wielu dostępnych w sieci materiałach za rzeczywiste kłopoty najczęściej obwiniani są (że nie trzymają standardów) producenci sprzętu podłączanego do RPi. Spotkałem się również z wypowiedziami kierującymi grot strzały w kierunku RPi. Postanowiłem to sprawdzić.

Narzędziem pomiarowym jest test jaki udostępnił na swej stronie James A. Chambers. Wszystkie testy wykonywałem na świeżo: sformatowanym, zainstalowanym i zaktualizowanym systemie Raspbian OS 32b (wariant full). RPi (4B/8GB)

1_RPi4B_8GB_SD64GB.thumb.jpg.e342ae3d8017331aa7e0d9153241c29f.jpg2_RPi4B_8GB_ADATA512GB.thumb.jpg.56e63f580cceafde7fee7f6297987039.jpg

Od pewnego czasu w miejsce pierwotnie używanej karty SD SanDiska (64GB, C10, A1, U1) używam dysku SSD Adata SU800 512GB SATAIII, podpiętego pod USB3 RPI poprzez płytkę X825.Oba nośniki (karta oraz dysk) stanowić będą punkt odniesienia dla pozostałych "Pamięci". Jak widać rzeczywiście różnica pomiędzy kartą a rzeczywistym dyskiem SSD jest znaczna.

3_RPi4B_8GB_Orico256GB1.thumb.jpg.6020776e5696d1bed2eb5f1083dc7bf8.jpg

Zanim przejdę do omawiania innych nośników chciałbym pokazać, że dysk SSD Orico M.2 NVMe 256GB (w obudowie tego samego producenta) zachowywał się co najmniej poprawnie. No gdyby nie ten start! 😉

Ulegając jednak pokusie podłączyłem do swego RPi tani pendrive (32GB USB3.0) do portu próbując wykorzystać go jako potencjalny nośnik. 4_RPi4B_8GB_GoodRAM32GB.thumb.jpg.b83efefe15a81321aec0359e901af6e1.jpg

Nie obsługuje on UASP, słabo reaguje na "quirks'y". Jak widać z testu jest słabszy od karty SD. Dowiedziałem się, że to nie tędy droga. Dodatkowo ze względu na niewielką powierzchnie przy dużej ilości operacji odczytu i zapisu zauważalnie grzeje się.

5_RPi4B_8GB_ADATAPnd128GB_lsusb.thumb.jpg.392c3447aad19ca5897e6190ffb1ca82.jpg6_RPi4B_8GB_ADATAPnd128GB.thumb.jpg.206513207edc38f177b684b125901127.jpg

Kolejna próba polegała na podpięciu do RPi pendrive'a ADATA o oznaczeniu "UE700Pro 128GB". Jak widać  to urządzenie pracuje w trybie usb-storage. Ale co ciekawe dopisanie mu usb-storage.quirks nie pomaga. A przeciwnie. Widoczny rezultat zauważalnie spada wówczas do ok. 2500.

W tzw. międzyczasie miałem możliwość przetestowania pamięci Samsung 980Pro SSD M.2 NVMe 500GB (przybyła wraz z obudową Icy Box IB-1916M-C32). I tu szok. Wręcz powtórka z rozrywki: dysk doskonale współpracuje z innymi OS'ami. Transfery powalają, ale... RPi nie chce kooperować. Pisałem o tym w poprzednim mailu.

7_RPi4B_8GB_980Pro500GB.thumb.jpg.172104dbdd8e930f8c2f7a51412aa077.jpg

A po przełożeniu go do obudowy Orico M2PAC3-G20 USB3.2 20Gbps M.2 SSD wszystko działa. Choć transfery są mniejsze. Nie tylko od moich oczekiwań. Ten demon prędkości jest porównywalny z dyskiem Adata SU800 512GB SATAIII. Obudowa Orico jest mniejsza od Icy Box'a toteż podczas pracy Samsunga wyczuwalnie rozgrzewa się. Zauważalnie, ale nie "nachalnie" 😉

8_RPi4B_8GB_Orico256GB.thumb.jpg.b7f9cd93e35d7a5e360b4a939aedb511.jpg

Innym zaskoczeniem jest fakt, że dysk SSD Orico M.2 NVMe 256GB po włożeniu do obudowy Icy Box IB-1916M-C32 odzyskał wigor. Startuje bez najmniejszych problemów (sprawdzone wielokrotnie). No i wynik tertu też jest lepszy niż w obudowie jego producenta 😮 

9_RPi4B_8GB_Orico256GB_trim.thumb.jpg.925bb94eddb86484bd216858cf18fcd5.jpg

Miłą informacją jest również fakt, że dysk Orico obsługuje funkcję trim. Tego nie robi żaden pendrive. 😄

CDN.

Edytowano przez JanuszW
uzupełnienie
  • Lubię! 1
  • Pomogłeś! 1
Link to post
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.