Jak rozchodit tlačítka na Zyxel NAS326

Raspberry, Arduino, Mini-PC a další

Moderátor: Moderátoři

Zpráva
Autor
Uživatelský avatar
asdf
Příspěvky: 707
Registrován: 06 říj 2022, 00:00
Kontaktovat uživatele:

#16 Příspěvek od asdf »

Asi do toho nějak zamontovat ten shutdown, třeba takhle:

Kód: Vybrat vše

#!/bin/bash
while true
do
	head -c 16 /dev/input/event0 >data
	type=$(od -A n -t u1 -N 1 -j 8 data)
	code=$(od -A n -t u1 -N 1 -j 10 data)
	value=$(od -A n -t u1 -N 1 -j 12 data)
	echo $type $code $value
	if test $type = 1 -a $code = 116 -a $value = 1
	then
		shutdown -P now
	fi
done
Teď by to mělo na tlačítko vypnout.
Uživatelský avatar
lesana87
Příspěvky: 4395
Registrován: 20 zář 2014, 00:00

#17 Příspěvek od lesana87 »

Jo, už se to vypnulo. :) Moc díky.
Takže to spustím při startu na pozadí?
Uživatelský avatar
rnbw
Příspěvky: 37414
Registrován: 21 bře 2006, 00:00
Bydliště: Bratislava

#18 Příspěvek od rnbw »

Ano, napr. z /etc/rc.local - na koniec pridaj:
/usr/local/bin/powerbutton-handler.sh &
(alebo ako si to nazves)
Uživatelský avatar
asdf
Příspěvky: 707
Registrován: 06 říj 2022, 00:00
Kontaktovat uživatele:

#19 Příspěvek od asdf »

Ještě je tam problém, že ten dočasný soubor data se vytváří v aktuálním adresáři. To by se mělo spravit nějak takhle:

Kód: Vybrat vše

#!/bin/bash
data=/tmp/powerbutton_record
while true
do
	head -c 16 /dev/input/event0 >$data
	type=$(od -A n -t u1 -N 1 -j 8 $data)
	code=$(od -A n -t u1 -N 1 -j 10 $data)
	value=$(od -A n -t u1 -N 1 -j 12 $data)
	echo $type $code $value
	if test $type = 1 -a $code = 116 -a $value = 1
	then
		shutdown -P now
	fi
done
Uživatelský avatar
rnbw
Příspěvky: 37414
Registrován: 21 bře 2006, 00:00
Bydliště: Bratislava

#20 Příspěvek od rnbw »

Docasny subor nevytvarat:

Kód: Vybrat vše

#!/bin/bash
while true; do
        readarray -d\  event < <(od -A n -t u1 -N 16 /dev/input/event0 | awk '{print $9, $11, $13}')
        if [ ${event[0]} = 1 -a ${event[1]} = 116 -a ${event[2]} = 1 ]; then
                poweroff
        fi
done
Naposledy upravil(a) rnbw dne 28 črc 2025, 20:59, celkem upraveno 1 x.
Uživatelský avatar
asdf
Příspěvky: 707
Registrován: 06 říj 2022, 00:00
Kontaktovat uživatele:

#21 Příspěvek od asdf »

