Temat: button hotplug
cześć
Chciałbym dodać piny 7 i 29 do systemu hotplug w MR 3020.
Niestety sam export pinów nie pomaga.
Czy muszę sięgnąć do źródła i przekompilować pakiet kmod-button-hotplug ?
pozdrawiam
Nie jesteś zalogowany. Proszę się zalogować lub zarejestrować.
eko.one.pl → Oprogramowanie / Software → button hotplug
Zaloguj się lub zarejestruj by napisać odpowiedź
cześć
Chciałbym dodać piny 7 i 29 do systemu hotplug w MR 3020.
Niestety sam export pinów nie pomaga.
Czy muszę sięgnąć do źródła i przekompilować pakiet kmod-button-hotplug ?
pozdrawiam
Nie tu, zmienić w mach-mr3020.c i dodać definicję przycisków na tych gpio do tej platformy.
chciałbym rozwiać swoje wątpliwości przed zabraniem się do tego.
Czy muszę kompilować cały obraz, czy wystarczy jakiś moduł ?
Cały obraz bo to część kernela.
powinieneś był to w swojej dystrybucji dodać ![]()
na to to się chyba nie zdecyduję, bo Twoja wzbogacona wersja systemu bardziej mi leży.
Ja? Z jakiego powodu? Niby wszyscy wykorzystują te gpio jako przyciski? Znam kilka lepszych ich zastosowań. To że ty potrzebujesz ich jako przyciski nie oznacza że wszyscy tak to wykorzystują.
chyba nie pora dla Ciebie na żarty ![]()
Po prostu nie przemyślałeś wypowiedzi.
wręcz przeciwnie
Nie jest źle. Po pierwszej kompilacji pacjent wstał, ale ...
Skonfigurowałem sobie wstępnie sieć i firewalla po czym wyłączyłem go. Po włączeniu okazało się, że nie pamięta konfiguracji.
Ustawiłem ją raz jeszcze, żeby się upewnić no i się upewniłem.
podglądam sobie start i widzę coś takiego
OpenWrt kern.err kernel: [ 26.770000] jffs2: Too few erase blocks (4)
Jan 1 00:00:26 OpenWrt user.info sysinit: mount: mounting /dev/mtdblock3 on /rom/overlay failed: Invalid argument
Możliwe, że jednak nie wszystko poszło ok z kompilacją albo nie dodałem czegoś.
Inna sprawa. Dodałem definicję nowego pinu w pliku
https://dev.openwrt.org/browser/trunk/t … ?rev=32454
Niestety w logread nie widać reakcji na wciśnięcie tego guzika. Coś jeszcze powinienem zrobić oprócz exportu tego pinu ?
Za dużo wsadziłeś w obraz i brak jest wolnego miejsca żeby jffs zrobić. Jak dodałeś tą definicję to teraz wyczyść źródła i skompiluj system jeszcze raz.
hmm. starałem się kopiować to co Ty dodałeś u siebie czyli obsługę ext4, usb-storage. może faktycznie jakieś duperela nieświadom ciasnoty dorzuciłem.
czyli teraz w make menuconfig poodhaczać co dołączałem, czy make clean wystarczy ?
make target/linux/clean
A jak chcesz zacząć budować od nowa to .config usuń i make menuconfig od początku zrób.
a udostępniasz gdzieś Ty albo pepe2k swojego .configa ?
Jest udostępniony przecież.
coraz bliżej.
kompilacja przeszła ok, pin jest widziany w systemie i zgłasza się jako BTN_2 po wciśnięciu tak jak był zdefiniowany.
Oct 9 21:15:34 OpenWrt user.notice root: BTN_2
Oct 9 21:15:34 OpenWrt user.notice root: pressed
Oct 9 21:15:34 OpenWrt user.notice root: BTN_2
Oct 9 21:15:34 OpenWrt user.notice root: released
robiłem wg instrukcji http://eko.one.pl/?p=openwrt-button
w /etc/config/system jest
config button
option button 'BTN_2'
option action 'pressed'
option handler 'echo test'
z jakiegoś powodu to co jest w handlerze nie wykonuje się.
jakie mogą być możliwe przyczyny?
Wykonuje się. Tylko powiedz, gdzie niby to echo miało by się wyświetlić? I dlaczego sądzisz że akurat na konsoli na której dziwnym przypadkiem jesteś zalogowany?
Zamień na option handler 'logger BTN_2 tu byłem'
strzelałem ![]()
dodałem jak napisales, ale w logread ten wpis sie nie pojawia
czekaj - a masz w ogóle skrypt w hotplugi do obsługi tego?
mam w /etc/hotplug.d/button/00-button a w nim
#!/bin/sh
if [ "$ACTION" = "pressed" ]; then
if [ "$BUTTON" = "BTN_2" ]; then
echo test
fi
fi
Następne echo
To przeciez nie jest skrypt do obsługi sekcji z /etc/config/system. Jak chcesz żeby to działało jak nie masz w ogóle skryptu który to obsługuje? Czytałeś poradnik, sam przytoczyłeś link do niego, to czemu nie zrobiłeś tak jak jest w nim napisane?
prześpię się z tym.
w poradniku było
if [ "$ACTION" = "pressed" ]; then
if [ "$BUTTON" = "BTN_0" ]; then
polecenia do wykonania po naciśnięciu przyciku BTN_0
elif [ "$BUTTON" = "BTN_1" ]; then
polecenia do wykonania po naciśnięciu przyciku BTN_1
fi
fi
no i testowo sobie to echo wybralem. tak naprawde to zadne z polecen sie nie wykonalo.
w Twoim przykladzie skryptu wifitoogle http://eko.one.pl/?p=openwrt-skrypty#wc … rzyciskiem
uzywasz uci to wlaczania/wylaczania
Ja zamiast tego dalem tam testowo echo, bo chce docelowo odpalac tam mpc
Jeżeli sam piszesz skrypt to co chcesz. Jeżeli chcesz używać /etc/config/system to potrzebujesz skrypt który to obsłuży, jest on w poradniku wymieniony.
Jak chcesz zobaczyć to echo to sobie zrób
echo test > /test.txt
to wtedy zobaczysz efekt.
jeszcze raz zawrócę gitarę w tej sprawie.
zrobiłem to wg Twojego poradnika i patrzyłem też na http://wiki.openwrt.org/doc/howto/hardware.button
generalnie jak do handlera podepnę logowanie option handler 'logger BTN_2 test' to działa i pojawia sie w logach.
Chciałem podpiąć skrypt option handler '/usr/bin/wifionoff' i niestety nie ma efektu.
Zaloguj się lub zarejestruj by napisać odpowiedź
eko.one.pl → Oprogramowanie / Software → button hotplug
Forum oparte o PunBB, wspierane przez Informer Technologies, Inc