Comportamento anomalo "# shutdown -P" e "# poweroff"

9 risposte [Ultimo contenuto]
Ritratto di pasqui_a
pasqui_a
(Newbie)
Offline
Newbie
Iscritto: 07/02/2015
Messaggi: 5

Ciao a tutti,
sono nuovo sia di Debian (vengo da Ubuntu) che del forum (http://www.debianitalia.org/forum/presentazioni/nuovo-utente-debian).
Ho allestito da poco un server con un vecchio portatile per avere un servizio DLNA per il tablet ed anche perchè tra un paio di mesi andrò all'estero per un tirocinio e vorrei aver accesso alla mia libreria multimediale.

Sono riuscito a configurare tutti i servizi che mi servono almeno nella rete locale ma ho qualche problema con lo spegnimento. Vorrei spegnere il server quando non lo utilizzo e accenderlo tramite WoL o WoW.
Il problema è che i comandi shutdown -P e poweroff hanno un comportamento imprevedibile. Alcune volte spengo il server e poi riesco ad accenderlo tramite WoL, altre volte il server non si spegne completamente e non sono più in grado di accenderlo da remoto. Finchè sono a casa posso premere il tasto fisico ma quando sarò all'estero avrò qualche problema in più.

Onestamente non ho idea di quale possa essere la causa dell'anomalia ne saprei quali files di log possano darmi qualche indizio.
Se qualcuno volesse darmi qualche dritta...

Ritratto di mcortese
mcortese
(Moderatore)
Offline
Moderatore
Iscritto: 27/02/2009
Messaggi: 2918

Credo sia un problema più di BIOS che di kernel. Ad esempio sul desktop è successo anche a me qualche volta, mentre sul portatile mai, pur con lo stesso kernel, la stessa distribuzione, ecc. Sad

Ritratto di lollix01
lollix01
(Monster)
Offline
Monster
Iscritto: 22/02/2014
Messaggi: 411

Sarò onesto, non sò cosa sia WoW, WoL e tantomeno DLNA ma mi piacerebbe scoprirlo!
Comunque prova ad usufruire del comando

<br />
init 0<br />

Se ricordo bene.
Bye!

We are MicroSoft. You will be assimilated. Resistance is futile.
-- Attributed to B.G., Gill Bates

Ritratto di pasqui_a
pasqui_a
(Newbie)
Offline
Newbie
Iscritto: 07/02/2015
Messaggi: 5

Grazi per le risposte,
Non credo che il problema sia del bios perchè il compiter è stato utilizzato diversi anni con il kernel linux senza che manifestasse questo problema.

Come va dato il comando indicatomi? Nel terminale?

PS
La Digital Living Network Alliance (DLNA) è una collaborazione internazionale fra industrie di computer e compagnie di apparati mobili, con l'obiettivo di sviluppare uno standard comune per la comunicazione su rete locale di molteplici dispositivi audio e video. Le specifiche sono basate su standard come il TCP/IP per la connessione dei dispositivi e l'UPnP per la condivisione delle risorse. (Wikipedia)

Wake on LAN (WoL) è uno standard Ethernet che consente di avviare un computer in standby da una postazione remota, a patto di conoscerne l'indirizzo MAC (Wikipedia)

wake on Wan come sopra ma da anzichè dalla rete locale dalla rete internet

Ritratto di mcortese
mcortese
(Moderatore)
Offline
Moderatore
Iscritto: 27/02/2009
Messaggi: 2918

Intanto un po' di teoria.

Il comando shutdown fa tre cose: manda un messaggio a tutti i terminali dicendo "sto per spegnere/riavviare", lascia passare un po' di tempo, e infine esegue "init 0" (nel caso di spegnimento) o "init 6" (nel caso di riavvio).

A sua volta "init 0" porta il sistema dal runlevel attuale (di solito il 2) al runlevel 0. Questo vuol dire che termina tutti i servizi tipici del runlevel 2 come X, PulseAudio, Network Manager, CUPS, sshd, ecc. e poi esegue gli script tipici del runlevel 0. Tra questi, ad esempio, scrive l'ora di sistema nel RTC, uccide tutti i processi in esecuzione, smonta i file system tranne quello di root che invece rimonta read-only, e, per ultimo, invoca il comando halt.

Il comando halt, finalmente, è quello che spegne fisicamente la macchina. È un comando talmente di basso livello e pericoloso che, se invocato quando ancora il sistema è nel runlevel 2, si rifiuta di funzionare e, intuendo l'intenzione dell'utente, lancia invece shutdown.

Ci sono un paio di opzioni a disposizione dell'amministratore di sistema per personalizzare come halt debba essere invocato quale ultimo step del passaggio a runlevel 0. Queste vanno specificate nel file /etc/default/halt e sono spiegate da "man 5 halt".

La prima opzione, chiamata HALT, dice quale eseguibile spegne la macchina. La scelta è tra halt e poweroff, ma di solito uno è un link all'altro, quindi non credo si comportino in maniera diversa (l'unica eccezione è se si ha un UPS controllato dal computer, ma è troppo rara e specifica per parlarne).

