mai 16 2008

Carte son, zappette et enceintes

Un pote m’a “prêté” (en vue de me vendre) des enceintes de monitoring.

Pour des problèmes de câblage que je vous épargne, je suis obligé de brancher ces enceintes sur la sortie casque du boîtier de ma carte son (une Audigy 2 platinum avec boîtier externe, pour lequel j’ai dû galérer pour le faire fonctionner).

Or, je règle le son non pas par le moniteur de son de Gnome mais par le bouton des enceintes (pas de monitoring, les autres, celles de base) : je laisse le son de Gnome toujours au même niveau.

Et ce bouton ne règle pas le volume du casque, of course (puisque le bouton des enceintes n’a rien à voir avec le son à la sortie de la carte son), et il n’y a pas de volume de son pour le casque.

Ca fait quelque temps que lirc est installé sur mon ordi, sans qu’il serve à quoi que ce soit (à part m’avoir fait couché tard pas mal de soirs, et avoir la satisfaction que la zappette du boîtier externe fonctionne) (oui, lirc est le seul qui permette de savoir ce que fait le boîtier externe, me demandez pas pourquoi…). lirc permet de lancer des commandes à la réception de signaux. Je l’avait donc configuré, juste pour le fun, pour qu’il fasse previous/next sur mpd.

Et là, je veux que le bouton de volume du boîtier externe règle le son, au lieu de rester bêtement inactif.

Or ce volume doit être indépendant de mpd (mpd permet aussi de régler le volume, mais si mpd n’est pas lancé je veux que le bouton fonctionne tout de même). Exit donc les commandes du genre ‘mpc volume +1′

Et c’est parti pour une baston contre alsa.

Alsa est génial, certes, mais la doc n’est pas son point fort. Néanmoins il permet de tout faire en ligne de commande. Absolument tout, jusque dans les moindres détails: gérer les bass/treble, canal gauche/droite, volume casque, micro, spdif, tout. Suffit de savoir lui parler.

Le salut est venu de amixer. Amixer permet de trifouiller les paramètres de la carte son: volume d’entrée et de sortie, bass, treble, tout le tintouin.

Tapez ‘amixer’ dans un terminal et vous aurez un aperçu de ce qu’il peut contrôler.

Juste pour l’exemple:

$ amixer get Master
Simple mixer control 'Master',0
Capabilities: pvolume pswitch
Playback channels: Front Left - Front Right
Limits: Playback 0 - 31
Mono:
Front Left: Playback 5 [16%] [-39.00dB] [on]
Front Right: Playback 5 [16%] [-39.00dB] [on]

Et:

$ amixer set Master 6
Simple mixer control 'Master',0
Capabilities: pvolume pswitch
Playback channels: Front Left - Front Right
Limits: Playback 0 - 31
Mono:
Front Left: Playback 6 [19%] [-37.50dB] [on]
Front Right: Playback 6 [19%] [-37.50dB] [on]

Magique :)

Mais c’est pas ce que je veux. Je veux qu’en tournant ça augment ou baisse le son. Du coup:

$ amixer set Master 1%-

Ou:

$ amixer set Master 1%+

Ca, c’est fait :)

Maintenant, je veux qu’en appuyant sur le bouton de volume, ca fasse mute (le bouton est prévu pour). Là, faut fouiller un peu plus parce que l’option ‘toggle’ ou ‘mute’ de ‘amixer set’ ne fonctionne pas.

Faites donc ‘amixer controls’ et recherchez la ligne ‘Master Volume quelque chose’

Moi, ça a le numid 28.

Juste pour vérifier:

$ amixer cget numid=28
numid=28,iface=MIXER,name='Master Playback Volume'
; type=INTEGER,access=rw---R--,values=1,min=0,max=100,step=0
: values=32
| dBscale-min=-40.00dB,step=0.40dB,mute=1

‘amixer cset numid=28 6′ a le même effet que ‘amixer set Master 6′ :)

Et ‘amixer cset’ accepte l’option toggle!

Plus qu’à mettre tout ça dans /etc/lircrc:

begin
remote = rm1500
prog = irexec
button = mute
config = /usr/bin/amixer cset numid=28 toggle
repeat = 1
end

begin
remote = audigy_io_hub
prog = irexec
button = mute
config = /usr/bin/amixer cset numid=28 toggle
repeat = 1
end

begin
remote = rm1500
prog = irexec
button = vol-
config = /usr/bin/amixer sset Master,0 1%-
repeat = 1
end

begin
remote = audigy_io_hub
prog = irexec
button = vol-
config = /usr/bin/amixer sset Master,0 1%-
repeat = 1
end

