mercredi 30 août 2017
mardi 29 août 2017
Bloc notes (Trucs en vrac)
Services
Un service ne démarre pas ou plus automatiquement...
Le cas de mpd par exemple :
$ sudo systemctl enable mpd.service
Bash
Les alias...
Editer votre fichier .bashrc :
$ nano ~/.bashrc
Ajouter par exemple à la fin du fichier :
alias lsa='ls -chArl'
alias lsusers='sudo cat /etc/passwd | awk -F: "{print $ 1}"'
alias lsgroups='sudo cat /etc/group | awk -F: "{print $ 1}"'
alias lst='ls -charlot'
Puis pour recharger bash :
$ source ~/.bashrc
Les commandes...
Rechercher une ligne de commande déjà utilisée :
$ history | grep unboutdelacommande
par exemple :
$ history | grep ftp
Bash en couleur avec sudo
Editer votre fichier .bashrc :
$ nano ~/.bashrc
Ajouter à la fin du fichier :
alias sudo='sudo '
Nano
Affichage des numéros de ligne
Editer .nanorc
Coloration syntaxique
$ nano ~/.nanorc
Ajouter les lignes suivantes
include "/usr/share/nano/asm.nanorc"
include "/usr/share/nano/autoconf.nanorc"
include "/usr/share/nano/awk.nanorc"
include "/usr/share/nano/changelog.nanorc"
include "/usr/share/nano/cmake.nanorc"
include "/usr/share/nano/c.nanorc"
include "/usr/share/nano/css.nanorc"
include "/usr/share/nano/debian.nanorc"
include "/usr/share/nano/default.nanorc"
include "/usr/share/nano/html.nanorc"
include "/usr/share/nano/java.nanorc"
include "/usr/share/nano/javascript.nanorc"
include "/usr/share/nano/json.nanorc"
include "/usr/share/nano/makefile.nanorc"
include "/usr/share/nano/man.nanorc"
include "/usr/share/nano/nanorc.nanorc"
include "/usr/share/nano/perl.nanorc"
include "/usr/share/nano/php.nanorc"
include "/usr/share/nano/python.nanorc"
include "/usr/share/nano/ruby.nanorc"
include "/usr/share/nano/sh.nanorc"
include "/usr/share/nano/tex.nanorc"
include "/usr/share/nano/xml.nanorc"
Utilisateurs et groupes
Ajouter un utilisateur existant à un groupe existant:
$ usermod -a -G legroupe lutilisateur
Changer le groupe d'un utilisateur existant:
$ usermod -g admin lutilisateur
Rappel sur l'affichage des droits des fichiers et répertoires:
- 000 = 0 = ---
- 001 = 1 = --x (exécution)
- 010 = 2 = -w- (écriture)
- 011 = 3 = -wx
- 100 = 4 = r--(lecture)
- 101 = 5 = r-x
- 110 = 6 = rw-
- 111 = 7 = rwx
- 777 = rwxrwxrwx = utilisateurs, groupes et "other" peuvent tous lire + écrire + exécuter.
- 605 = rw----r-x = utilisateurs peuvent lire + écrire, groupes rien faire et "other" lire + exécuter.
- 644 = rw-r--r--= utilisateurs peuvent lire + écrire groupes lire et "other" lire.
- 666 = rw-rw-rw- = utilisateurs, groupes et "other" lire + écrire. Aucun ne peut exécuter.
Disques et partitions
Vérifier et réparer la partition racine (root) :
Ajouter dans le fichier /boot/cmdline.txt: "fsck.mode=force fsck.repair=yes" avant "rootwait", penser à l'enlever après le reboot!
Connections
Afficher toutes les connexions ssh établies:
$ sudo netstat -tnpa | grep 'ESTABLISHED.*sshd'
samedi 22 juillet 2017
Comparaison vitesse de transfert en écriture vs système de fichier sur clé USB
Quel système de fichier utiliser sur les supports USB d'un Raspberry Pi (1) pour améliorer le taux de transfert par Samba ?
Je fais quelques tests sans prétention avec la configuration "de base" sur le Pi 1 B+
Configuration:
Raspberry Pi 1 B+
| Kernel | Linux 4.9.37+ | ||
| Processor | armv6l | ||
| CPU Frequency | 700MHz | ||
| Load Average | 1.59 1.48 0.99 | ||
| CPU Temperature | 44.4℃ | ||
| Uptime | 00:26 (hh:mm) | ||
| Memory: | 482M | ||
| Used | 183M | 38% | |
| Free | 299M | 62% | |
| Buffered | 27M | 6% | |
| Cached | 100M | 21% | |
| Swap: | 0B | ||
| Used | 0B | 0% | |
| Free | 0B | 0% | |
| Disk Usage | |||
| / (ext4) | |||
| Total Size | 2G | ||
| Used | 1G | 83% | |
| Available | 318M | 17% | |
| /boot (vfat) | |||
| Total Size | 61M | ||
| Used | 23M | 38% | |
| Available | 39M | 62% | |
| /media/16GO (fuseblk) | |||
| Total Size | 15G | ||
| Used | 255M | 2% | |
| Available | 15G | 98% | |
smb.conf :
[global]
server string = SMB Server
security = USER
map to guest = Bad User
guest account = root
log level = 0
log file = /var/log/samba.log
max log size = 100
syslog = 0
load printers = No
printcap name = /dev/null
disable spoolss = Yes
preferred master = No
local master = No
domain master = No
dns proxy = No
create mask = 0775
directory mask = 0775
printing = bsd
socket options = IPTOS_LOWDELAY TCP_NODELAY SO_KEEPALIVE SO_RCVBUF=65535 SO_SNDBUF=65535
write cache size = 2097152
use sendfile = yes
getwd cache = yes
min receivefile size = 16384
fstab:
proc /proc proc defaults 0 0
/dev/mmcblk0p1 /boot vfat defaults 0 2
/dev/mmcblk0p2 / ext4 defaults,noatime 0 1
# a swapfile is not a swap partition, no line here
# use dphys-swapfile swap[on|off] for that
# Preserver la carte SD:
tmpfs /tmp tmpfs defaults,noatime,nosuid,size=10m 0 0
tmpfs /var/tmp tmpfs defaults,noatime,nosuid,size=10m 0 0
tmpfs /var/log tmpfs defaults,noatime,nosuid,mode=0755,size=10m 0 0
Pas d'autre deamon lancé sur le Raspberry
Clé USB
Clé USB 16 Go Verbatim (modèle bas de gamme avec un taux de transfert sur PC de 17 Mo/s)Fichiers transférés:
Transfert d'un dossier de 828 Mo contenant 5 fichiers de tailles comprises en 80 et 230 Mo.Un fichier a un nom contenant des caractères chinois.
Les essais:
Il faudrait parler des tailles d'unité d'allocation, ici j'ai pris les tailles par défaut, je pense que ce n'est pas le meilleurs choix...
EXfat
Maximum à 11Mo/sle début de transfert utilise surement le cache RAM et culmine à 11Mo/s (max théorique de l'ethernet à 100 Mb/s)
Vitesse moyenne environ 6.5 Mo/s
VFAT 32
Maximum à 5.2 Mo/sFonctionnement erratique : blocage, plantage avec des nom de fichiers en chinois, temps de transfert total très important (plus de 7 minutes)
NTFS
Maximum à 360 Ko/sVitesse moyenne environ 355Ko/s
Vitesse stable mais ridicule. Temps de transfert total annoncé très important (plus de 40 minutes)
Je n'ai pas encore compris le PB dans ce cas, j'aurais du obtenir quelque chose ressemblant à l'essai avec VFAT mais sans erreur.
Conclusion à chaud :
UTILISER LE EXFAT SUR VOS SUPPORT USB !
PS : Un petit bémol cependant, en cas de problème sur le support, fsck ne fonctionne pas complètement, il trouvera les erreurs mais ne saura pas réparer l'exfat...
PS 2 : Il faut avoir installé exfat sur le Pi :
$ sudo apt-get install exfat-fuse exfat-utils
et monter le disque :
$ sudo mkdir /media/exfat
$ sudo mount -t exfat /dev/sdc1 /media/exfat
sdc1 doit être remplacer par le bon device, faites
$ sudo fdisk -l
pour le connaitre...
PS : Un petit bémol cependant, en cas de problème sur le support, fsck ne fonctionne pas complètement, il trouvera les erreurs mais ne saura pas réparer l'exfat...
PS 2 : Il faut avoir installé exfat sur le Pi :
$ sudo apt-get install exfat-fuse exfat-utils
et monter le disque :
$ sudo mkdir /media/exfat
$ sudo mount -t exfat /dev/sdc1 /media/exfat
sdc1 doit être remplacer par le bon device, faites
$ sudo fdisk -l
pour le connaitre...
jeudi 20 juillet 2017
Réduire les accès à la carte SD et donc la préserver
Les cartes SD, quelques soit leurs performances ou leurs technologies, ne sont pas éternelles.
Il est possible de les préserver en limitant les accès en écriture au maximum.
sudo nano /etc/fstab
# les fichiers de log et tempo passent en RAM
tmpfs /tmp tmpfs defaults,noatime,mode=1777,size=10m 0 0
tmpfs /var/spool tmpfs defaults,noatime,mode=1777 0 0
tmpfs /var/tmp tmpfs defaults,noatime,mode=1777,size=10m 0 0
tmpfs /var/log tmpfs defaults,noatime,mode=0755,size=10m 0 0
Ensuite il faut vérifier et éventuellement modifier les chemins utilisés par les applications pour leurs log:
Samba : /etc/samba/smb.conf
mpd : /etc/mpd.conf
nginx : /etc/nginx/nginx.conf et les autres fichiers par exemple /etc/nginx/sites_enabled/default etc...
Créer un script avec nano appelé create_var_folders
cd ~
nano create_var_folders.sh
Ajouter ceci dedans :
#!/bin/bash
# Script to create required directories in tempfs /var (that are not otherwise created)
# Thanks to http://blog.philippklaus.de/2011/02/ssd-optimizations-on-linux/ for the list below :-)
for dir in news ntpstats samba cron anacron nginx dlna; do
if [ ! -d /var/log/$dir ] ; then
mkdir /var/log/$dir
fi
done
for dir in cups-pdf anacron; do
if [ ! -d /var/spool/$dir ] ; then
mkdir /var/spool/$dir
fi
done
Modifier éventuellement la ligne "for dir in .... ; do" selon vos besoin et ajouter des lignes pour relancer certains services comme anacron:
service anacron restart
Rendre le script exécutable :
sudo chmod 755 create_var_folders.sh
Déplacer le script dans un dossier fait pour /usr/local/bin par exemple :
sudo mv create_var_folders.sh /usr/local/bin
Modifier rc.local comme suit:
sudo nano /etc/rc.local
Ajouter la ligne suivante juste avant la ligne "exit 0" :
/usr/local/bin/create_var_folders.sh
Redémarrer et vérifier que le dossier /var/log et /var/spool contiennent bien les dossiers du script
ls -carl /var/log
ls -carl /var/spool
Il est possible de les préserver en limitant les accès en écriture au maximum.
Une première chose à faire pour cela est de passer les logs en RAM :
sudo nano /etc/fstab
# les fichiers de log et tempo passent en RAM
tmpfs /tmp tmpfs defaults,noatime,mode=1777,size=10m 0 0
tmpfs /var/spool tmpfs defaults,noatime,mode=1777 0 0
tmpfs /var/tmp tmpfs defaults,noatime,mode=1777,size=10m 0 0
tmpfs /var/log tmpfs defaults,noatime,mode=0755,size=10m 0 0
Ensuite il faut vérifier et éventuellement modifier les chemins utilisés par les applications pour leurs log:
Samba : /etc/samba/smb.conf
mpd : /etc/mpd.conf
nginx : /etc/nginx/nginx.conf et les autres fichiers par exemple /etc/nginx/sites_enabled/default etc...
Re-créer les dossiers dans var à chaque redémarrage
Créer un script avec nano appelé create_var_folders
cd ~
nano create_var_folders.sh
Ajouter ceci dedans :
#!/bin/bash
# Script to create required directories in tempfs /var (that are not otherwise created)
# Thanks to http://blog.philippklaus.de/2011/02/ssd-optimizations-on-linux/ for the list below :-)
for dir in news ntpstats samba cron anacron nginx dlna; do
if [ ! -d /var/log/$dir ] ; then
mkdir /var/log/$dir
fi
done
for dir in cups-pdf anacron; do
if [ ! -d /var/spool/$dir ] ; then
mkdir /var/spool/$dir
fi
done
Modifier éventuellement la ligne "for dir in .... ; do" selon vos besoin et ajouter des lignes pour relancer certains services comme anacron:
service anacron restart
Rendre le script exécutable :
sudo chmod 755 create_var_folders.sh
Déplacer le script dans un dossier fait pour /usr/local/bin par exemple :
sudo mv create_var_folders.sh /usr/local/bin
Modifier rc.local comme suit:
sudo nano /etc/rc.local
Ajouter la ligne suivante juste avant la ligne "exit 0" :
/usr/local/bin/create_var_folders.sh
Redémarrer et vérifier que le dossier /var/log et /var/spool contiennent bien les dossiers du script
ls -carl /var/log
ls -carl /var/spool
dimanche 2 juillet 2017
Dont forget to update your Raspberry periodicaly....
It's easy and can increase performances and functionalities !
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install rpi-update
$ sudo apt-get clean
$ sudo rpi-update
$ sudo reboot
You could also remove old kernel modules:
$ sudo ls /lib/modules
4.1.19+ 4.1.19-v7+ 4.9.35+ 4.9.35-v7+
$ sudo rm -rf /lib/modules.bak
$ sudo rm -rf /lib/modules/4.1.19+
$ sudo rm -rf /lib/modules/4.1.19-v7+
To remove automaticaly old kernel modules :
$ sudo PRUNE_MODULES=1 rpi-update
More informations about kernel releases history:
https://github.com/raspberrypi/firmware/commits/master
And search a modification concerning a specific part as ALSA:
https://github.com/search/advanced?q=alsa
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install rpi-update
$ sudo apt-get clean
$ sudo rpi-update
$ sudo reboot
You could also remove old kernel modules:
$ sudo ls /lib/modules
4.1.19+ 4.1.19-v7+ 4.9.35+ 4.9.35-v7+
$ sudo rm -rf /lib/modules.bak
$ sudo rm -rf /lib/modules/4.1.19+
$ sudo rm -rf /lib/modules/4.1.19-v7+
To remove automaticaly old kernel modules :
$ sudo PRUNE_MODULES=1 rpi-update
More informations about kernel releases history:
https://github.com/raspberrypi/firmware/commits/master
And search a modification concerning a specific part as ALSA:
https://github.com/search/advanced?q=alsa
jeudi 20 avril 2017
How to enable wifi channels 12 and 13...
Unable to connect to your wifi access point ?
Maybe your WAP use channel 12 or channel 13 and your Raspberry setting is set to a limited radio spectrum, i live in France and here, wifi channels 12 and 13 are legal.
So...
$ sudo apt-get install wireless-regdb iw crda
...
$ sudo iwlist wlan0 channel
wlan0 11 channels in total; available frequencies :
Channel 01 : 2.412 GHz
Channel 02 : 2.417 GHz
Channel 03 : 2.422 GHz
Channel 04 : 2.427 GHz
Channel 05 : 2.432 GHz
Channel 06 : 2.437 GHz
Channel 07 : 2.442 GHz
Channel 08 : 2.447 GHz
Channel 09 : 2.452 GHz
Channel 10 : 2.457 GHz
Channel 11 : 2.462 GHz
As you could see, none of channels 12 or 13 are listed...
Enabling channels for FRANCE:
$ sudo iw reg set FR
...
$ sudo iwlist wlan0 channel
wlan0 11 channels in total; available frequencies :
Channel 01 : 2.412 GHz
Channel 02 : 2.417 GHz
Channel 03 : 2.422 GHz
Channel 04 : 2.427 GHz
Channel 05 : 2.432 GHz
Channel 06 : 2.437 GHz
Channel 07 : 2.442 GHz
Channel 08 : 2.447 GHz
Channel 09 : 2.452 GHz
Channel 10 : 2.457 GHz
Channel 11 : 2.462 GHz
Channel 12 : 2.467 GHz
Channel 13 : 2.472 GHz
Current Frequency:2.472 GHz (Channel 13)
It's better now, but you have to make this setting permanent :
$ sudo nano /etc/default/crda
# Set REGDOMAIN to a ISO/IEC 3166-1 alpha2 country code so that iw(8) may set
# the initial regulatory domain setting for IEEE 802.11 devices which operate
# on this system.
#
# Governments assert the right to regulate usage of radio spectrum +within
# their respective territories so make sure you select a ISO/IEC 3166-1 alpha2
# country code suitable for your location or you may infringe on local
# legislature. See `/usr/share/zoneinfo/zone.tab' for a table of timezone
# descriptions containing ISO/IEC 3166-1 alpha2 country codes.
REGDOMAIN=FR
Post script : In Japan, channel 14 is available ...
jeudi 5 janvier 2017
Un equalizer pour mpd
Voici comment utiliser un equalizer (ou égaliseur) graphique avec mpd:
$ sudo su
$ rpi-update
$ shutdown -r now
...
$ sudo su
$ apt-get update
$ apt-get install libasound2-plugin-equal
$ aplay -l
On obtient quelque chose comme:
**** List of PLAYBACK Hardware Devices ****
card 0: sndrpihifiberry [snd_rpi_hifiberry_dacplus], device 0: HiFiBerry DAC+ HiFi pcm512x-hifi-0 []
Subdevices: 1/1
Subdevice #0: subdevice #0
ou bien : (ça dépend du DAC)
**** List of PLAYBACK Hardware Devices ****
card 0: sndrpihifiberry [snd_rpi_hifiberry_amp], device 0: HifiBerry AMP HiFi tas5713-hifi-0 []
Subdevices: 0/1
Subdevice #0: subdevice #0
$ nano -w /etc/asound.conf
Copier dedans:
ctl.equal {
type equal;
}
pcm.plugequal {
type equal;
slave.pcm "plughw:0,0";
#this is where you have to input the number of your soundcard,
#so card0 = plughw:0,0 - card1 would be plughw:1,0 etc.
}
pcm.equal {
# Or if you want the equalizer to be your
# default soundcard uncomment the following
# line and comment the above line.
# pcm.!default {
type plug;
slave.pcm plugequal;
}
$ sudo cp /etc/mpd.conf /etc/mpd.conf_bak
$ sudo nano -w /etc/mpd.conf
Ajouter cette sortie à la fin
# Equalized ouput
audio_output {
type "alsa"
name "AlsaEqual"
device "plug:plugequal"
mixer_control "Digital"
mixer_device "hw:0"
mixer_index "0"
dop "no"
}
$ shutdown -r now
$ sudo -H -u mpd alsamixer -D equal
Quelque chose comme ça apparait:
Utiliser les touches des curseurs et + et - pour ajuster les niveaux comme désiré, puis "Echap" pour sortir.
$ sudo su
$ rpi-update
$ shutdown -r now
...
$ sudo su
$ apt-get update
$ apt-get install libasound2-plugin-equal
$ aplay -l
On obtient quelque chose comme:
**** List of PLAYBACK Hardware Devices ****
card 0: sndrpihifiberry [snd_rpi_hifiberry_dacplus], device 0: HiFiBerry DAC+ HiFi pcm512x-hifi-0 []
Subdevices: 1/1
Subdevice #0: subdevice #0
ou bien : (ça dépend du DAC)
**** List of PLAYBACK Hardware Devices ****
card 0: sndrpihifiberry [snd_rpi_hifiberry_amp], device 0: HifiBerry AMP HiFi tas5713-hifi-0 []
Subdevices: 0/1
Subdevice #0: subdevice #0
$ nano -w /etc/asound.conf
Copier dedans:
ctl.equal {
type equal;
}
pcm.plugequal {
type equal;
slave.pcm "plughw:0,0";
#this is where you have to input the number of your soundcard,
#so card0 = plughw:0,0 - card1 would be plughw:1,0 etc.
}
pcm.equal {
# Or if you want the equalizer to be your
# default soundcard uncomment the following
# line and comment the above line.
# pcm.!default {
type plug;
slave.pcm plugequal;
}
$ sudo cp /etc/mpd.conf /etc/mpd.conf_bak
$ sudo nano -w /etc/mpd.conf
Ajouter cette sortie à la fin
# Equalized ouput
audio_output {
type "alsa"
name "AlsaEqual"
device "plug:plugequal"
mixer_control "Digital"
mixer_device "hw:0"
mixer_index "0"
dop "no"
}
$ shutdown -r now
$ sudo -H -u mpd alsamixer -D equal
Quelque chose comme ça apparait:
Utiliser les touches des curseurs et + et - pour ajuster les niveaux comme désiré, puis "Echap" pour sortir.
- Déplacez-vous avec les touches fléchées gauche et droite.
- Augmentez et diminuez le volume avec les touches fléchées haut et bas.
- Augmentez et diminuez le volume des canaux gauche ou droit avec les touches (clavier AZERTY):
- Augmentez et diminuez le volume avec les touches fléchées haut et bas.
- Augmentez et diminuez le volume des canaux gauche ou droit avec les touches (clavier AZERTY):
- Activer/désactiver le son avec la touche "M". Un "MM" signifie muet et "OO" signifie non muet.
Notez qu'une barre peut être pleine à 100% mais toujours être coupée, alors vérifiez cela.
- Quittez alsamixer avec la touche Echap.
- Quittez alsamixer avec la touche Echap.
Si une erreur du type (ou autre..) apparait,
Failed to open controls file:/home/mpd/.alsaequal.bin.
Alors vérifier la présence du dossier /home/mpd et si absent faire :
$ sudo mkdir /home/mpd
$ sudo chown mpd /home/mpd
$ sudo chgrp audio /home/mpd
$ sudo usermod -aG audio mpd
...
Dans le client MPD sélectionner la sortie audio "AlsaEqual"
jeudi 22 décembre 2016
Ajouter un "download manager" à votre raspberry
... Pour télécharger des fichiers directement depuis un lien ...
iso, torrent, metaliens, etc...Installation
sudo apt-get install aria2
sudo mkdir /home/pi/.aria2
sudo nano /home/pi/.aria2/aria2.conf
Copier ceci dedans:
dir=/media/key/complete file-allocation=falloc continue log-level=error max-connection-per-server=4 summary-interval=120 daemon=true enable-rpc=true rpc-listen-port=6800 rpc-listen-all=true max-concurrent-downloads=2 #save-session=/home/pi/.aria2/aria.txt #input-file=/home/pi/.aria2/aria.txt #log=/home/pi/.aria2/aria.log disable-ipv6=true disk-cache=25M timeout=600 retry-wait=30 max-tries=50
Exemples d'utilisation:
Directement:
aria2c http://example.org/mylinux.iso
aria2c http://a/f.iso ftp://b/f.iso
Une liste de downloads:
aria2c -ifiles.txt -j2
Un torrent:
aria2c --follow-torrent=mem "http://host/file.torrent"
aria2c --max-upload-limit=40K file.torrent
Uniquement une partie du torrent:
aria2c --select-file=1-4,8 file.torrent
Limiter la bande passante à l'émission:
aria2c --max-upload-limit=100K file.torrent
etc...
Toutes infos ici:
https://aria2.github.io/manual/en/html/aria2c.html#example
mercredi 21 décembre 2016
Transfer the system from SD to HDD !
... to preserve your SD card ...
1- Prepare your HDD by adding a new partition
Use gparted live CD or something else (your linux PC) ...
Create a second ext3 partition with a size at least equal to the size of the system partition on SD card (sda2 for me, sda1 containing data )
Or directly, ie. usb key contains 2 partitions sda1 and sda2 that will be deleted :
$ sudo su
$ umount /dev/sda1
$ umount /dev/sda2
$ fdisk /dev/sda
p
d /dev/sda1
d /dev/sda2
w
q
$ mkfs.ext4 /dev/sda2 -L untitled
2- Copy the SD file system to the hard drive
Loggon raspberry and type:
$ sudo dd if=/dev/mmcblk0p2 of=/dev/sda2 bs=512
3- Cleanup old mounted points ans mount sda1
$ rm -R /mnt/*
$ mkdir /mnt/sda
$ mount /dev/sda2 /mnt/sda
3- Modify the fstab on the hdd as follow:
/dev/mmcblk0p1 /boot vfat defaults,ro 0 2
#/dev/mmcblk0p2 / ext4 defaults,noatime 0 1
/dev/sda2 / ext4 defaults,noatime 0 1
4- Change the boot command lines (on the SD):
$ cd boot
$ sudo nano cmdline.txt
And change root=/dev/mmcblk0p2 by root=/dev/sda2
5- Reboot raspberry !
$ sudo reboot
vendredi 22 avril 2016
Utiliser un écran DVI (SAMSUNG T220 par exemple...) avec un adpatateur HDMI -> DVI
Note : apartir de de "Jessie" il semble qu'il ne soit plus nécessaire d'effectuer cette manip, la detection est automatique !
Acheter un cable HDMI vers DVI, par exemple :
$ sudo nano /boot/config.txt
gpu_mem=64
dtparam=i2c=on,i2s=on
hdmi_force_hotplug=1
hdmi_drive=1
force_turbo=1
dtoverlay=hifiberry-dacplus
disable_overscan=0
arm_freq=800
core_freq=250
sdram_freq=450
over_voltage=2
$ sudo reboot
et voila !
Le raspberry utilise le meilleur mode de l'écran, ici 1650 x 1080 (chouette non?)
Acheter un cable HDMI vers DVI, par exemple :
$ sudo nano /boot/config.txt
gpu_mem=64
dtparam=i2c=on,i2s=on
hdmi_force_hotplug=1
hdmi_drive=1
force_turbo=1
dtoverlay=hifiberry-dacplus
disable_overscan=0
arm_freq=800
core_freq=250
sdram_freq=450
over_voltage=2
$ sudo reboot
et voila !
Le raspberry utilise le meilleur mode de l'écran, ici 1650 x 1080 (chouette non?)
mercredi 20 avril 2016
[EN COURS] Make a jukebox from scratch
En cours... de rédaction
Make a jukebox from scratch
$ sudo apt-get update$ sudo apt-get upgrade
$ sudo reboot
Linux xxxxxx 4.1.19+ #858 Tue Mar 15 15:52:03 GMT 2016 armv6l GNU/Linux
$ raspi-config
$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: ALSA [bcm2835 ALSA], device 0: bcm2835 ALSA [bcm2835 ALSA]
Subdevices: 8/8
Subdevice #0: subdevice #0
Subdevice #1: subdevice #1
Subdevice #2: subdevice #2
Subdevice #3: subdevice #3
Subdevice #4: subdevice #4
Subdevice #5: subdevice #5
Subdevice #6: subdevice #6
Subdevice #7: subdevice #7
card 0: ALSA [bcm2835 ALSA], device 1: bcm2835 ALSA [bcm2835 IEC958/HDMI]
Subdevices: 1/1
Subdevice #0: subdevice #0
Only onboard sound device is listed
$ sudo nano /boot/config.txt
At the end of file :
# Enable audio (loads snd_bcm2835)
dtparam=audio=on
start_x=0
gpu_mem=0
dtparam=spi=on
#device_tree=
Replace by :
dtparam=audio=
dtoverlay=hifiberry-dacplus
# Raspi Config add
start_x=0
gpu_mem=0
dtparam=spi=on
#device_tree=
$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: sndrpihifiberry [snd_rpi_hifiberry_dacplus], device 0: HiFiBerry DAC+ HiFi pcm512x-hifi-0 []
Subdevices: 1/1
Subdevice #0: subdevice #0
**** List of PLAYBACK Hardware Devices ****
card 0: sndrpihifiberry [snd_rpi_hifiberry_dacplus], device 0: HiFiBerry DAC+ HiFi pcm512x-hifi-0 []
Subdevices: 1/1
Subdevice #0: subdevice #0
Only Hat DAC board sound device is listed, here an "Hifiberry Dac+" (pcm512x DAC family)
Connect your DAC to your HiFi amp (normaly: no pop no crack no noise), adjust HiFi amp volume to 1/10.
$ sudo apt-get update
$ sudo apt-get install mpd
Music Player Deamon is now installed...
$ sudo -H -u mpd alsamixer
Make your settings and then "Escape" to quit.
[EN COURS] Pouvoir régler alsaequal depuis le poste utilisant mpc
En cours... de rédaction
But:
Pouvoir ajuster l’égaliser audio depuis le client contrôlant mpd.
Méthode:
On va modifier une commande de mpd afin que ce soit lui qui gère alsaequal. Pour ce faire il nous faudra recompiler les sources de mpd après y avoir fait quelques petites modifications.
Prérequis :
1- Avoir un mpd opérationnel avec alsaequal.
2- Installer l’environnement de développement.
Système à jour:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get upgrade
Re-builder mpd:
Obtenir les sources:
Ici c'est la version 0.19.6, utiliser la dernière version
tar xf mpd-0.19.6.tar.xz
cd mpd-0.19.6
Récupérer les librairies indispensable (ou pas):
sudo apt-get install libadplug-dev libao-dev libasound2-dev libaudiofile-dev libavahi-client-dev libavcodec-dev libavformat-dev libcurl4-gnutls-dev libfaad-dev libflac-dev libfluidsynth-dev libgme-dev libid3tag0-dev libjack-jackd2-dev libmad0-dev libmikmod2-dev libmodplug-dev libmp3lame-dev libmpcdec-dev libmpdclient-dev libmpg123-dev libopenal-dev libopus-dev libpulse-dev libresid-builder-dev libroar-dev libsamplerate0-dev libshout3-dev libsidplay2-dev libsidutils-dev libsndfile1-dev libsqlite3-dev libvorbis-dev libwavpack-dev libwildmidi-dev libyajl-devGénérer le fichier de configuration du build:
./configure --enable-database --enable-libmpdclient --enable-upnp --enable-alsa --enable-audiofile --enable-curl --enable-nfs --enable-smbclient --enable-ffmpeg --enable-flac --enable-id3 --enable-soundcloud --enable-lame-encoder --enable-mad --enable-mpg123 --enable-pipe-output --enable-pulse --enable-recorder-output --enable-shout --enable-vorbis --enable-wave-encoder --enable-wavpack --enable-sqliteBuilder:
makeInstaller le binaire:
sudo make install-----------------------------------
Créer un lien vers le nouveau mpd
sudo /etc/init.d/mpd stop
cd /usr/bin
sudo mv mpd old_distro_mpd
sudo ln -s /usr/local/bin/mpd ./mpd
ls -ls mpd
Doit afficher:
0 lrwxrwxrwx 1 root root xx xxx x xx:xx mpd -> /usr/local/bin/mpd
Copier votre fichier de configuration mpd:
sudo /etc/mpd.conf ~/mpd/mpd/mpd.conf
sudo chown -c tonnom ~/mpd/mpd/mpd.conf
sudo chgrp -c tongroupe ~/mpd/mpd/mpd.conf
Relancer le deamon
sudo /etc/init.d/mpd start
Lancer mpd avec le fichier de conf copié
sudo /usr/sbin/mpd ~/mpd/mpd/mpd.conf-----------------------------------
#!/bin/bash
function seteq()
{
amixer -D equal -q set '01. 31 Hz' $1
amixer -D equal -q set '02. 63 Hz' $2
amixer -D equal -q set '03. 125 Hz' $3
amixer -D equal -q set '04. 250 Hz' $4
amixer -D equal -q set '05. 500 Hz' $5
amixer -D equal -q set '06. 1 kHz' $6
amixer -D equal -q set '07. 2 kHz' $7
amixer -D equal -q set '08. 4 kHz' $8
amixer -D equal -q set '09. 8 kHz' $9
amixer -D equal -q set '10. 16 kHz' ${10}
}
#function Speakers() { seteq 80 70 65 60 60 60 60 80 80 80 }
#function Disable() { seteq 66 66 66 66 66 66 66 66 66 66 }
#function Notebook() { seteq 00 75 75 70 50 50 60 70 85 85 }
case $1 in
default) seteq 66 66 66 66 66 66 66 66 66 66;;
start) seteq 70 70 60 50 45 50 60 70 80 70;;
perfect) seteq 60 65 75 70 65 55 60 65 70 65;;
*) echo -e "seteq -- set alsaequal presets
Presets:
default) seteq 66 66 66 66 66 66 66 66 66 66
start) seteq 70 70 60 50 45 50 60 70 80 70
perfect) seteq 60 65 75 70 65 55 60 65 70 65";;
esac
vendredi 15 avril 2016
Monter manuellement les clés et disques USB
... pour éviter la valse des points de montages ...
Lister les identifiants des disques ou clés:
$ sudo ls -l /dev/disk/by-uuid
total 0
lrwxrwxrwx 1 root root 10 Jan 1 1970 0061-CDB9 -> ../../sda1
lrwxrwxrwx 1 root root 10 Jan 1 1970 5daed2dc-32cb-42f2-8edc-8a81358e57ec -> ../../sdb1
lrwxrwxrwx 1 root root 15 Jan 1 1970 ADC5-0D3A -> ../../mmcblk0p1
lrwxrwxrwx 1 root root 15 Apr 15 18:08 fd44c0ef-652e-48f8-8d31-a77b951d2226 -> ../../mmcblk0p3
Noter les identifiants (dans mon cas : 0061-CDB9 et 5daed2dc-32cb-42f2-8edc-8a81358e57ec)
Afficher la liste des points de montages:
$ mount -l
Repérez les points de montages USB:
...
/dev/sda1 on /mnt/USB3 type vfat (rw,nodev,noexec,noatime,nodiratime)
/dev/sdb1 on /mnt/USB type ext3 (rw,nodev,noexec,noatime,nodiratime)
...
Editez votre fstab:
$ sudo nano /etc/fstab
Ajouter et modifier sda1, sdb1 en fonction de votre configuration..
UUID=0061-CDB9 /mnt/USB auto rw,nodev,nofail,noexec,noatime,nodiratime,iocharset=iso8859-1 0 1
UUID=5daed2dc-32cb-42f2-8edc-8a81358e57ec/mnt/USB2 auto rw,nodev,nofail,noexec,noatime,nodiratime 0 1
J'ai aussi choisi "auto" comme type de format, raspbian se débrouille tout seul...
Et puis aussi penser à ajouter "iocharset=iso8859-1" pour les partition en vfat pour préserver les noms de fichiers avec des caractères accentués.
vendredi 8 avril 2016
Changer l'adresse MAC du Raspberry
Changer l'adresse MAC du Raspberry...
Utile si plusieurs bestioles sont sur le même réseau!
$ sudo nano /etc/network/interfaces
Ajouter "hwaddress ether xx:xx:xx:xx:xx:xx" après la directive iface de l'interface eth0
Changer xx:xx:xx:xx:xx:xx par la valeur qui vous convient.
On obtient quelque chose comme :
auto eth0
iface eth0 inet dhcp
hwaddress ether EE:77:69:A2:1D:45
Utile si plusieurs bestioles sont sur le même réseau!
$ sudo nano /etc/network/interfaces
Ajouter "hwaddress ether xx:xx:xx:xx:xx:xx" après la directive iface de l'interface eth0
Changer xx:xx:xx:xx:xx:xx par la valeur qui vous convient.
On obtient quelque chose comme :
auto eth0
iface eth0 inet dhcp
hwaddress ether EE:77:69:A2:1D:45
Régler le volume sonore de MPD an démarrage.
Régler le volume sonore de MPD an démarrage.
Au lancement de MPD le volume peut être à fond si il n'a pas de valeur par défaut configurée, et on obtient un "BROAAAARROOORROROOOAAAAAAA" dans les haut parleurs, sans compter qu'on peut griller l'étage de sortie de l'ampli, c'est très désagréable.
Alors voici la petite manip a faire pour mettre un niveau raisonnable au démarrage:
$ sudo amixer controls
Avec un DAC, on obtient quelque chose du genre:
numid=6,iface=MIXER,name='DSP Program'
numid=3,iface=MIXER,name='Analogue Playback Boost Volume'
numid=2,iface=MIXER,name='Analogue Playback Volume'
numid=10,iface=MIXER,name='Auto Mute Mono Switch'
numid=11,iface=MIXER,name='Auto Mute Switch'
numid=8,iface=MIXER,name='Auto Mute Time Left'
numid=9,iface=MIXER,name='Auto Mute Time Right'
numid=7,iface=MIXER,name='Clock Missing Period'
numid=5,iface=MIXER,name='Deemphasis Switch'
numid=4,iface=MIXER,name='Digital Playback Switch'
numid=1,iface=MIXER,name='Digital Playback Volume'
numid=20,iface=MIXER,name='Max Overclock DAC'
numid=19,iface=MIXER,name='Max Overclock DSP'
numid=18,iface=MIXER,name='Max Overclock PLL'
numid=16,iface=MIXER,name='Volume Ramp Down Emergency Rate'
numid=17,iface=MIXER,name='Volume Ramp Down Emergency Step'
numid=12,iface=MIXER,name='Volume Ramp Down Rate'
numid=13,iface=MIXER,name='Volume Ramp Down Step'
numid=14,iface=MIXER,name='Volume Ramp Up Rate'
numid=15,iface=MIXER,name='Volume Ramp Up Step'
numid identifie chaque réglages du mixer.
Dans le cas présent, et la plus part du temps le volume général est identifier en "1" (dans mon cas : 'Digital Playback Volume')
la commande suivante indique les paramètres:
$ sudo amixer cset numid=1
numid=1,iface=MIXER,name='Digital Playback Volume'
; type=INTEGER,access=rw-
-R-,values=2,min=0,max=255,step=0
: values=170,170
| dBscale-min=-103.50dB,step=0.50dB,mute=1
Le volume peut ici être réglé de 0 à 255, je test le volume désiré en jouant un morceau de musique et en exécutant la commande suivante avec des valeurs de volumes différentes:
$ sudo amixer cset numid=1 170
$ sudo amixer cset numid=1 150
$ sudo amixer cset numid=1 165
etc...
Ok, le volume me convient, j'enregistre les paramètres par défaut avec la commande:
$ sudo alsactl store
Et voila, un reboot, et ça doit être bon.
Vous pouvez ajuster aussi certains autres paramètres comme le 'Analogue Playback Boost Volume', ou le 'Analogue Playback Volume' qui peuvent être mis à 0 par défaut, etc...
Au lancement de MPD le volume peut être à fond si il n'a pas de valeur par défaut configurée, et on obtient un "BROAAAARROOORROROOOAAAAAAA" dans les haut parleurs, sans compter qu'on peut griller l'étage de sortie de l'ampli, c'est très désagréable.
Alors voici la petite manip a faire pour mettre un niveau raisonnable au démarrage:
$ sudo amixer controls
Avec un DAC, on obtient quelque chose du genre:
numid=6,iface=MIXER,name='DSP Program'
numid=3,iface=MIXER,name='Analogue Playback Boost Volume'
numid=2,iface=MIXER,name='Analogue Playback Volume'
numid=10,iface=MIXER,name='Auto Mute Mono Switch'
numid=11,iface=MIXER,name='Auto Mute Switch'
numid=8,iface=MIXER,name='Auto Mute Time Left'
numid=9,iface=MIXER,name='Auto Mute Time Right'
numid=7,iface=MIXER,name='Clock Missing Period'
numid=5,iface=MIXER,name='Deemphasis Switch'
numid=4,iface=MIXER,name='Digital Playback Switch'
numid=1,iface=MIXER,name='Digital Playback Volume'
numid=20,iface=MIXER,name='Max Overclock DAC'
numid=19,iface=MIXER,name='Max Overclock DSP'
numid=18,iface=MIXER,name='Max Overclock PLL'
numid=16,iface=MIXER,name='Volume Ramp Down Emergency Rate'
numid=17,iface=MIXER,name='Volume Ramp Down Emergency Step'
numid=12,iface=MIXER,name='Volume Ramp Down Rate'
numid=13,iface=MIXER,name='Volume Ramp Down Step'
numid=14,iface=MIXER,name='Volume Ramp Up Rate'
numid=15,iface=MIXER,name='Volume Ramp Up Step'
numid identifie chaque réglages du mixer.
Dans le cas présent, et la plus part du temps le volume général est identifier en "1" (dans mon cas : 'Digital Playback Volume')
la commande suivante indique les paramètres:
$ sudo amixer cset numid=1
numid=1,iface=MIXER,name='Digital Playback Volume'
; type=INTEGER,access=rw-
: values=170,170
| dBscale-min=-103.50dB,step=0.50dB,mute=1
Le volume peut ici être réglé de 0 à 255, je test le volume désiré en jouant un morceau de musique et en exécutant la commande suivante avec des valeurs de volumes différentes:
$ sudo amixer cset numid=1 170
$ sudo amixer cset numid=1 150
$ sudo amixer cset numid=1 165
etc...
Ok, le volume me convient, j'enregistre les paramètres par défaut avec la commande:
$ sudo alsactl store
Et voila, un reboot, et ça doit être bon.
Vous pouvez ajuster aussi certains autres paramètres comme le 'Analogue Playback Boost Volume', ou le 'Analogue Playback Volume' qui peuvent être mis à 0 par défaut, etc...
Inscription à :
Articles (Atom)














