1

Temat: System monitoringu na ruterze - bezobsługowy?

Witam, Jestem nowy na forum. Linux-em wbudowanym jakiś czas się zajmuję więc całkiem zielony nie jestem. Od jakiegoś czasu poszukuje sposobu zrobienia taniego monitoringu (temperatura itp.). Pomyślałem, że ruterki będą tanią alternatywą dla płytki typu mmnet1000, na których pracuję obecnie. Zdecydowałem się nawet na zakup jednego. Jest to TL-MR3420 i szczerze mam problem ze zrobieniem tego czego chcę. Podstawowe wymagania to:

1. Ruter ma pozostać ruterem czyli ma mieć stronę konfiguracyjną tak aby nie wtajemniczeni mogli coś zmieniać.
2. System ma być bez obsługowy czyli nie wchodzi w grę wysypywanie się systemu po zaniku zasilania.

I tu się zaczynają schody. MR3420 ma bardzo mało pamięci po wgraniu Gargoile w wersji PL a po doinstalowaniu 2 niezbędnych dla mnie pakietów: ftdi oraz stty zostaje go tak mało, że po paru uruchomieniach system wysypuje się (overlayfs: ERROR - failed to whiteout 'root' \ overlayfs: ERROR - failed to whiteout 'root')
Nie bardzo chciałem robić exroota bo to zaraz trzeba hubusb a mi zależy na małej ilości elementów. Jak mus to mus.
Zrobiłem exroota według instrukcji http://eko.one.pl/forum/viewtopic.php?pid=21214#p21214. Pomijając fakt, że coś nie zatrybiło i wszystko jest i tak na pomięci wewnętrznej, to i tak nawet w opisie jest, że cytuje: "Czasami, w przypadku nagłych wyłączeń routera może się okazać że system plików "się rozleciał" i zgłasza błędy. W/w obrazy nie mają w sobie narzędzi do sprawdzania systemów plików (..)"
To znaczy że co parę dni czeka mnie format rutera? Pracuję na płytkach mmnet1002 i tam mam sprawę systemu plików na karcie rozwiązaną ale tu problemem jest raczej mała ilość miejsca w pamięci głównej na programy zarządzające kartą. Zanim zacznę coś grzebać na własną rękę to chciałbym sprawdzić czy ktoś już się z tymi problemami nie uporał.
A może jest jakiś ruter, na którym bym się zmieścił. Prawda jest taka, że nawet na tym bym się zmieścił gdybym sam skompilował obraz ale pewnie i tak by się system wysypywał bo byłbym blisko 100% zajętości.

Podsumowując: potrzebuje sprawdzonego sposobu na skonfigurowanie rutera z własnymi programami by miejsca było dość a system był nie czuły na zaniki zasilania. Jeśli, by to osiągnąć muszę z czegoś zrezygnować to proszę podać z czego (np. z Gargoyla).

2

Odp: System monitoringu na ruterze - bezobsługowy?

Extroot jest na nośniku i na swój system plików. Jak nagle wyłączysz router podczas korzystania z exroota to coś się może w systemie plików zrobić (jak w każdym systemie plików). Problem jest w tym że we flash nie ma narzędzia do sprawdzania bo nie ma na to miejsca. I nie, nie robisz formatowania, wystarczy zrobić wtedy sprawdzenie systemu.

Reasumując - poleciałeś po taniości, kupiłeś router który nie ma dostatecznej ilości flash na to co potrzebujesz.

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

3

Odp: System monitoringu na ruterze - bezobsługowy?

Wiem, że uszkodzenie systemu przy zaniku zasilania to rzecz normalna. Dlatego w mmnetach mam skrypty które się zajmują sprawdzaniem i naprawą błędów przy starcie. Programy sprawdzające system mogą być na karcie (tak mam na wspominanych płytkach) wystarczy skanowanie zrobić w trybie reedonly. Liczyłem na to, że ktoś już to oskryptował. Wydawało mi się to oczywiste. Ruter mogę kupić inny. Ten miał być tani bym mógł chociaż co nieco posprawdzać. Tyle, że nie wiem jaki inny ruter wybrać. Gdzieś na forum był link do porównania ale nie mogę znaleźć. Poza tym nie spodziewałem się, że będzie aż tak mało pamięci i że błędy pojawią się gdy jeszcze jej trochę zostaje. Inna sprawa to ile mogę zaoszczędzić jeśli pakiety stty i ftdi wkompiluje w obraz?

4

Odp: System monitoringu na ruterze - bezobsługowy?