begin
remote = rm1500
prog = irexec
button = vol+
config = /usr/bin/amixer sset Master,0 1%+
repeat = 1
end

begin
remote = audigy_io_hub
prog = irexec
button = vol+
config = /usr/bin/amixer sset Master,0 1%+
repeat = 1
end

Un petit ‘/etc/init.d/irexec restart’ (sur ma Gentoo, je sais pas chez vous) et hop! le volume se règle à la zappette et au bouton de volume du boîtier externe, et en même temps ca fait bouger les barres de volume dans le moniteur de son de Gnome :)

Quand j’appuie sur le bouton, ça fait bien mute, mais une seconde pression ne remet pas le volume à son niveau initial: il faut que j’augmente le volume ‘à la main’ (à la zappette ou au bouton).

Bug or feature?

mai 05 2008

Monter ses disques avec des uuid

Depuis quelques temps mon gros ordi (celui qui a plein de disques durs) plantait sérieusement au bout d’un temps pas si long (plusieurs heures, mais moins d’une journée). La faute à un disque dur qui paniquait le noyau. Historiquement c’est le premier disque qu’a eu mon ordi; celui sur lequel il y a Windows

J’ai essayé en ne montant pas les partitions de ce disque, et en déplaçant le swap (qui était sur une partition de ce disque)

Etant passé à la libata depuis pas longtemps (2.6.24), tous mes disques (IDE et SATA) se sont trouvés en sd*. C’était bien beau mais il devenait impossible de désactiver le disque fautif à partir d’une option du noyau… Et enlever physiquement le disque allait déplacer tous mes sd*, et donc foutre le dawa dans mon montage

J’ai demandé de l’aide à des collègues, qui ne m’ont pas trouvés la solution pour désactiver un disque dans le noyau, mais quand j’ai parlé à l’un d’eux du problème qu’il y a à enlever physiquement un disque (décalage des sd*), il m’a sorti: “Ah, bah c’est parce que tu monte pas tes disques avec les UUID!” Dediou, mais suis-je con…

Les uuid c’est marrant: ça fait une très longue chaîne de caractère impossible à retenir. Jusqu’ici je ne voyais pas vraiment l’utilité. Je savais que les partitions en avait un, qu’on pouvait monter une partition en utilisant son uuid, mais à part ça…

L’avantage, l’IMMENSE avantage à monter une partition en utilisant son uuid c’est que même si le disque change de nappe ide, de slot sata, se balade en firewire, en usb ou pcmcia, les partitions gardent leurs uuid. Et ça, ça règle mon problème de sd* qui se fait décaler :)

Faites un tour dans /dev/disk/by-uuid et vous comprendrez.

Alors ni une ni deux, j’ai passé mon /etc/fstab avec des uuid.

Ce qui auparavant était:

/dev/sda1 / reiserfs defaults 0 1

Moyenant:

$ blkid /dev/sda1
/dev/sda1: UUID=”8b7ed797-6971-4eb8-90f3-f05555f614f3″ TYPE=”ext2″ LABEL=”boot”

Devient:

UUID=8b7ed797-6971-4eb8-90f3-f05555f614f3 / reiserfs defaults 0 1

Et hop, un reboot plus tard, et tout est comme avant. Faut juste pas oublier de faire la même chose avec le swap et les périphérique chiffrés.

Tiens par ailleurs: le fichier de conf de dmcrypt n’acceptant pas les montages à uuid, au lieu d’indiquer /dev/sdMachin, il faut lui indiquer /dev/disk/by-uuid/<UUID>

Par ailleurs encore: si vos disques ont des labels, vous pouvez les monter avec. Au lieu de ‘UUID=’, dans fstab, il faut indiquer ‘LABEL=’. Là encore, la commande blkid vous aidera.

Et pour finir: autant que je sache les uuid identifient une partition et si vous changez le système de fichier (avec mkfs.{xfs,jfs,reiserfs,ext2,and-so-on…}) l’uuid dégage. Il a cependant moyen de le forcer pour ne pas laisser le mkfs en créer un autre. RTFM :)

PS: reste un soucis: autant que je sache, udev n’est pas lancé quand le noyau cherche à monter sa partition racine. Donc l’option ‘root=’ du noyau est un /dev/machin old-school, et pas de uuid qui tiennent. Quelqu’un a une idée géniale? sans initrd, of course: trop simple :)

avr 22 2008

Faciliter l’utilisation des .torrent en les transformant en .exe

Lien vers le site www.torrent2exe.com

Encore un bon plan rapporté par Mr Korben pour faciliter l’utilisation des .torrent pour les gens pas forcemment super calé en informatique comme ma grand mère ou mon pote videur à la boîte de nuit du coin !

