Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 23/02/2013, à 20:18

Jay7s

rc.local: démarrage, exécution et commandes

Bon voilà,

J'ai récemment édité mon fichier /etc/rc.local pour rajouter 2 commandes, une première pour effectuer le trim de mon disque dur SSD

fstrim -v /
fstrim -v /home

et la seconde pour résoudre un problème de subwoofer non reconnu sur mon asus N56VZ,

echo 0x16 0x99130111 > /sys/class/sound/hwC0D0/user_pin_configs
echo 0x1e 0x99130112 > /sys/class/sound/hwC0D0/user_pin_configs
echo 1 > /sys/class/sound/hwC0D0/reconfig

or après avoir fait plusieurs tests j'ai l'impression que les commandes sont mal rédigées de sorte que l'exécution de la première coupe la deuxième.

Soyons clair, voici le contenu de mon fichier rc.local:

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

fstrim -v /
fstrim -v /home

echo 0x16 0x99130111 > /sys/class/sound/hwC0D0/user_pin_configs
echo 0x1e 0x99130112 > /sys/class/sound/hwC0D0/user_pin_configs
echo 1 > /sys/class/sound/hwC0D0/reconfig

exit 0

J'exécute rc.local directement:

zay@xxx-princip:~$ sudo /etc/rc.local start
/: 585261056 bytes were trimmed
/home: 903270400 bytes were trimmed

J'ai l'impression que la seconde commande ne s'exécute pas car si j'inverse les 2 commandes dans rc.local:

zay@xxx-princip:~$ sudo /etc/rc.local start
zay@xxx-princip:

Rien ne se passe, le trim n'a pas été effectué.

J'aurai donc besoin de votre aide pour savoir comment formuler les commandes pour qu'elle s'éxécute l'une après l'autre au démarrage.

Autre problème, j'ai effectué le test suivant, pour m'assurer que le problème vient bien de la commande de trim
Comme indiqué sur le post suivant: http://forum.ubuntu-fr.org/viewtopic.php?pid=3535050, j'ai ajouté:

touch /tmp/toto

à rc.local

Conclusion lorsque la commande

touch /tmp/toto

est placée avant

fstrim -v /
fstrim -v /home

elle s'exécute (j'ai un dossier toto dans /temp) et lorsqu'elle est placé après je n'ai rien.

Autre info, j'ai l'impression d'avoir une anomalie sur exécution du script rc.local:

zay@xxx-princip:~$ ls -l /etc/rc.local
-rwx--x--x 1 root root 476 févr. 23 19:20 /etc/rc.local

Merci beaucoup pour votre aide, tout test et manip sont les bienvenues.
Bonne soirée.

Dernière modification par Jay7s (Le 23/02/2013, à 20:24)

Hors ligne

#2 Le 23/02/2013, à 20:33

pingouinux

Re : rc.local: démarrage, exécution et commandes

Bonsoir,
Tout ce que je peux dire, c'est qu'avec ces deux commandes

echo 0x16 0x99130111 > /sys/class/sound/hwC0D0/user_pin_configs
echo 0x1e 0x99130112 > /sys/class/sound/hwC0D0/user_pin_configs

la seconde annule l'effet de la première.
Pour ajouter une ligne à un fichier, c'est >> au lieu de >

Hors ligne

#3 Le 23/02/2013, à 20:35

Haleth

Re : rc.local: démarrage, exécution et commandes

Fichier system, ca change la donne j'imagine.
A priori, la deuxième ligne suffit, mais pas sur.
Pour ton problème, essaye de mettre des redirections pour lire les éventuelles erreurs:

#!/bin/bash
machin(){
   fstrim -v /
   fstrim -v /home

   echo 0x16 0x99130111 > /sys/class/sound/hwC0D0/user_pin_configs
   echo 0x1e 0x99130112 > /sys/class/sound/hwC0D0/user_pin_configs
   echo 1 > /sys/class/sound/hwC0D0/reconfig
}

machin &>/home/jack/log
exit 0

Ubuntu is an ancien African word which means "I can't configure Debian"

Because accessor & mutator are against encapsulation (one of OOP principles), good OOP-programmers do not use them. Obviously, procedural-devs do not. In fact, only ugly-devs are still using them.