Dużo, bo squashfs jest silniej kompresowany niż jffs na którym to normalnie instalujesz. Obecnie możesz kupić tplinka TL-WR1043ND lub jeszcze lepiej WDR3600, oba mają po 8MB pamięci flash.

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

5

Odp: System monitoringu na ruterze - bezobsługowy?

Cezary napisał/a:

Dużo, bo squashfs jest silniej kompresowany niż jffs na którym to normalnie instalujesz. Obecnie możesz kupić tplinka TL-WR1043ND lub jeszcze lepiej WDR3600, oba mają po 8MB pamięci flash.

TL1043 jest w porównaniu do swoich możliwości niezbyt atrakcyjny cenowo. Inną tańszą alternatywą z 8MB flash jest AirRouter Ubiquiti-w porównywalnej cenie do MR3420.

6

Odp: System monitoringu na ruterze - bezobsługowy?

Tani nowy z 8MB flash to tl-wr842 z USB

Albo wymiana kości flash -"flashmod" na 8/16MB (15-25zł)  w mr3420,mr3220 i maleństwach mr3020  wr703

7

Odp: System monitoringu na ruterze - bezobsługowy?

Jednak zdecydowałem się na razie na rezygnację z Gargoyle. Myślę, że teraz miejsca mi starczy. Mam za to inny problem. W Gargoyle miałem neta tak skonfigurowanego, że ruter był klientem wifi (DHCP bezprzewodowo) i udostępniał go po lan. Nie wiem jak to skonfigurować bez stronki. Zmieniłem nieco zawartość /etc/config/wireless:

root@OpenWrt:/# cat /etc/config/wireless

config wifi-device 'radio0'
        option type 'mac80211'
        option channel '11'
        option hwmode '11ng'
        option macaddr 'f8:d1:11:34:11:72'
        option htmode 'HT20'
        list ht_capab 'SHORT-GI-20'
        list ht_capab 'SHORT-GI-40'
        list ht_capab 'TX-STBC'
        list ht_capab 'RX-STBC1'
        list ht_capab 'DSSS_CCK-40'
        option disabled '0'

config wifi-iface
        option device 'radio0'
        option mode 'sta'
        option network 'wan'
        option ssid 'ssid'
        option key 'pass'
        option encryption 'psk2'

i po wydaniu polecenia:

root@OpenWrt:/# wifi
[ 3476.910000] wlan0: deauthenticating from cc:b2:55:5f:9d:d6 by local choice (reason=3)
command failed: Device or resource busy (-16)
Successfully initialized wpa_supplicant
Command failed: Operation not supported
root@OpenWrt:/# [ 3479.140000] wlan0: authenticate with cc:b2:55:5f:9d:d6
[ 3479.160000] wlan0: send auth to cc:b2:55:5f:9d:d6 (try 1/3)
[ 3479.170000] wlan0: authenticated
[ 3479.190000] wlan0: associate with cc:b2:55:5f:9d:d6 (try 1/3)
[ 3479.190000] wlan0: RX AssocResp from cc:b2:55:5f:9d:d6 (capab=0xc11 status=0 aid=2)
[ 3479.200000] wlan0: associated

mam to co widać. Ale nie przyznaje mi adresu po wifi. Co jeszcze należy skonfigurować?

Plik network wyglada tak:

root@OpenWrt:/# cat /etc/config/network

config interface 'loopback'
        option ifname 'lo'
        option proto 'static'
        option ipaddr '127.0.0.1'
        option netmask '255.0.0.0'

config interface 'lan'
        option ifname 'eth0'
        option type 'bridge'
        option proto 'static'
        option ipaddr '192.168.1.1'
        option netmask '255.255.255.0'

config interface 'wan'
        option ifname 'eth1'
        option proto 'dhcp'

config switch
        option name 'eth0'
        option reset '1'
        option enable_vlan '1'

config switch_vlan
        option device 'eth0'
        option vlan '1'
        option ports '0 1 2 3 4'

a po poleceniu ifconfig mam to:

root@OpenWrt:/# ifconfig
br-lan    Link encap:Ethernet  HWaddr F8:D1:11:34:11:71
          inet addr:192.168.1.1  Bcast:192.168.1.255  Mask:255.255.255.0
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:1447 errors:0 dropped:446 overruns:0 frame:0
          TX packets:130 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:259716 (253.6 KiB)  TX bytes:11042 (10.7 KiB)

