1 (edytowany przez jzef 2023-11-11 12:43:46)

Temat: motion i pendrive USB 2.0

Ostatnio - jakieś 2 tygodnie temu znowu miałem overlay w trybie ro. Nie zdarza się to często - poprzednio ro miałem chyba ze 2 lata temu. Przywróciłem system, poustawiałem wszystko, zrobiłem backup tak aby na przyszłość przywrócić tylko system z obrazu bez ponownej konfiguracji. Router z OpenWrt ma 2 porty USB - w jednym jest kamera, której używa motion zapisując pliki na pendrive'a FAT32 umieszczonego w porcie drugim.

/etc/motion/motion.conf

target_dir /mnt/extstor

Hotplug jest wyłączony i montowany zawsze w tym samym punkcie:

config global 'automount'
    option from_fstab '1'
    option anon_mount '0'

config mount
        option target '/mnt/extstor'
        option device '/dev/sda1'
        option enabled '1'

Dziś patrzę a dioda na pendrive miga cały czas. Sprawdzam co jest grane: overlay jest rw czyli OK ale nie ma punktu montowania pendrive'a - nie widać w mount ani w LuCI (not present). Natomiast wchodzę przez smb na:

/mnt/extstor i są tam jakieś pliki .jpg a dodatkowo jest folder motion

Zauważyłem iż mam drugi plik konfiguracyjny /etc/motion.conf i w nim jest:

target_dir /mnt/extstor/motion

i pewnie dlatego pojawił się folder motion w /mnt/extstor

ale co jest grane? Którego pliku konfiguracyjnego w końcu używa motion - wybiera sobie losowo czy jak?

Rozumiem iż w tym momencie gdy pen nie jest zamontowany, motion zapisuje pliki do flasha. Nie mogę usunąć tych plików z poziomu Windows bo jest błąd (pliki w Putty są szare) - musze zrobić np. tak w Putty:

rm -R *.jpg

Pamiętam iż jak wszystko działa OK to pliki są zielone i mogę je usuwać w zamontowanym dysku sieciowym pod Windows.

2

Odp: motion i pendrive USB 2.0

Tak jak piszesz. Uruchamiaj montion zawsze PO zamontowaniu pendrive, nie wcześniej.

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

3

Odp: motion i pendrive USB 2.0

Wydaje mi się iż w momencie jak coś nie tak z pendrive to motion głupieje. Usunąłem plik /etc/motion.conf zostawiając tylko /etc/motion/motion.conf i zobaczymy.
Teraz jak pen jest już zamontowany to pliki .jpg są na zielono w Putty i przez smb mogę je usunąć.

A da się tak zrobić aby motion nie zapisywał plików jeśli pen nie jest zamontowany?

4

Odp: motion i pendrive USB 2.0

No nie, on nic nie wie o montowaniu i systemach plików. Po prostu zapisuje do wskazanego katalogu, a czy on jest czy nie, co tam jest zamontowane i jak to jemu jest wszystko jedno. Co najwyżej zgłosi błąd że nie może zapisać.

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

5

Odp: motion i pendrive USB 2.0

No to właśnie o to chodzi jak zrobić aby nie mógł wtedy zapisywać i zgłaszać błąd.

Ewentualnie aby zapisywał wtedy do RAM w /tmp a nie do flasha?
Może jakaś sztuczka z montowaniem i link symboliczny?

6 (edytowany przez Cezary 2023-11-11 13:00:28)

Odp: motion i pendrive USB 2.0

Bardzo proste rozwiązanie - montuj pendrive w katalogu /tmp/dysk , to wszystko. Oczywiście w konfgu motion wskaż że ma zapisywać w ten katalog.

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

7

Odp: motion i pendrive USB 2.0

Myślalem aby zrobić tak:

ln -s /mnt/extstor /tmp

albo odwrotnie:

ln -s /tmp /mnt/extstor

a w motion.conf /mnt/extstor

ale chyba masz rację. Zrobię tak:

/etc/init.d/motion stop
rm -R /mnt/extstor
mkdir /tmp/extstor

w motion.conf daję target_dir /tmp/extstor
no i zmieniam smb też na /tmp/extstor bo chcę mieć dostęp przez Windows

To powinno chyba załatwić sprawę.