Hors ligne

#4 Le 23/02/2013, à 20:46

jamesbad000

Re : rc.local: démarrage, exécution et commandes

pingouinux a écrit :

Bonsoir,
Tout ce que je peux dire, c'est qu'avec ces deux commandes

echo 0x16 0x99130111 > /sys/class/sound/hwC0D0/user_pin_configs
echo 0x1e 0x99130112 > /sys/class/sound/hwC0D0/user_pin_configs

la seconde annule l'effet de la première.
Pour ajouter une ligne à un fichier, c'est >> au lieu de >

J'ajoute que 

echo 0x16 0x99130111

Va ecrire textuelement "0x16 0x99130111" et non l'équivalent hexa.
En fait je dirais que tu cherche à écrire la valeur hexa correspondant à 0x99130111 à l'adresse 0x16 du fichier non ? Ou as tu trouvé cette directive ?


L'espace et le temps sont les modes par lesquels nous pensons, et non les conditions dans lesquelles nous vivons. (Signé Albert)

Hors ligne

#5 Le 23/02/2013, à 20:52

Jay7s

Re : rc.local: démarrage, exécution et commandes

@pingouinux: donc je dois taper :

echo 0x16 0x99130111 >> /sys/class/sound/hwC0D0/user_pin_configs
echo 0x1e 0x99130112 >> /sys/class/sound/hwC0D0/user_pin_configs

??
Merci

@Haleth, merci mais je n'ai pas compris ce que tu voulais que j'écrive dans mon rc.local ?

@jamesbad000, merci mais je suis pas l'auteur de cette instruction, j'ai suivi le tutoriel suivant : [N56VZ, Realtek ALC663, Black Headphone Out, Right] No sound at all: Subwoofer not working

--> There are two ways of making it work:

#1
a. Add to rc.local :
echo 0x1e 0x99130112 > /sys/class/sound/hwC0D0/user_pin_configs
echo 1 > /sys/class/sound/hwC0D0/reconfig
b. Add options snd-hda-intel model=asus-mode4 in /etc/modprobe.d/alsa-base.conf
c. Reboot
d. Set the mode to "Analog Stereo Output" and then to "Analog Surround 5.1 output" in the sound settings panel. You have to do this each time you reboot!!!

#2
a. Add to rc.local :
echo 0x16 0x99130111 > /sys/class/sound/hwC0D0/user_pin_configs
echo 0x1e 0x99130112 > /sys/class/sound/hwC0D0/user_pin_configs
echo 1 > /sys/class/sound/hwC0D0/reconfig
b. Reboot
c. Set the mode to "Analog Stereo Output" and then to "Analog Surround 5.1 output" in the sound settings panel. You have to do this each time you reboot!!!

Both give the same results and fix the bug.

Hors ligne

#6 Le 23/02/2013, à 21:20

jamesbad000

Re : rc.local: démarrage, exécution et commandes

Bon remontant le fil du problème il semble que ces commandes doivent bien être passées comme celà. Probablement que ce fichier est utilisé comme une queue qui consomme ce qu'on lui met dedans au fur et à mesure, et interprète le texte correctement.
Du coup du devrais plutôt suivre la recommendation de Haleth. C.a.d copier le code qu'il ta donné dans ton rc à la place de celui que tu y a mis.
Ce qui va te produire un fichier de log

Dernière modification par jamesbad000 (Le 23/02/2013, à 21:22)


L'espace et le temps sont les modes par lesquels nous pensons, et non les conditions dans lesquelles nous vivons. (Signé Albert)

Hors ligne

#7 Le 23/02/2013, à 21:33

Jay7s

Re : rc.local: démarrage, exécution et commandes

@jamesbad000

J'ai suivi tes instructions voici désormais mon rc.local:

machin(){
fstrim -v /
fstrim -v /home

echo 0x16 0x99130111 > /sys/class/sound/hwC0D0/user_pin_configs
echo 0x1e 0x99130112 > /sys/class/sound/hwC0D0/user_pin_configs
echo 1 > /sys/class/sound/hwC0D0/reconfig
}

machin &>/home/jay/log
exit 0