La seconda opzione è NETDOWN che dice se spegnere le schede di rete prima della macchina o se lasciarle alimentate. Ovvio che perché WOL funzioni bisognerebbe mettere "NETDOWN=no".

Consiglio quindi di provare un po' tutte le combinazioni, cominciando proprio da quella più ovvia, cioè:

HALT=poweroff
NETDOWN=no

Ritratto di pasqui_a
pasqui_a
(Newbie)
Offline
Newbie
Iscritto: 07/02/2015
Messaggi: 5

Spiegazione interessante.

Ho aggiunto al file /etc/default/halt la riga NETDOWN=no ma non è cambiato nulla.

Inoltre ho provato con molte varianti di spegnimento (shutdown -P, shutdown -h, poweroff -f, halt...). Il comportamento è sempre il medesimo.
Accendo il pc col tasto e funziona, lo spengo tramite ssh e funziona, lo accendo tramite il wol e funziona, lo spengo tramite ssh ma non si spegne completamente costringendomi a tenere premuto il tasto fisico. Inoltre il wol non funziona per accendere il pc dopo questo spegnimento tramite tasto. Da qui ricomincia il circolo.

Mi sembra assurdo anche perché quel pc ha avuto installato Ubuntu per diversi anni e non ha manifestato questo genere di problema.
Potrebbe essere Systemd la causa?

Ritratto di badroot
badroot
(Guru)
Offline
Guru
Iscritto: 22/08/2008
Messaggi: 2083

Ciao,
ho trovato questo post che tratta un problema molto simile al tuo, in questo caso il problema era il drive della scheda di rete .... non è che per caso è il tuo stesso modello ?

Ritratto di mcortese
mcortese
(Moderatore)
Offline
Moderatore
Iscritto: 27/02/2009
Messaggi: 2918

Systemd si occupa solo della transizione tra gli userlevel. Alla fine, anche lui chiamerà halt.

Ritratto di pasqui_a
pasqui_a
(Newbie)
Offline
Newbie
Iscritto: 07/02/2015
Messaggi: 5

Il comportamento mi sembra lo stesso.
Le schede di rete sono diverse però.
Io ho da lspci 08:00.0 Ethernet controller: Broadcom Corporation NetLink BCM5787M Gigabit Ethernet PCI Express (rev 02)

sudo lsmod |grep tg3
tg3                   164481  0
ptp                    17692  1 tg3
libphy                 32268  1 tg3

Quest'ultima parte non la capisco. Ho letto su un post che dovrebbe controllare i moduli caricati dal kernel.

Ho provato ad installare il driver scaricato dal sito della Broadcom ma non riesco ad installarlo.

/Scrivania/drivers$ ls
README.TXT  tg3-3.136h-1.src.rpm  tg3-3.136h.tar.gz  tg3_sup-3.136h-1.ISO.tar.gz
 
pasqui@pasqui-server:~/Scrivania/drivers$ tar xvzf tg3-3.136h.tar.gz
tg3-3.136h/
tg3-3.136h/makeflags.sh
tg3-3.136h/ChangeLog
tg3-3.136h/Makefile
tg3-3.136h/tg3_firmware.h
tg3-3.136h/tg3.c
tg3-3.136h/tg3.h
tg3-3.136h/tg3_vmware.c
tg3-3.136h/tg3_compat.h
tg3-3.136h/LICENSE
tg3-3.136h/tg3_compat2.h
tg3-3.136h/tg3.4
tg3-3.136h/tg3_vmware.h
tg3-3.136h/README.TXT
tg3-3.136h/esx_ioctl.h
 
pasqui@pasqui-server:~/Scrivania/drivers/tg3-3.136h$ cd src
-bash: cd: src: File o directory non esistente
 
pasqui@pasqui-server:~/Scrivania/drivers/tg3-3.136h$ sudo make
make -C  SUBDIRS=/home/pasqui/Scrivania/drivers/tg3-3.136h modules
make[1]: *** SUBDIRS=/home/pasqui/Scrivania/drivers/tg3-3.136h: File o directory non esistente.  Arresto.
Makefile:91: set di istruzioni per l'obiettivo "default" non riuscito
make: *** [default] Errore 2

Non capisco il significato.

Ritratto di badroot
badroot
(Guru)
Offline
Guru
Iscritto: 22/08/2008
Messaggi: 2083

Ciao,
la sequenza, in base a ciò che hai postato è :

cd tg3-3.136h 
make

ovviamente perchè possa compilare devi avere installato compilatore e soci.

sudo apt-get install build-essential

dovrebbe portarsi dietro tutto il necessario.