Asus E35M1-I DELUXE, surround 5.1 sound and dmix
Make HDMI card be second while SB card be first one:
options snd-hda-intel index=1,0
Enable dmix with surround 5.1 support (no upmixing):
pcm.dmixer {
type dmix
ipc_key 1024
ipc_key_add_uid false # let multiple users share
ipc_perm 0666 # IPC permissions (octal, default 0600)
slave {
pcm "hw:0,0"
channels 6
# buffer_size 16384
}
}
pcm.!default {
type plug
slave.pcm dmixer
slave.channels 6
}
to /etc/asound.conf. Enable 6 channels in alsamixer, too.
Eating power – Intel GM45 vs Radeon HD 3400
ThinkPad T400 switched into integrated gpu mode – running Intel GM45 eats ~12W of power.
ThinkPad T400 switched into discrete gpu mode – running Radeon HD 3400 eats … ~28W of power!
Which means that radeon itself eats more than 16W of power (meausred with powertop). That’s more than whole notebook in integrated gpu mode. Nightmare!
Note that HD 3400 was driven by open source radeon driver which doesn’t have any power management support at this moment.
200904 update: ati driver in git contains updated power management and it’s eating ~16W here instead of ~28W now with DynamicPM turned on.
Very fast IPv6 setup on PLD/Linux Th
If you need IPv6 on some PLD Th machine, like in my case laptop, you can just do:
poldek -uGv miredo-client-teredo
service miredo-teredo start
and verify that IPv6 works by doing for example:
mtr -6 www.pld-linux.org
This solution doesn’t require any configuration (well, there are some options that can be altered). It should work even if you are behind some NATs and other weird gateways thanks to Teredo.
Working setup causes new interface to appear, for example:
20: teredo:
link/[65534]
inet6 2001:x:xx:xx:xx:xx:xx:e4b6/32 scope global
valid_lft forever preferred_lft forever
inet6 fe80::ffff:ffff:ffff/64 scope link
valid_lft forever preferred_lft forever
Of course there are other solutions for non-native IPv6 like 6to4 (pure rc-scripts are enough), ISATAP (see miredo-client-isatap package) or just typical SIT tunnel.
Booting PLD/DOS from USB pendrive
Create partition on your flash drive (using fdisk or cfdisk). Mark one of partitions bootable in fdisk/cdisk. Format that partition with FAT/FAT32 filesystem:
mkfs.vfat -F 32 /dev/sdXY
where sdXY is your partition.
Mount it and copy contents of PLD RescueCD like x86 and x86_64 ISO image to that partition, to /rcd subdirectory.
Make MBR record:
ms-sys -s /dev/sdX
(where sdX is entire flash disk; ms-sys comes from ms-sys package)
Copy syslinux configuration for USB to root directory of your flash drive as syslinux.cfg. DOS/Windows image should be placed in /rcd/boot/dos.gz (compress it with gzip first).
Run:
syslinux -s /dev/sdXY
to load syslinux onto your flash drive.
Reboot your system and check if it boots correctly
Note that some systems have problems with booting from flash driver (especially big like 1G or 2G flash drives).
Booting PLD RescueCD from LILO
Copy files from rescuecd iso image and add section similar to this one to lilo.conf:
image=/boot/rescuecd-20070617/boot/isolinux/vmlinuz
label=rcd
root=/dev/ram0
initrd=/boot/rescuecd-20070617/rescue.cpi
append=" console=tty0 console=ttyS1,38400n81 panic=60"
Opera Browser (for Linux) and multimedia
Did you ever try mplayerplug-in with Opera? It’s very bad. Pure X11, no GUI at all. Fortunately there is plugin rewrite under gecko-mediaplayer name which uses new gnome-mplayer tool. Works nicely with GUI under Opera web browser (of course other browsers like Mozilla are supported) ! Available in PLD Th (testing) as rpm packages.
See screenshot:
PXE remote boot for your home/work lab
PXE is a well known and widely used in some enviroments. I’m quite often playing with some servers, testing, installing various things, reflashing firmwares etc. Usually that was done with PLD RescueCD on a CDRW medium, (Free)DOS images/isos etc. Unfortunately burning different stuff over and over is annoying. How to do something nice and usable?
AppArmor protection for your Apache (including mod_php, mod_python and others)
The biggest weak of Apache httpd web server is lack of security when using it in multiuser enviroment.
All httpd processes run under the same UID and GID which means that user JOE can create simple
php script which when run via httpd will be able to open and read other users web files (which means
that other users database passwords hidden somewhere in web configuration files are not protected).
There are some ways to protect your files: (more…)
Jabra BT-500 Bluetooth Headset and Linux
BT500 works quite well when paired with Linux. To get the thing working you will need BlueZ stack (already in recent kernels), utilities (bluez-utils.spec) and ALSA Bluetooth driver – snd-bt-sco. There is one issue with BT500 (where you will hear no sound, just single beep at start and end of audio stream) which is handled by sco-mtu patch.
After setting headset in paring mode issue:
[root@tarm ~]# hcitool inq
Inquiring …
00:07:A4:BE:95:EE clock offset: 0x51ed class: 0×200404
Then pair with bt500:
[root@tarm ~]# hcitool cc 00:07:A4:BE:95:EE
[root@tarm ~]#
you will be asked for PIN code (enter: 0000).
[root@tarm ~]# btsco -v 00:07:A4:BE:95:EE
btsco v0.41
Device is 1:0
Voice setting: 0×0060
RFCOMM channel 1 connected
recieved AT*GNMK
From now one there should be second ALSA card available:
[root@tarm ~]# cat /proc/asound/cards
0 [Intel ]: HDA-Intel – HDA Intel
HDA Intel at 0xb0000000 irq 169
1 [Headset ]: Bluetooth SCO – BT Headset
BT Headset 1
Run your favorite application (twinkle perhaps – very nice SIP phone with G.711 support, ideal for connecting to Asterisk PBX) and choose BT Headset in sound setup (available also trough OSS emulation as /dev/dsp1 in my case).
You can view setting using alsamixer or amixer using -c 1 switch:
[root@tarm ~]# amixer -c 1
Simple mixer control ‘Master’,0
Capabilities: volume volume-joined
Playback channels: Mono
Capture channels: Mono
Limits: 0 – 15
Mono: 0 [0%]
Simple mixer control ‘Mic’,0
Capabilities: volume volume-joined
Playback channels: Mono
Capture channels: Mono
Limits: 0 – 15
Mono: 0 [0%]
Simple mixer control ‘AGC’,0
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [off]
Simple mixer control ‘Loopback’,0
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [off]
When pressing buttons on headset the commands are sent to Bluetooth dongle and are visible by btsco program. You can put your own script in .btscorc which will be executed when commands arrive. By this method you can for example connect hang up button on headset with skype disconnect button (through skype DBUS API).
Suspend to RAM on IBM ThinkPad Z60m with SATA drive
Suspend on this laptop works quite well beside one important thing – SATA driver (ata_piix). It doesn’t resume properly, scsi subsystem timeouts, filesystem reports errors and the whole fs is remounted read only.
Recently Hugh Dickins found a way to make resume reliable:
http://lkml.org/lkml/2006/4/21/303
Apply it to latest kernel (2.6.17rc2 in my case) and use suspend userspace tool s2ram.
It isn’t best way (patch violates layers in libata driver) but that’s all. It’s usable until clean solution is found.