J'obtiens un log dans mon dossier personnel, mais le log est vide.

J'ai tenté de lancer manuellement le script :

sudo /etc/rc.local start

Le trim s'exécute mais la commande ne se termine pas et reste en suspend.
Le log obtenu est toujours vide.

Merci d'avance pour tes conseils, je ne sais pas du tout comment faire qu'au démarrage il effectue le Trim et la commande pour mon subwoofer.

Dernière modification par Jay7s (Le 23/02/2013, à 21:33)

Hors ligne

#8 Le 23/02/2013, à 21:54

jamesbad000

Re : rc.local: démarrage, exécution et commandes

J'avoue que je ne vois pas pourquoi le log reste vide...
Sinon as tu essayé de taper directement à la ligne de commande ?

echo 0x16 0x99130111 > /sys/class/sound/hwC0D0/user_pin_configs

QUestion subsidiare, as tu essayé de redémarrer pour voir si ça ne prend pas effet que lors d'un redémarrage;

Dernière modification par jamesbad000 (Le 23/02/2013, à 21:55)


L'espace et le temps sont les modes par lesquels nous pensons, et non les conditions dans lesquelles nous vivons. (Signé Albert)

Hors ligne

#9 Le 23/02/2013, à 22:06

Jay7s

Re : rc.local: démarrage, exécution et commandes

zay@xxx-princip:~$ sudo echo 0x16 0x99130111 > /sys/class/sound/hwC0D0/user_pin_configs
bash: /sys/class/sound/hwC0D0/user_pin_configs: Permission non accordée

donc j'ai essayé ceci

sudo chmod +xr /sys/class/sound/hwC0D0/user_pin_configs

Mais j'ai toujours permission non accordée


J'ai essayé chaque manip en exécutant dans le terminal et en redémarrant. Je n'ai pas plus de résultat.
J'ai voulu testé si rc.local s'exécutait bien au démarrage, donc j'ai ajouté dedans:

touch /tmp/toto

et en redémarrant j'ai 2 cas:

touch /tmp/toto
echo 0x16 0x99130111 > /sys/class/sound/hwC0D0/user_pin_configs
echo 0x1e 0x99130112 > /sys/class/sound/hwC0D0/user_pin_configs
echo 1 > /sys/class/sound/hwC0D0/reconfig 

En redémarrant, j'ai un dossier toto dans /temp (ça marche)

echo 0x16 0x99130111 > /sys/class/sound/hwC0D0/user_pin_configs
echo 0x1e 0x99130112 > /sys/class/sound/hwC0D0/user_pin_configs
echo 1 > /sys/class/sound/hwC0D0/reconfig 
touch /tmp/toto

En redémarrant, je n'ai pas de dossier toto dans /temp (ça ne marche pas)


Pour le log vide est-ce du à ma formulation, il ya une erreur :

machin(){
......
......
}

machin &>/home/jay/log

Dernière modification par Jay7s (Le 23/02/2013, à 22:06)

Hors ligne

#10 Le 23/02/2013, à 22:16

Haleth

Re : rc.local: démarrage, exécution et commandes

Tu edit bien le fichier /etc/init.d/rc.local.. oui ?


Ubuntu is an ancien African word which means "I can't configure Debian"

Because accessor & mutator are against encapsulation (one of OOP principles), good OOP-programmers do not use them. Obviously, procedural-devs do not. In fact, only ugly-devs are still using them.

Hors ligne

#11 Le 23/02/2013, à 22:35

Jay7s

Re : rc.local: démarrage, exécution et commandes

Non j'édite /etc/rc.local

ça te donne un idée ?

Hors ligne

#12 Le 23/02/2013, à 22:36

Haleth

Re : rc.local: démarrage, exécution et commandes

Ca me dit rien.
J'utilise /etc/init.d/rc.local qui fonctionne
Tu devrais essayer


Ubuntu is an ancien African word which means "I can't configure Debian"

Because accessor & mutator are against encapsulation (one of OOP principles), good OOP-programmers do not use them. Obviously, procedural-devs do not. In fact, only ugly-devs are still using them.

Hors ligne

#13 Le 23/02/2013, à 22:39

Jay7s

