Temat: wr841n gpio z jtag - przekaznik

Cześć
Kombinuję i nie mogę do tego dojść. WR841n v8 ma na JP2 (JTAG) 4 GPIO ( http://www.tech-blog.pl/2013/07/14/tp-l … aczu-jtag/ ) pobrałem system do kompilacji aby nałożyć patch ale widzę że jest on już normalnie dopisany w głównej gałęzi ( target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr841n-v8.c ) pytanie w jaki sposób mogę wyłączyć jtag i wykorzystać te gpio ?

Kombinacja z execute/direction/value dla gpio2 nie zmienia nic ze stanem przekaźnika, sam podany prąd przez gpio2 wydaje się być wystarczający bo przekaźnik załącza się podczas startu routera i zostaje włączony cały czas.

2

Odp: wr841n gpio z jtag - przekaznik

mailseb napisał/a:

Cześć
Kombinuję i nie mogę do tego dojść. WR841n v8 ma na JP2 (JTAG) 4 GPIO ( http://www.tech-blog.pl/2013/07/14/tp-l … aczu-jtag/ ) pobrałem system do kompilacji aby nałożyć patch ale widzę że jest on już normalnie dopisany w głównej gałęzi ( target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr841n-v8.c ) pytanie w jaki sposób mogę wyłączyć jtag i wykorzystać te gpio ?

Kombinacja z execute/direction/value dla gpio2 nie zmienia nic ze stanem przekaźnika, sam podany prąd przez gpio2 wydaje się być wystarczający bo przekaźnik załącza się podczas startu routera i zostaje włączony cały czas.

1. Najpierw musisz sobie wyeksportować GPIO.
2. WYDAJNOŚĆ PRĄDOWA TYCH GPIO TO ZALEDWIE KILKA mA!!, a to na pewno za mało na przekaźnik, upalisz GPIO w SoC albo cały SoC...

3

Odp: wr841n gpio z jtag - przekaznik

Z doborem elementów elektronicznych jestem na bakier, co pewnie już zauważyłeś jakaś podpowiedź co najlepiej zastosować (tranzystor pull-up o jakich parametrach?) albo inne gpio?

4

Odp: wr841n gpio z jtag - przekaznik

mailseb napisał/a:

Z doborem elementów elektronicznych jestem na bakier, co pewnie już zauważyłeś jakaś podpowiedź co najlepiej zastosować (tranzystor pull-up o jakich parametrach?) albo inne gpio?

http://forbot.pl/blog/artykuly/elektron … -cd-id4335

5

Odp: wr841n gpio z jtag - przekaznik

Jak dobrze wyczytałem na przykładzie jest tam BC546 i dodatkowo dioda 1N4148 jako zabezpieczenie,  czy takie wystarczą do mojego przykładu ?

6

Odp: wr841n gpio z jtag - przekaznik

mailseb napisał/a:

Jak dobrze wyczytałem na przykładzie jest tam BC546 i dodatkowo dioda 1N4148 jako zabezpieczenie,  czy takie wystarczą do mojego przykładu ?

A tego to Ci nie powiem, musisz sobie policzyć, bazując na specyfikacji cewki w przekaźniku i zakładając maksymalny i bezpieczny prąd z GPIO na poziomie ~6 mA (maksymalnie to 8 mA zgodnie z dokumentacją układu).

7

Odp: wr841n gpio z jtag - przekaznik

ok, mam dokładnie moduł przekaźników http://allegro.pl/show_item.php?item=5435337878
na nim jest SRD-05VDC-SL-C, cewka 5V moc cewki: 0,36 W ~ 72mA ?
jakiego tranzystora szukać?

zastanawia mnie tylko w jaki sposób działa mu to, gpio wpięte są bez żadnych zabezpieczeń, jedynie zasilanie ma przerobione
https://lh5.googleusercontent.com/-DsMmdCW3SB4/VRp5jhId1QI/AAAAAAAAKJ4/VsciWawpYJs/w979-h590-no/IMG_20150331_143231.jpg

8

Odp: wr841n gpio z jtag - przekaznik

Musisz jeszcze sporo doczytać, bo nawet nie wiesz co masz...
Ten moduł ma wbudowaną optoizolację.

9

Odp: wr841n gpio z jtag - przekaznik

czyli? Zajęć z technikum elektronicznego nie przerobie w 2 godziny aby rozwiązać to samemu, jakbym potrafił to nie zadawałbym pytań.

10

Odp: wr841n gpio z jtag - przekaznik

mailseb napisał/a:

czyli? Zajęć z technikum elektronicznego nie przerobie w 2 godziny aby rozwiązać to samemu, jakbym potrafił to nie zadawałbym pytań.

Czyli załóżmy, że Chińczyk zrobił to prawidłowo i możesz podłączyć bezpośrednio pod GPIO.
W kwestii sterowania GPIO w systemie, pochwal się o jakiej wersji OpenWrt rozmawiamy i pokaż wynik polecenia "cat /sys/kernel/debug/gpio".

11

Odp: wr841n gpio z jtag - przekaznik

CHAOS CALMER (15.05, r46767)

root@OpenWrt:~# cat /sys/kernel/debug/gpio
GPIOs 0-22, ath79:
gpio-12  (tp-link:green:lan4  ) out hi
gpio-13  (tp-link:green:wlan  ) out lo
gpio-14  (tp-link:green:system) out lo
gpio-15  (tp-link:green:qss   ) out hi
gpio-16  (RFKILL switch       ) in  hi
gpio-17  (Reset button        ) in  hi
gpio-18  (tp-link:green:wan   ) out hi
gpio-19  (tp-link:green:lan1  ) out lo
gpio-20  (tp-link:green:lan2  ) out hi
gpio-21  (tp-link:green:lan3  ) out hi
root@OpenWrt:~# echo "2" > /sys/class/gpio/export
root@OpenWrt:~# echo out > /sys/class/gpio/gpio2/direction
root@OpenWrt:~# cat /sys/kernel/debug/gpio
GPIOs 0-22, ath79:
gpio-2   (sysfs               ) out lo
gpio-12  (tp-link:green:lan4  ) out hi
gpio-13  (tp-link:green:wlan  ) out lo
gpio-14  (tp-link:green:system) out lo
gpio-15  (tp-link:green:qss   ) out hi
gpio-16  (RFKILL switch       ) in  hi
gpio-17  (Reset button        ) in  hi
gpio-18  (tp-link:green:wan   ) out hi
gpio-19  (tp-link:green:lan1  ) out lo
gpio-20  (tp-link:green:lan2  ) out hi
gpio-21  (tp-link:green:lan3  ) out hi
root@OpenWrt:~# echo 1 > /sys/class/gpio/gpio2/value
root@OpenWrt:~# cat /sys/kernel/debug/gpio
GPIOs 0-22, ath79:
gpio-2   (sysfs               ) out hi
gpio-12  (tp-link:green:lan4  ) out hi
gpio-13  (tp-link:green:wlan  ) out hi
gpio-14  (tp-link:green:system) out lo
gpio-15  (tp-link:green:qss   ) out hi
gpio-16  (RFKILL switch       ) in  hi
gpio-17  (Reset button        ) in  hi
gpio-18  (tp-link:green:wan   ) out hi
gpio-19  (tp-link:green:lan1  ) out lo
gpio-20  (tp-link:green:lan2  ) out hi
gpio-21  (tp-link:green:lan3  ) out hi
root@OpenWrt:~# echo 0 > /sys/class/gpio/gpio2/value
root@OpenWrt:~# cat /sys/kernel/debug/gpio
GPIOs 0-22, ath79:
gpio-2   (sysfs               ) out lo
gpio-12  (tp-link:green:lan4  ) out hi
gpio-13  (tp-link:green:wlan  ) out hi
gpio-14  (tp-link:green:system) out lo
gpio-15  (tp-link:green:qss   ) out hi
gpio-16  (RFKILL switch       ) in  hi
gpio-17  (Reset button        ) in  hi
gpio-18  (tp-link:green:wan   ) out hi
gpio-19  (tp-link:green:lan1  ) out lo
gpio-20  (tp-link:green:lan2  ) out hi
gpio-21  (tp-link:green:lan3  ) out hi


więc niby ok, tyle że nie dawało to efektu w momencie gdy testowałem to w weekend w taki sam sposób, router mam 400km dalej, wszystko jest przylutowane poza wypiętym pinem gpio2>in1 na przekaźniku, po 26tym będe na miejscu to go przetestuje. Rozumiem że z poziomu firmware wszystko co trzeba zrobić aby uaktywnić te 4 gpio to explore/direction/value i powinno działać ?

12

Odp: wr841n gpio z jtag - przekaznik

Od strony programowej powinno działać, w źródłach jest wyłącznie JTAG:
https://dev.openwrt.org/browser/branche … -v8.c#L180

Sprawdź sobie najpierw miernikiem, czy na GPIO zmienia się stan przy zmianie w systemie.

13

Odp: wr841n gpio z jtag - przekaznik

Przelutowałem wszystko od nowa, export ,direction, value i działa. Dzięki za podpowiedzi.

Teraz mam kolejną zagadkę.Wykorzystuję ten przekaźnik do zwarcia styków 'reset' w PC wpiętego do headera na płycie.

- Router po resecie startuje z poziomem Hi(1)
- Na przekazniku mogę wybrać pomiędzy stykami reakcja na Hi/Low

Wybierajac opcje podlaczenia do reakcji na stan Low, dziala ok jezeli router jest caly czas wlaczony podawane jest napiecie do stanu Hi, przy resecie spadnie do Low czyli reset router = reset PC

Wybierajac opcje podlaczenia do reakcji na stan Hi
reset przy kazdym uruchomieniu routera

Macie jakiś pomysł jak to rozwiązać aby stan routera nie miał wpływu na reset pc?

14

Odp: wr841n gpio z jtag - przekaznik

Programowany układ np. na gpio na i2c?

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.