Skocz do zawartości

Raspberry Pi Zero 2W, błąd podczas zgrywania firmware przez hat/hub usb


Pomocna odpowiedź

Napisano

Hat od Waveshare / hub usb Ugreen (pasywny, z możliwością podłączenia zasilania 5V).

System: bieżąca wersja DietPi (v10.3.3)

Zasilanie: powerbank/oryginalny zasilacz 2.5A Raspberry.

Objawy: podczas zgrywania firmware z esp32 za pomocą esptool, przez hat/hub usb i baud 921600 - wyrzuca błąd, przeważnie już "na dzień dobry". Obraz zapisuję do ram-u (/dev/shm), żeby wykluczyć ograniczenia karty sd.

921600.thumb.jpg.af8e7d7bac34bea128cea986e473383a.jpg

 

Baud 460800 działa ok:

460800.thumb.jpg.0bbc3eeeaa939ea1fcf727db185a055c.jpg

 

Bezpośrednio, czyli przez kabelek-przejściówkę z zestawu Raspberry firmware zgrywa się poprawnie. Nie ma znaczenia, czy do hub-a podłączę zewnętrzne zasilanie. Na laptopie hub działa ok, nawet w trybie pasywnym, zgrywa na baud 921600, suma (verify-flash) zgadza się. Wszędzie używam tych samych kabli usb.

Hat/hub wykrywany w Raspberry jako urządzenie "full speed" (480 Mbps). Przykładowo zrzut ekranu z wspomnianego hub-a (rozpoznawany jako "Genesys Logic"):

hub.thumb.jpg.cd2e494204ca941d32baeb0e1da3c4d6.jpg

 

A na koniec pytanie. Czy mógłby ktoś przetestować swoje Raspberry Zero 2W z hat/hub usb i wspomnianym baud-em? Zakładam, że nie jestem jedynym na świecie wybrańcem posiadającym ten sprzęt.

Widzę, że korzystasz z Termux. Nie mam Raspberry Zero, ale jeżeli kod wgrywa się poprawnie nawet przy niższej prędkości, to spróbował bym sprawdzić czy na innych urządzeniach to działa. Np. na Linux Mint komenda to "lsusb". Co to za projekt?

@Teodor26, tak, termux, ale tutaj jest tylko "klawiaturą z ekranem". Zawartość konsoli pochodzi z 2W przez ssh.

Jeżeli chodzi o inne urządzenia, to na laptopie na tym samym hub-ie i kablach baud 921600 działa bez problemu. Nie jest winny hub, podejrzewam, że podobnie może być z hat-em.

To nie projekt. Testuję możliwości i ograniczenia Zero 2W. Być może trafiłem na pierwsze ograniczenie (współpraca z hub-ami usb), tylko chcę wiedzieć czego dotyczy: mojego egzemplarza, czy ogółu. Tak jak wspomniałem, połączenie bezpośrednie 2W <-> esp32 + baud 921600 działa, firmware odczytuje.

Być może kwestia sterownika, będę kombinował z innymi systemami. Sam nie wiem, stąd pytanie.

A może napięcie? Mam takiego huba co jak go podłączę do Zero 2W to niewiele mogę zrobić (a bardzo ładnie działa w terminalu Della).

@orb777 to z czym masz problem? Zmień domyślną prędkość i tyle. U mnie np. Lolin Lite (każdy egzemplarz) działa tylko na 460, tak mam ustawione i wystarczy. 

(edytowany)

Ok, baud 921600 + hat/hub działa. Z podpowiedzią przyszedł dmesg i [ten] wątek.

DietPi tworzy na karcie sd partycję o rozmiarze 128 MB (fat32). W katalogu głównym znajduje się plik "cmdline.txt", gdzie trzeba dodać dwa parametry:

dwc_otg.fiq_enable=0 dwc_otg.fiq_fsm_enable=0

 

U mnie zawartość wygląda wtedy tak:

root=PARTUUID=29267926-02 rootfstype=ext4 rootwait fsck.repair=yes net.ifnames=0 logo.nologo console=tty1 dwc_otg.fiq_enable=0 dwc_otg.fiq_fsm_enable=0

 

Rezultat i czasy (sumy kontrolne zgadzają się):

460800.thumb.jpg.7fae59c2687ff0196dae37d159f7c16d.jpg921600.thumb.jpg.98ead0b61271454f5c2677c719dac5e6.jpg

 

//

Dodałem też parametr, który wyłącza funkcję oszczędzania energii w kontrolerze usb (większa stabilność podłączonych urządzeń).

dwc_otg.lpm_enable=0
Edytowano przez orb777

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...