eth0      Link encap:Ethernet  HWaddr F8:D1:11:34:11:71
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:1723 errors:0 dropped:79 overruns:0 frame:0
          TX packets:156 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:341605 (333.5 KiB)  TX bytes:13528 (13.2 KiB)
          Interrupt:5

eth1      Link encap:Ethernet  HWaddr F8:D1:11:34:11:73
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
          Interrupt:4

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:28992 errors:0 dropped:0 overruns:0 frame:0
          TX packets:28992 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:1739520 (1.6 MiB)  TX bytes:1739520 (1.6 MiB)

wlan0     Link encap:Ethernet  HWaddr F8:D1:11:34:11:72
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:376 errors:0 dropped:188 overruns:0 frame:0
          TX packets:2 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:76103 (74.3 KiB)  TX bytes:288 (288.0 B)

8

Odp: System monitoringu na ruterze - bezobsługowy?

Zrestartuj router po prostu.

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

9

Odp: System monitoringu na ruterze - bezobsługowy?

Szkoda, że nie napisałeś dokładnie na czym polega ten "monitoring", bo temat ciekawy i w moim kręgu zainteresowań. Wnioskuję jednak (na podstawie informacji o pakiecie do FTDI), że gadasz z jakąś zewnętrzną płytką (pewnie z czujnikami?) przez adapter USB-UART. Pomyśl ewentualnie czy nie zrezygnować z adaptera i nie wpiąć czujników bezpośrednio do routera, np. przy pomocy I2C. W sporej większości TP-Linków powinieneś być w stanie zlokalizować dwa GPIO, które mogą być w tym celu wykorzystane.

Poza tym, pod OpenWrt jest fajna (ale względnie droga) miniaturowa platforma o nazwie Carambola 2: http://8devices.com/carambola-2. Pamięci FLASH i RAM wystarczająco do znacznej większości zastosowań, a poza tym dostęp do wszelkich sprzętowych interfejsów od ręki. Ino, cena...

A tak na marginesie, jak brakuje Ci miejsca, to mam w ofercie kostki flash 16 MB.
Dzisiaj wymieniałem w MR3420, WR842ND i 2x WDR4300 smile

10 (edytowany przez Kalvis 2013-05-27 07:29:06)

Odp: System monitoringu na ruterze - bezobsługowy?

Ruter resetowałem, tyle że po restarcie musiałem wydać polecenie "wifi" bo domyślnie jest wyłączony. To co widać w załączonych kodach jest już po restarcie. Mam wrażenie, że może coś w DHCP jeszcze trzeba pozmieniać. Zależy mi na tym bo w miejscu pracy nie mam kabla a jednak do wszystkich pakietów wygodnie mieć internet.

Co do monitoringu to mam zrobione kilka termostatów elektronicznych rozmieszczonych w domku  letniskowym. Zabezpieczają przed zamarznięciem wody zimą gdy domek jest opuszczony. Termostaty mają na razie komunikację po RS485. Docelowo chciałbym mieć radio ale wszystko w swoim czasie. Na razie za serwer www monitoringu robi mi płytka mmnet102 z systemem Nut/OS.

11

Odp: System monitoringu na ruterze - bezobsługowy?

pepe2k wysłałem Ci PW odnośnie kostek, czekam na kontakt wink

12

Odp: System monitoringu na ruterze - bezobsługowy?

Przy takiej konfiguracji radio MUSI wstać samo, innego wybory nie ma. Przecież to bez sensu jak byś musiał to wifi klepać.

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

13 (edytowany przez Kalvis 2013-05-28 20:31:56)

Odp: System monitoringu na ruterze - bezobsługowy?

Okazuje się że miałem ustawione włączanie wifi przy starcie (option disabled 0) ale nic to nie zmienia. Mam wrażenie, że w ogóle nie dochodzi do wywołania dhcp. Myślę, że postawie na nowo gargoyle, ustawie jak należy i zobaczę co jest w konfigach. Bo przecież obrazy się znacząco w tej kwestji nie różnią nie?

SUKCES!

Odpaliłem Gargoyla i sprawdziłem konfigi. Wireless różnił się tylko opcją chanel (ja miałem 11 powinno być 1) oraz dodana była opcja noscan. Za to w networku w sekcji wan usunięte było ifname a za to dodane "type bridge". Okazało się jednak, że z tymi opcjami nie chce mi wstać wifi (odmawia postawienia bridge w mode sta). Nie wiem czemu niby mi nie działa skoro w gargoyle działało. Ale jak usunąłem opcje type i dodałem ifname na wlan0 to zaczęło działać.
W skrócie: nie wiem dlaczego ale działa.