8

Odp: motion i pendrive USB 2.0

Tylko po co jak możesz pendrvie bezpośrednio montować w /tmp/extstor?

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

9

Odp: motion i pendrive USB 2.0

No dobra zrobiłem tak jak pisałem tylko nie trzeba tworzyć folderu przez mkdir /tmp/extstor bo to i tak RAM - wystarczy w fstab ustawić i wyłączyć i włączyć router aby pen zamontowany był w /tmp/extstor

Testuję działanie:

  • machnąłem ręką przed kamerą aby motion coś zarejestrował i są pliki .jpg w /tmp/extstor

  • wyjąłem na chama pendrive'a bo nie można zrobić umount, podłączam do laptopa i są te same pliki

  • znowu machnąłem ręką przed kamerą i motion zapisuje pliki dalej w /tmp/extstor ale one są teraz w pamięci RAM (szare w Putty). Mogę je przeglądać przez smb ale nie mogę usunąć.

Aby wszystko naprawić muszę wyłączyć router, podłączyć pen i włączyć. Pliki z pamięci RAM znikną.

10

Odp: motion i pendrive USB 2.0

W cenie poświęconego czasu na ten problem kupiłbyś tani rejestrator z onvif...

Dom : router https://i.imgur.com/IuB6Zwy.png | TP-LINK T1700G-28TQ |Zyxel XGS-1210-12 | 6x Ruckus r310 unleashed  + Ruckus icx7150-c12p | Truenas scale 124TB 25Gb| Xpenology 12TB | apc smart ups 750 lcd smile 100Mb/s - 25Gb/s
Podróżne : GL.Inet MT3000  +1TB hdd
Działka : rb260gs 1j wdm 1Gb+ ruckus r310 + nb m5 + kilka kamer ip  + panel 285Wp + lifepo4 12v 60Ah .

11

Odp: motion i pendrive USB 2.0

@jzef
... i co będzie gdy motion zapisze cały RAM ???
może napisz skrypt który znajduje i kasuje najstarsze pliki z motion, żeby router mógł z niej skorzystać gdy będzie potrzebował.
chyba, że tam nic nie masz ciekawego co by zajmowało RAM, no to OK.

Xiaomi AX3000T @ Netgear R6220
* DVBT2 - T230C *

12

Odp: motion i pendrive USB 2.0

Zresatrtuje się router, zwolni ram i nie będzie zawalonego flash smile

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

13 (edytowany przez mar_w 2023-11-11 18:54:05)

Odp: motion i pendrive USB 2.0

zawalonego flasha to @jzef już nie miał, chodziło mi o to, żeby router jakoś pracował "liniowo", bo co będzie gdy problem z montowaniem pozostanie i co minutę będzie się rebootował ?

@jzef nawet nie zdąży się zalogować  i już go wyrzuci bo nastąpi reboot routera.....
chyba  że @jzef powie złodziejom żeby teraz nie ruszali się przed kamerą bo motion zapisuje wszystko do RAM i co chwilę router się wywala smile wink

Xiaomi AX3000T @ Netgear R6220
* DVBT2 - T230C *

14 (edytowany przez ad2014 2023-11-12 09:53:29)

Odp: motion i pendrive USB 2.0

1.powinieneś montować nośnik po uuid
2.daj opóźnienie startu motion do rc.local
3. pytanie  jakim poleceniem uruchamiasz motion ?   ( najlepiej  uruchamiać  motion -c  /etc/TwójConfigMotion.conf ) 
to powino załatwić problem   - bo nawet jak nośnik się nie uruchomi  to motion uruchomi się z configiem w którym  określasz miejsce zapisu , jak nośnika nie będzie  - nie powinien nic zapisać

15 (edytowany przez jzef 2023-11-12 11:56:53)

Odp: motion i pendrive USB 2.0

mar_w napisał/a:

bo co będzie gdy problem z montowaniem pozostanie i co minutę będzie się rebootował ?

@jzef nawet nie zdąży się zalogować  i już go wyrzuci bo nastąpi reboot routera.....

Nie myślisz logicznie. Jeśli nastąpi choćby jeden restart to pamięć RAM zostanie wyczyszczona nawet jak będzie problem z montowaniem pendrive'a a motion aż tak szybko jej nie zapełni aby nie zdążyć się zalogować. Wolnego RAM mam więcej niż wolnego flash:

| Flash: total: 12.5MB, used: 8.4MB, 67.1%, free: 4.1MB                  |
| Memory: total: 59.8MB, used: 24.9MB, 41.6%, free: 35.0MB               |

Jeden plik .jpg zajmuje średnio 30KB więc zmieści się jakieś 1000 plików a tyle to trzeba kilka dni aby motion zarejestrował.

ad2014 napisał/a:

3. pytanie  jakim poleceniem uruchamiasz motion ?   ( najlepiej  uruchamiać  motion -c  /etc/TwójConfigMotion.conf )

Zrobiłem skrypt /etc/init.d/motion do włączania/wyłączania:

#!/bin/sh /etc/rc.common
# Copyright (C) 2006-2011 OpenWrt.org

START=50

start() {
    service_start /usr/bin/motion
}

stop() {
    service_stop /usr/bin/motion
}

a motion uruchamia się albo przy starcie routera przez /etc/rc.local

/etc/init.d/motion start

albo przez crona:

/etc/crontabs/root
0 7 * * 1-5 /etc/init.d/motion start
0 18 * * 1-5 /etc/init.d/motion stop

16

Odp: motion i pendrive USB 2.0

jzef napisał/a:
mar_w napisał/a:

bo co będzie gdy problem z montowaniem pozostanie i co minutę będzie się rebootował ?

@jzef nawet nie zdąży się zalogować  i już go wyrzuci bo nastąpi reboot routera.....

Nie myślisz logicznie. Jeśli nastąpi choćby jeden restart to pamięć RAM zostanie wyczyszczona nawet jak będzie problem z montowaniem pendrive'a a motion aż tak szybko jej nie zapełni aby nie zdążyć się zalogować. Wolnego RAM mam więcej niż wolnego flash:

| Flash: total: 12.5MB, used: 8.4MB, 67.1%, free: 4.1MB                  |
| Memory: total: 59.8MB, used: 24.9MB, 41.6%, free: 35.0MB               |

Jeden plik .jpg zajmuje średnio 30KB więc zmieści się jakieś 1000 plików a tyle to trzeba kilka dni aby motion zarejestrował.
...

OK, może i nie myślę logicznie, bo mam zupełnie inne doświadczenia.
Pakietem "Motion" interesowałem się dawno temu co pokazuje chociażby ten temat:
https://eko.one.pl/forum/viewtopic.php? … 72#p151272
kamery na USB podłączone do routera i robienie z niego rejestratora to było jak wycieranie d..y szkłem. Takie było czasy i możliwości.
Potem zacząłem wyciągać gotowe strumienie z kamer IP:
https://eko.one.pl/forum/viewtopic.php? … 05#p158405
i sumarycznie wyszło tak jak pisze @ambrozy5
https://eko.one.pl/forum/viewtopic.php? … 78#p292378

@jzef
Szanuję co robisz i że masz chęci na takie zabawy z routerem, tym bardziej, że teraz routery to 4 rdzeniowe potwory i może warto wrócić do tego typu routero-rejestratora....
Wszystko zależy jak się ustawi tego motiona.

Teraz to aż się boję cokolwiek napisać lub doradzać, żeby znowu nie być posądzonym o brak logicznego myślenia ale spróbuję:
1. W routerach natywnym systemem plików dla pamięci zewnętrznych jest/był ext4. Teraz dla pamięci typu pendrive polecanym systemem jest f2fs a Ty masz:

jzef napisał/a:

...Router z OpenWrt ma 2 porty USB - w jednym jest kamera, której używa motion zapisując pliki na pendrive'a FAT32 umieszczonego w porcie drugim....

Czy dobrze czy źle, nie komentuję, każdy robi jak uważa. Można to wziąć pod rozwagę.
FAT32 jest wygodniejszy bo można podłączyć takiego pena do Windowsa ale po co, skoro mając go w routerze i robiąc serwer plików można ściągać po sieci i wtedy Windowsa nie interesuje czy tam jest ext4 czy fiku-miku bo router obsługuje system plików.

2.

jzef napisał/a:

...Jeden plik .jpg zajmuje średnio 30KB więc zmieści się jakieś 1000 plików a tyle to trzeba kilka dni aby motion zarejestrował..

wg mnie sporne kwestie jeśli chodzi o temat monitoringu to:

a) 30KB - dla takiej jakości zdjęć to wg mnie nie warto bawić się w monitoring, chyba że dla sportu lub z nudów.
rozumiem jakby to były potwory po 300KB to i jakość powinna być ciut lepsza, żeby potem można było rozpoznać ufo od zombie smile

b) "zmieści się jakieś 1000 plików a tyle to trzeba kilka dni" - zakładam że tu jest kwestia wykrywania ruchu i jego częstotliwości. Jeżeli masz słaby ruch to rzeczywiście robienie zdjęć będzie trwało kilka dni.
Ale jeżeli pojawi się ktoś nieoczekiwany i "motion" będzie strzelał co sekundę to po 16 minutach (przy 30KB na zdjęcie) zapełni się RAM.
A jakbyś sprawdzał i kasował najstarsze pliki z RAM-u to przynajmniej miałbyś dowód z ostatnich chwil przed "czyszczeniem"...

A tak policjant spyta: "Czy ma Pan dowód na obecność intruza, bo widzę kamerę?"
- "Tak mam monitoring, ale Openwrt właśnie się zrestartował, bo zapełnił się RAM po nieudanej próbie montowania pendrive i wszystkie zdjęcia poszły w komin..."

Ogólnie monitoring to priorytet, który powinien być maksymalnie niezawodny, uwzględniający (jeżeli można) słabości sprzętowe (raid, backupy) lub programowe, na które można częściowo zaradzić, a jeżeli jest inaczej to jest to po prostu zabawka.
Nic nie musisz, ale możesz.

Z poważaniem.

Xiaomi AX3000T @ Netgear R6220
* DVBT2 - T230C *

17 (edytowany przez jzef 2023-11-13 08:25:59)

Odp: motion i pendrive USB 2.0

mar_w napisał/a:

W routerach natywnym systemem plików dla pamięci zewnętrznych jest/był ext4. Teraz dla pamięci typu pendrive polecanym systemem jest f2fs

Tutaj masz rację - FAT32 to pozostałość starych czasów gdy miałem może 1 lub dwa pendrive'y i wtedy jak chciałem coś skopiować to można było wyjąć pena z routera - skopiować w Windows plik i przenieść gdzieś i włożyć pena z powrotem do routera. Dzisiaj mam kilkanaście pendrive'ów i faktycznie nie wyciągam już tego z routera. Tak na marginesie to FAT32 jest problematyczny dla serwera PXE: https://eko.one.pl/forum/viewtopic.php?id=14191
Trzeba będzie zmienić na f2fs

mar_w napisał/a:

30KB - dla takiej jakości zdjęć to wg mnie nie warto bawić się w monitoring, chyba że dla sportu lub z nudów.

Tak, to jest dla sportu i w celach nauki - człowiek ciągle się uczy skryptów, obsługi OpenWrt itd.
Do prawdziwego monitoringu mam porządna kamerę IP, która nie potrzebuje OpenWrt bo ma zaawansowane firmware do detekcji ruchu.

Ja lubię wiedzieć jak coś działa i czemu czasem nie działa.

No i znowu jest problem - dioda w penie miga, nie widać go w mount i motion zapisuje do RAM, szare pliki .jpg w Putty

Kurdę dwa dni raptem. Ewidentnie coś jest nie tak - może to wina samego pena i już jest na wykończeniu a może wydajność prądowa portów USB w routerze słabnie? W dmesg mam takie błędy:

[22912.480000] blk_update_request: I/O error, dev sda, sector 302808
[22912.744000] usb 2-1: new full-speed USB device number 4 using ohci-platform
[22927.924000] usb 2-1: device descriptor read/64, error -145
[22943.208000] usb 2-1: device descriptor read/64, error -145

Mam też innego starego pendrive'a 1GB i często jak kopiuję na niego pliki w Windows to pojawiają się różne błędy CRC czy I/O - tak, że pendrive'y nie są wieczne.

Tak jak pisałem muszę wymienić pendrive'a i od razu system plików na nim.