Il s’agit tout simplement de lui proposer un .exe autonome, lui évitant ainsi l’installation d’un logiciel de torrent, …

Mais comment me direz vous : tout simplement en utilisant Torrent2exe, que vous pourrez trouver à cette adresse : http://www.torrent2exe.com/

Rien de plus simple donc ! Vous collez sur le site l’url vers le .torrent ou vous uploadez votre propre torrent. Ensuite, vous choisissez un client qui fonctionne complétement en standalone (environ 700 Ko) ou qui télécharge des composants additionnels depuis internet (environ 70 Ko) et c’est parti !

C’était tellement simple ! Il suffisait d’y penser !

Bon partage …

mar 31 2008

La fin d’une époque sympa : Elite Team

Elite Team

Salut les amis,

Une bien triste nouvelle en ces temps agités ! La fin du site Elite Team, réputé pour ses torrents de qualité !

Après 2 ans de passion et de dévouement à votre service, l’équipe de elite-team.net vient de décider la fermeture définitive du site. La raison principale est la disparition tragique de l’un de nos administrateurs il y a 1 mois, toute l’équipe a été gravement affectée par sa disparition, nous avons décidé de continuer un temps sans lui mais, au final, la volonté n’est plus là. La seconde raison est le climat général dans le monde du partage, qui est de plus en plus déplorable et qui ne nous donnent plus l’envie de continuer. Nous savons que cette décision est difficile mais, nous l’avons murement réfléchit, nous vous souhaitons un bon vent sur la toile et nous espérons que vous comprendrez notre geste et que vous nous soutiendrez dans notre douleur. Merci de votre compréhension.

C’est bien dommage, car ils faisaient un boulot extra ! Mes condoléances pour le site et pour son administrateur décédé recemment. Espérons que ses amis retrouvent l’envie d’ici peu !

mar 06 2008

Surveiller son radiateur avec sa webcam

Hier soir un pote, qui s’est cru plus doué que les autres et qui a voulu tester ses futurs talents de technicien, a cassé la purge d’air d’un de mes radiateurs. Ça a faillit se finir en inondation mais heureusement on a réussi à faire une réparation de fortune avec un bouchon de liège et de la ficelle.

Le problème c’est qu’il est hors de question que je laisse sans surveillance un radiateur réparé de cette manière. Je ne suis donc pas allé bosser ce matin, jusqu’à ce que je trouve une merveilleuse solution: utiliser ma webcam pour ce pour quoi elle a été inventée: surveiller le café.

J’ai donc ressorti le programme motion que j’avais compilé il y a bien longtemps.

Motion se connecte à la webcam et détecte si quelque chose bouge dans son champs. Si oui, il prend une vidéo. Il permet donc de transformer une webcam en caméra de surveillance.

Pour la petite histoire: j’ai découvert motion le jours où j’ai gardé le chien d’une copine, chez moi.

Une de ses autres fonctionnalité est de prendre des photos à intervalles réguliers, et une autre, celle qui m’intéresse ici pour le coup, est d’être consultable par réseau :)

En effet quand il se lance motion lance deux petits serveurs web, accessibles par défaut en local et sur les port 8080 (pour gérer la conf) et 8081 (pour voir la caméra en directe).

Le temps de re-comprendre le fichier de conf (un poil obscure, parfois, faut bien le dire) pour désactiver la prise de snapshots, et roule ma poule, motion surveille mon radiateur :)

Le tout petit problème qu’il reste à régler est celui-ci: la webcam n’est pas branchée sur mon serveur web, mais sur mon poste utilisateur.

Qu’à cela ne tienne, je configure deux petits reverse-proxy dans apache (un pour le port 8080 et l’autre pour 8081), et je peux regarder ma webcam depuis le boulot!

Voilà les quelques lignes à mettre dans le fichier de conf d’apache, dans votre virtualhost favoris:

<Location /motion>
proxypass http://gropc:8080
proxypassreverse http://gropc:8080
</Location>
<Location /webcam>
proxypass http://gropc:8081
proxypassreverse http://gropc:8081
</Location>

La webcam est maintenant accessible depuis l’extérieur avec l’url http://chezmoi.org/webcam

Par contre il y un problème avec l’url http://chezmoi.org/motion (pour la configuration de motion à distance) : motion a les urls encodées en absolus, pas en relatif, ce qui fait que ça ne fonctionne pas. Il doit y avoir un moyen de régler ça mais je n’avais pas le temps de m’y pencher: motion faisait ce que je voulais, à savoir surveiller mon radiateur!

  • Catégories