Tak jsem udělal dvě změny:
- Nebere to jen jeden bajt, ale celé položky té struktury.
- Nevynechává to události.
Ale pořád to vytváří ten dočasný soubor. :-(

Kód: Vybrat vše

#!/bin/bash
data=/tmp/powerbutton_record
(
	while true
	do
		head -c 16 <&10 >$data
		type=$(od -A n -t u2 -N 2 -j 8 $data)
		code=$(od -A n -t u2 -N 2 -j 10 $data)
		value=$(od -A n -t d4 -N 4 -j 12 $data)
		echo $type $code $value
		if test $type = 1 -a $code = 116 -a $value = 1
		then
			shutdown -P now
		fi
	done
) 10</dev/input/event0
Uživatelský avatar
lesana87
Příspěvky: 4395
Registrován: 20 zář 2014, 00:00

#22 Příspěvek od lesana87 »

Teda vy to furt vylepšujete, až to přestávám chápat. :oops:

Edit: Pořád dumám nad tím, proč mi to nechce instalovat z toho DVD. Když zkusím to DVD přidat přes apt-cdrom, tak to píše:

Kód: Vybrat vše

Please insert a Disc in the drive and press [Enter] 
Mounting CD-ROM...
Identifying... [22cdcdc3e17649e1b3dabebef1f2e6cb-2]
Scanning disc for index files...
Found 3 package indexes, 0 source indexes, 0 translation indexes and 0 signatures
This disc is called: 
'Debian GNU/Linux 12.11.0 _Bookworm_ - Official armhf DVD Binary-1 with firmware 20250517-11:53'
Reading Package Indexes... Done
Writing new source list
Source list entries for this disc are:
deb cdrom:[Debian GNU/Linux 12.11.0 _Bookworm_ - Official armhf DVD Binary-1 with firmware 20250517-11:53]/ bookworm contrib main non-free-firmware
Unmounting CD-ROM...
Repeat this process for the rest of the CDs in your set.
E: Unable to locate any package files, perhaps this is not a Debian Disc or the wrong architecture?
Co může být špatně? Obraz jsem stáhla z oficiální stránky Debianu, kontrolovala jsem checksum. Pálila jsem to v Neru pod WinXP, v linuxu se mi nic vypálit nepodařilo, všechny pokusy skončily táckem pod pivo. :(
Přitom třeba instalace mc proběhne normálně:

Kód: Vybrat vše

The following NEW packages will be installed:
  mc
0 upgraded, 1 newly installed, 0 to remove and 70 not upgraded.
Need to get 0 B/460 kB of archives.
After this operation, 1092 kB of additional disk space will be used.
Get:1 cdrom://[Debian GNU/Linux 12.11.0 _Bookworm_ - Official armhf DVD Binary-1 with firmware 20250517-11:53] bookworm/main armhf mc armhf 3:4.8.29-2 [460 kB]
Selecting previously unselected package mc.
(Reading database ... 20299 files and directories currently installed.)
Preparing to unpack .../m/mc/mc_4.8.29-2_armhf.deb ...
Unpacking mc (3:4.8.29-2) ...
Setting up mc (3:4.8.29-2) ...
update-alternatives: using /usr/bin/mcview to provide /usr/bin/view (view) in au
to mode
Processing triggers for mailcap (3.70+nmu1) ...
Ale instalace cpp skončí s chybama:

Kód: Vybrat vše

The following NEW packages will be installed:
  cpp cpp-12
The following packages will be upgraded:
  gcc-12-base libgcc-s1 libstdc++6
3 upgraded, 2 newly installed, 0 to remove and 67 not upgraded.
Need to get 0 B/7870 kB of archives.
After this operation, 18.4 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 cdrom://[Debian GNU/Linux 12.11.0 _Bookworm_ - Official armhf DVD Binary-1 with firmware 20250517-11:53] bookworm/main armhf gcc-12-base armhf 12.2.0-14+deb12u1 [37.6 kB]
Err:2 cdrom://[Debian GNU/Linux 12.11.0 _Bookworm_ - Official armhf DVD Binary-1 with firmware 20250517-11:53] bookworm/main armhf libstdc++6 armhf 12.2.0-14+deb12u1
  File not found
Err:3 cdrom://[Debian GNU/Linux 12.11.0 _Bookworm_ - Official armhf DVD Binary-1 with firmware 20250517-11:53] bookworm/main armhf libgcc-s1 armhf 12.2.0-14+deb12u1
  File not found
Err:4 cdrom://[Debian GNU/Linux 12.11.0 _Bookworm_ - Official armhf DVD Binary-1 with firmware 20250517-11:53] bookworm/main armhf cpp-12 armhf 12.2.0-14+deb12u1
  File not found
Err:5 cdrom://[Debian GNU/Linux 12.11.0 _Bookworm_ - Official armhf DVD Binary-1 with firmware 20250517-11:53] bookworm/main armhf cpp armhf 4:12.2.0-3
  File not found
E: Failed to fetch cdrom://[Debian GNU/Linux 12.11.0 _Bookworm_ - Official armhf DVD Binary-1 with firmware 20250517-11:53]/pool/main/g/gcc-12/libstdc%2b%2b6_12.2.0-14%2bdeb12u1_armhf.deb  File not found
E: Failed to fetch cdrom://[Debian GNU/Linux 12.11.0 _Bookworm_ - Official armhf DVD Binary-1 with firmware 20250517-11:53]/pool/main/g/gcc-12/libgcc-s1_12.2.0-14%2bdeb12u1_armhf.deb  File not found
E: Failed to fetch cdrom://[Debian GNU/Linux 12.11.0 _Bookworm_ - Official armhf DVD Binary-1 with firmware 20250517-11:53]/pool/main/g/gcc-12/cpp-12_12.2.0-14%2bdeb12u1_armhf.deb  File not found
E: Failed to fetch cdrom://[Debian GNU/Linux 12.11.0 _Bookworm_ - Official armhf DVD Binary-1 with firmware 20250517-11:53]/pool/main/g/gcc-defaults/cpp_12.2.0-3_armhf.deb  File not found
E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?
Uživatelský avatar
asdf
Příspěvky: 707
Registrován: 06 říj 2022, 00:00
Kontaktovat uživatele:

#23 Příspěvek od asdf »

No, tohle zase nechápu já. S DVD jsem si takhle nikdy nehrál. Vždycky jsem instaloval po síti. Jediné, co mě napadá, že mu teda podstrčit i to druhé DVD, když se po něm ptá. Ale počítám, že tácků už máš dost.

Edit: Aha, teď koukám, že ono má být jen jedno. Tak to nechápu, proč se shání po dalším.
Uživatelský avatar
asdf
Příspěvky: 707
Registrován: 06 říj 2022, 00:00
Kontaktovat uživatele:

#24 Příspěvek od asdf »

Ještě mě napadá, že bych zkontroloval, kam do DVD připojil. Teda podívat se do /etc/apt/sources.list a zkontrolovat, že ten adresář existuje. Jestli to DVD podruhé nepřipojil někam jinam.
Uživatelský avatar
rnbw
Příspěvky: 37414
Registrován: 21 bře 2006, 00:00
Bydliště: Bratislava

#25 Příspěvek od rnbw »

Jeden subor to nacitalo aj pri tom gcc. Mozno je to nejaky bug. Skusil by som na to pustit strace (a presmerovat do suboru), co sa to vlastne pokusa citat.
Uživatelský avatar
lesana87
Příspěvky: 4395
Registrován: 20 zář 2014, 00:00

#26 Příspěvek od lesana87 »

asdf píše:Ještě mě napadá, že bych zkontroloval, kam do DVD připojil. Teda podívat se do /etc/apt/sources.list a zkontrolovat, že ten adresář existuje. Jestli to DVD podruhé nepřipojil někam jinam.
To mě taky napadlo, ale v sources.list je jen

Kód: Vybrat vše

deb cdrom:[Debian GNU/Linux 12.11.0 _Bookworm_ - Official armhf DVD Binary-1 with firmware 20250517-11:53]/ bookworm contrib main non-free-firmware
Když chce při instalaci vložit DVDčko, tak píše vložit do /media/cdrom (to mám ve fstab), ale když ta instalace skončí, je DVD namontované v /media/apt.
Uživatelský avatar
lesana87
Příspěvky: 4395
Registrován: 20 zář 2014, 00:00

#27 Příspěvek od lesana87 »

rnbw píše:Jeden subor to nacitalo aj pri tom gcc. Mozno je to nejaky bug. Skusil by som na to pustit strace (a presmerovat do suboru), co sa to vlastne pokusa citat.
Strace tam nebyl, ale protože je to jen jeden balík, tak nebyl problém naistalovat. Akorát to neznám, musím si přečíst man. :oops:

Edit: Na "strace -o apt.trace apt install cpp" to vyfluslo 190 KB soubor. 8-O Co v něm mám hledat nebo to dělám špatně?
Uživatelský avatar
asdf
Příspěvky: 707
Registrován: 06 říj 2022, 00:00
Kontaktovat uživatele:

#28 Příspěvek od asdf »

A před voláním apt připojit DVD do /media/apt jsi už asi zkoušela, že jo? Případně to přepsat v tom fstab na /media/apt. Ještě mě napadá při instalaci z DVD se nemusí volat "apt update"?
Uživatelský avatar
rnbw
Příspěvky: 37414
Registrován: 21 bře 2006, 00:00
Bydliště: Bratislava

#29 Příspěvek od rnbw »

Skus v tom subore hladat "open".
Uživatelský avatar
lesana87
Příspěvky: 4395
Registrován: 20 zář 2014, 00:00

#30 Příspěvek od lesana87 »

No jo, když ono tam po té žádosti o vložení DVD žádné open není. Volá tam statx() na ty soubory v nějaké cache, na ty mu to vrací -1 ENOENT. Je to v příloze, to vložení DVD je za "Media change".
Přílohy
apt.zip
(12.24 KiB) Staženo 35 x
Odpovědět

Zpět na „Miniaturní počítače (Arduino, Raspberry a další)“