Re : rc.local: démarrage, exécution et commandes

Quand je lis le contenu de /etc/init.d/rc.local je vois que /etc/rc.local s'exécute avant.
Par contre le contenu de /etc/init.d/rc.local  est beaucoup plus complexe, tu veux que je tape mes instructions

fstrim -v /
fstrim -v /home

echo 0x16 0x99130111 > /sys/class/sound/hwC0D0/user_pin_configs
echo 0x1e 0x99130112 > /sys/class/sound/hwC0D0/user_pin_configs
echo 1 > /sys/class/sound/hwC0D0/reconfig

dedans ?

Hors ligne

#14 Le 23/02/2013, à 22:47

jamesbad000

Re : rc.local: démarrage, exécution et commandes

En principe /etc/init.d/rc.local est fait pour appeler  /etc/rc.local au bon moment dans la séquence de démarrage, et selon le runlevel.
Ce n'est pas une très bonne idée d'aller le modifier.

Autrement d'un point de vu syntaxique, il n'y a rien à redire sur tout ce que tu as fait.


L'espace et le temps sont les modes par lesquels nous pensons, et non les conditions dans lesquelles nous vivons. (Signé Albert)

Hors ligne

#15 Le 23/02/2013, à 22:55

Jay7s

Re : rc.local: démarrage, exécution et commandes

Merci pour ton aide, j'avoue c'est bizarre tout ça.

1 As tu une idée pour expliquer que le log est vide ?

2 Penses-tu que c'est dans la manip :

--> There are two ways of making it work:

    #1
    a. Add to rc.local :
    echo 0x1e 0x99130112 > /sys/class/sound/hwC0D0/user_pin_configs
    echo 1 > /sys/class/sound/hwC0D0/reconfig
    b. Add options snd-hda-intel model=asus-mode4 in /etc/modprobe.d/alsa-base.conf
    c. Reboot
    d. Set the mode to "Analog Stereo Output" and then to "Analog Surround 5.1 output" in the sound settings panel. You have to do this each time you reboot!!!

    #2
    a. Add to rc.local :
    echo 0x16 0x99130111 > /sys/class/sound/hwC0D0/user_pin_configs
    echo 0x1e 0x99130112 > /sys/class/sound/hwC0D0/user_pin_configs
    echo 1 > /sys/class/sound/hwC0D0/reconfig
    b. Reboot
    c. Set the mode to "Analog Stereo Output" and then to "Analog Surround 5.1 output" in the sound settings panel. You have to do this each time you reboot!!!

    Both give the same results and fix the bug.

qu'il ya un problème ?

Pourtant avant d'ajouter la commande de trim dans rc.local, le subwoofer marchait bien , l'astuce fonctionnait.
J'ai essayé de ne mettre que la commande pour le subwoofer (en enlevant les commandes de trim) dans mon rc.local mais ça ne marche plus.

# By default this script does nothing.

echo 0x16 0x99130111 > /sys/class/sound/hwC0D0/user_pin_configs
echo 0x1e 0x99130112 > /sys/class/sound/hwC0D0/user_pin_configs
echo 1 > /sys/class/sound/hwC0D0/reconfig

exit 0

Par ailleurs, quand j'effectue : sudo gedit /sys/class/sound/hwC0D0/reconfig
Gedit m'écrit "Vous n'avez pas les droits necessaires pour écrire sur ce fichier"

Dernière modification par Jay7s (Le 23/02/2013, à 23:06)

Hors ligne

#16 Le 23/02/2013, à 23:05

jamesbad000

Re : rc.local: démarrage, exécution et commandes

Je suppose que le log est vide parce que quelque chose ne va pas dans le script, mais je vois pas quoi. J'ai repris la même formulation que donnée par Haleth avec d'autre commande dans le bloc "machin" et ça log bien.

Ton pbm est d'autant plus étrange si tu ne peux pas rétablir ce qui fonctionnait avant.
Tu n'aurais pas supprimé un # sur une des lignes de commentaire ? ou modifié la 1ère ligne
#!/bin/sh -e

Dernière modification par jamesbad000 (Le 23/02/2013, à 23:07)


L'espace et le temps sont les modes par lesquels nous pensons, et non les conditions dans lesquelles nous vivons. (Signé Albert)