Jeśli to wydajność prądowa portu USB siada to kończę zabawę bo nie będę kupował jakichś hubów USB z własnym zasilaniem.
Z tego tematu wynika iż czasem nawet hub aktywny nie pomaga: https://eko.one.pl/forum/viewtopic.php?id=13799&p=2
Może w routerze port USB się wyrobił i jest za luźny i dlatego rozłącza?

18

Odp: motion i pendrive USB 2.0

Zainstalowałem w routerze f2fs ale gdy próbuję formatować pena to mam błąd:

mkfs.f2fs /dev/sda1

        F2FS-tools: mkfs.f2fs Ver: 1.4.0 (2014-09-18)

        Error: Not available on mounted device!

19

Odp: motion i pendrive USB 2.0

Bo masz go już zamontowanego?

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

20 (edytowany przez jzef 2023-11-13 09:00:50)

Odp: motion i pendrive USB 2.0

Wyjąłem pena, wyzerowałem 10000 sektorów pod Windows, wkładam z powrotem do routera, power off/on routera, zatrzymuję motion i teraz jak próbuję formatować to mam inny błąd:

mkfs.f2fs /dev/sda1

        F2FS-tools: mkfs.f2fs Ver: 1.4.0 (2014-09-18)

        Error: Failed to open the device!

W lsusb widać pena.

21

Odp: motion i pendrive USB 2.0

Nie ma takiego urządzenia. Jak wyzerowałeś pierwsze sektory to wywaliłeś podział partycji, więc teraz załóż mu partycję po prostu.

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

22

Odp: motion i pendrive USB 2.0

No tak - partycja może przecież być bez systemu plików. Zrobiłem w diskpart pod Windows:

sel disk 2
clean
create par pri
active
exit

i teraz poszło formatowanie w OpenWrt ale jakaś kosmiczna ilość sektorów jest:

root@OpenWrt31:~# mkfs.f2fs /dev/sda1

        F2FS-tools: mkfs.f2fs Ver: 1.4.0 (2014-09-18)

Info: sector size = 512
Info: total sectors = 67545198317535232 (in 512bytes)
Info: zone aligned segment0 blkaddr: 256
Info: Discarding device
Info: This device doesn't support TRIM

Jak mam montować tego pendrive'a przez fstab - do tej pory miałem tak:

config global 'automount'
        option from_fstab '1'
        option anon_mount '0'

config mount
        option target '/tmp/extstor'
        option device '/dev/sda1'
        option enabled '1'

23

Odp: motion i pendrive USB 2.0

A mnie zastanawia czemu to robisz cały czas pod windowsem. Żeby wyzerować sektory wystarczy samo dd. Żeby założyć partyje wystarczy fdisk. Zainstaluj fdiska, zrób fidsk /dev/sda, zdejmij istniejące partycje, zrób ponownie jedną primary i masz.

Jeżeli masz tylko moduły od f2fs to samo się zamontuje. Tylko wiesz że zmiana systemu plików nie spowoduje że nie będzie ci rozłączało urządzenia na usb itp?

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

24 (edytowany przez jzef 2023-11-13 10:25:59)

Odp: motion i pendrive USB 2.0

Chyba nie powinno być różnicy gdzie stworzę partycję - wiem iż pod Windows w diskpart zawsze dobrze robi i później pendrive jest bootowalny ale OK, usunąłem i stworzyłem partycję w fdisk pod OpenWrt, formatuję jako f2fs - identyczna ilość sektorów (kosmiczna). Jakoś długo formatuje albo się zawiesiło. Zalogowałem się w drugim oknie Putty i w logread mam takie coś:

Mon Nov 13 10:05:52 2023 kern.info kernel: [  375.444000]  sda: sda1
Mon Nov 13 10:05:52 2023 daemon.err block: Unkown action change

Nie kończy formatowania - w logread masa błędów USB i na końcu takie:

Mon Nov 13 10:21:41 2023 kern.err kernel: [ 1324.988000] usb usb2-port1: unable to enumerate USB device

Próbuję jeszcze raz po wyłączeniu i włączeniu routera.

25

Odp: motion i pendrive USB 2.0

Wywaliło ci urządzenie na usb. Weź innego pendrive, zobaczysz czy to pendrive czy usb w routerze sprawia problem.

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