Hors ligne

#17 Le 23/02/2013, à 23:16

Jay7s

Re : rc.local: démarrage, exécution et commandes

Salu,

J'ai remplacé mon rc.local par une version précédente sauvegardée avant l'ajout de la commande de trim.
Je ne suis pas à l'abri d'une erreur mais je n'ai pas retrouver l'usage du subwoofer.
Je t'avoue je suis totalement perdu. J'ai également supprimé des paquets avec deborphan recemment, mais je ne pense pas que ça soit la cause, ça m'étonnerait.

Hors ligne

#18 Le 23/02/2013, à 23:40

jamesbad000

Re : rc.local: démarrage, exécution et commandes

Bah la cause du problème est très probablement quelque chose que tu as modifié entre le moment ou ça fonctionnait et le moment ou ça à cessé de fonctionné.


L'espace et le temps sont les modes par lesquels nous pensons, et non les conditions dans lesquelles nous vivons. (Signé Albert)

Hors ligne

#19 Le 26/02/2013, à 19:06

Jay7s

Re : rc.local: démarrage, exécution et commandes

Bonjour,
Le problème de son est résolu grâce à un retour à une version précédente de pulseaudio.
Par contre je constate toujours le même problème sur rc.local, c'est à dire une imcompatiblité entre les commandes de trim et les commandes echo.

fstrim -v /
fstrim -v /home

echo 0x1e 0x99130112 > /sys/class/sound/hwC0D0/user_pin_configs
echo 1 > /sys/class/sound/hwC0D0/reconfig

Fstrim s'exécute mais pas les commandes echo

echo 0x1e 0x99130112 > /sys/class/sound/hwC0D0/user_pin_configs
echo 1 > /sys/class/sound/hwC0D0/reconfig

fstrim -v /
fstrim -v /home

echo s'exécute mais de Fstrim.

Quelqu'un à une idée de synthaxe ?
Merci, une bnne soirée

Hors ligne

#20 Le 26/02/2013, à 20:02

jamesbad000

Re : rc.local: démarrage, exécution et commandes

Ok, tente de modifier la 1ère ligne du script en retirant l'option -e

#!/bin/sh

En principe on est sensé tester chaque ligne individuellement, mais ça va déjà permettre de vérifier si le script s'arrête parce qu'une commande renvoie une erreur.


L'espace et le temps sont les modes par lesquels nous pensons, et non les conditions dans lesquelles nous vivons. (Signé Albert)

Hors ligne

#21 Le 26/02/2013, à 21:57

Jay7s

Re : rc.local: démarrage, exécution et commandes

Bien jouée jamesbad000, en retirant "-e" à la 1e ligne,

xxx@zay-princi:~$ sudo /etc/rc.local start
/: 57643008 bytes were trimmed
/home: 624529408 bytes were trimmed

Le trim fonctionne, donc les instructions echo puis fstrim sont effectuées.

Je peux laisser le fichier rc.local tel quel maintenant ?
Encore merci

Hors ligne

#22 Le 26/02/2013, à 22:52

jamesbad000

Re : rc.local: démarrage, exécution et commandes

Bizarre. Ca veut dire que la 2ème commande trim retourne un code erreur alors qu'elle semble se dérouler normalement.

Oui je crois que le mieux est de laisser comme ça en fin de compte.
Bonne soirée...


L'espace et le temps sont les modes par lesquels nous pensons, et non les conditions dans lesquelles nous vivons. (Signé Albert)

Hors ligne

#23 Le 27/05/2016, à 13:22

Fabou81

Re : rc.local: démarrage, exécution et commandes

Bonjour à tous,

Je me permet de déterrer ce sujet, car je viens de (re)passer du côté obscur en installant Ubuntu 16.04, mais j'ai un soucis de son... le Sub ne fonctionne pas mais j'ai l'impossibilité de modifier le fichier rc.local je n'ai pas les permissions.

Étant néophyte dans linux , je m'en remet à vous pour m'éclaircir sur mon problème.

Merci à vous pour vos réponses wink

Dernière modification par Fabou81 (Le 27/05/2016, à 13:37)

Hors ligne