lunes 9 de noviembre de 2009

Servidor y cliente NFS

Estoy tan hocicón que no me da tiempo ni a hacer capturas. Ahora me ha dado por montar un sistema de NFS que viene a ser para compartir archivos, como Samba pero otro. Por que lo hago? Porque Samba me va como el puto culo. No se muy bien el motivo de esto, pero apenas pillo 1 mb de transferencia y pasar un archivo grande de un equipo a otro te puede hacer vomitar. Y esto en teoría no debería ser así. He leido varios comentarios de gente que dice que Samba está pensado para compartir archivos en redes en las que hay equipos con Windows. Y como en la mía no hay ninguno, probaremos esta otra alternativa.

Basicamente hay que instalar en el equipo que hace de servidor nfs-kernel-server y portmap si es que no lo mete automáticamente. Después de esto se crea un archivo que se llama /etc/exports el cual debemos editar para establecer las carpetas que queremos compartir. La verdad es que alguien debería currarse la forma de hacer esto graficamente.

Así pues lo editamos con sudo gedit /etc/exports o lo que sea y habría que añadir una linea de este estilo por cada una de las carpetas que queremos compartir:

/home/hocicon/datos/Peliculas 192.168.1.7(ro,no_root_squash,async)

Basicamente hay que poner la ruta que compartimos, la ip a la que damos acceso y los parametros. Puedes elegir entre ro para solo lectura y rw para escritura. El resto de parametros y otros más que he visto por ahí no tengo ni puta idea de lo que hacen. En otros lados he visto que ponen la ip y la mascara de subred, y en otros que ponen para que de acceso a todos los ordenadores de la red 192.168.1.0/24 pero a mi de esa manera no me funcionó.

Después de modificarlo ejecutamos sudo exportfs -a

La cosa debería estar lista en el lado del servidor. Siempre se puede hacer un sudo /etc/init.d/nfs-kernel-server restart pero no se si es necesario.

Ahora en el ordenador cliente hay que hacer parecido. Instalamos los paquetes portmap y nfs-common. Vamos a montar la carpeta que he puesto de ejemplo. Tenemos que tener creada la carpeta sobre la que lo queremos montar de antemano.

sudo mount 192.168.1.2:/home/hocicon/datos/Peliculas /home/hocicon2/carpetaparamontar

Esto debiera funcionar. Obviamente .2 es donde tenia el servidor y .7 el cliente. Ahora vamos con más mandanga. Queremos que esto suceda al arrancar el ordenador en vez de a mano. Entonces editamos sudo gedit /etc/fstab
Añadimos lo mismo una línea por cada carpeta:

192.168.1.2:/home/hocicon/datos/Peliculas /home/hocicon2/carpetaparamontar nfs rsize=8192,wsize=8192,timeo=14,intr,_netdev 0 0

Información de esto: rsize y wsize se supone que mejora el rendimiento aunque en otro lado vi que ponia valores distintos tratandose de una red gigabit. timeo=14 no tengo ni puta idea de lo que hace y yo en una de mis pruebas lo quite y me quede tan ancho. Intr más de lo mismo. Pero _netdev es FUNDAMENTAL. Aquí viene una de las mayores aberraciones que he visto. Resulta que si no pones _netdev, el sistema intentará montar la carpeta durante el arranque ANTES de que se establezca la conexión de area local. Exacto. Montarás pollacoles.
Pero _netdev tiene un nuevo y maravilloso misterio más. Y es que no funciona con WICD. Entonces yo no paraba de ver como la gente resolvia con esto su problema mientras a mi no me iba. Y era por usar el gestor de conexiones WICD en lugar del network-manager que viene de serie. Cambiado uno por otro y todo es felicidad.

ACTUALIZACION ACERCA DE LA VELOCIDAD
Aunque se supone que es más rápido NFS que Samba, a mi me funcionaba exactamente a la misma velocidad. Ya a punto de rendirme cambié de modelo de router, estaba trabajando con un Huawei de Jazztel y puse un Zyxel. Problema resuelto. La velocidad de transferencia en red local pasó a ser la que debería ser. No quiero ni pensar las horas que he pasado buscando fallos de configuración para finalmente descubrir que el puñetero router me limitaba la velocidad, no se por que motivo.

domingo 8 de noviembre de 2009

Ubuntu 9.10 + XBMC = Dios

Olvidaros de toda la mierda que he estado haciendo y todo el tiempo que he perdido con el puñetero MythTV y Mythbuntu y su padre. Esto lo peta mucho más.

Con el Ubuntu de serie instalado, los drivers propietarios de Nvidia que vienen en el repositorio oficial y el XBMC 9.11 Alpha los videos se ven y se oyen como el paraiso, sin tocar mierdas extrañas de ningun tipo. Solamente hay que añadir el repositorio de XBMC que por ahora no tienen uno estable para Ubuntu 9.10 Karmic, pero si hay un repositorio SVN con la versión Alpha. Así pues añadimos lo siguiente a los orígenes de software:


deb http://ppa.launchpad.net/team-xbmc-svn/ubuntu karmic main
deb-src http://ppa.launchpad.net/team-xbmc-svn/ubuntu karmic main


Y posteriormente instalamos el paquete xbmc. Y hasta donde yo se no he hecho nada más. Bien es cierto que tengo instalados los codecs extra del repositorio Medibuntu, pero no se si eso influye o no en el resultado porque ya los tenía de antes. Y lo único que he hecho así a mayores es cambiar una opción dentro de XBMC que habilitaba el VDPAU, pero no estoy muy seguro de donde era, dentro de la configuración de pantalla o por ahí.

Simplemente con esto, con Ubuntu funcionando de maravilla y con compiz habilitado, se ven los videos en HD perfectamente y se escuchan sin perder sincronía. No me lo puedo ni creer casi me corro.

viernes 6 de noviembre de 2009

Videos HD en MythTV con Nvidia Ion

Aquí empieza el jaleo gordo. Nota importante: Todas estas mierdas que he hecho se van arreglando con nuevas versiones que van saliendo de los programas. Es importante saber que cambios metemos a mano, porque puede que lo que ahora funciona, joda todo en la siguiente versión. O tenemos en cuenta lo que hemos hecho o tocara reinstalar todo el sistema de cuando en cuando.

Lo primero es que el procesador Atom 330 es un procesadorcillo para uso básico. Como mierda pensamos mover videos en alta definición con esto? Pues aprovechando la gráfica integrada Nvidia Ion que se encarga de las labores gráficas quitando esta tarea al procesador. Para ello necesitamos hacer uso de Pure Video (VDPAU) que es la nueva moda. Pero para que esto funcione hace falta en primer lugar unos drivers curiosos. Por defecto tenemos los drivers propietarios de Nvidia 185, que supuestamente ya traen esto incluido. Pero esto ya está anticuado y casi compensa más tirar de lo ultimisimo. Entonces entra en juego este caballero y su web: http://www.avenard.org/media/Ubuntu_Repository/Ubuntu_Repository.html

El compadre se ha currado unos repositorios que traen los últimos drivers de Nvidia (ahora mismo los 190), así como un MythTV preparado para soportar VDPAU. Se supone que esto ya va a venir en MythTV 0.22 y ahora está la 0.21. Con lo cual añadimos sus repositorios como bien pone en su web:
Para la key:
wget http://www.avenard.org/files/ubuntu-repos/ubuntu-repos.key && sudo apt-key add ubuntu-repos.key && rm ubuntu-repos.key
Para el repositorio:
echo "deb http://www.avenard.org/files/ubuntu-repos karmic release" | sudo tee /etc/apt/sources.list.d/avenard.list

Actualizamos paquetes. Ok. En primer lugar tenemos que meter los nuevos drivers. Nos vamos a Synaptic y marcamos para instalar nvidia-glx-190. Esto borra los que tenemos puestos de 185. Una vez terminado, aunque en Controladores de Hardware no aparezcan, podremos ver en Nvidia X server settings que estamos utilizando los 190.

A continuación utilizamos mismamente el gestor de actualizaciones para que nos instale las nuevas versiones de MythTV. Una vez que lo hice me dio problemas de miles de errores, pero otra vez me salio todo a la primera. No me acuerdo de todo pero era así.

Volverá a aparecernos el asistente de configuración de MythTV y nada a seguir los pasos más o menos como cuando la instalación normal.

Y ahora viene la mandanga. Para el video:
Dentro de MythTV Frontend, nos vamos a Setup/TV Settings/Playback/Playback profiles. Tenemos que crear un perfil nuevo para VDPAU. Añadimos una linea de parametros que vendría a contener esto:
>W: 0 H: 0, decoder: VDPAU, renderer: VDPAU, Deinterlacer: Advanced 2X

De esta manera podremos reproducir con fluidez videos en HD. Me resulta super enrevesado y no estoy seguro de que sea la manera de hacerlo, pero me funciona.

Para el audio:
Esto es más jodido. Supongo que querais como yo, sacar el audio por el HDMI al igual que el video, porque si quereis otra cosa yo no lo he intentado. Aquí todavía ando pillado porque el audio se entrecorta. Pasos que hice fueron desenmutar el IE958 desde alsamixer. A continuación, crear un archivo oculto dentro de nuestro usuario tal que así

sudo nano ~/.asoundrc

Pegar dentro esto:

pcm.dmixer {
type dmix
ipc_key 1024
ipc_key_add_uid false
ipc_perm 0660
slave {
pcm "hw:0,3"
rate 48000
channels 2
period_time 0
period_size 1024
buffer_time 0
buffer_size 4096
}
}

pcm.!default {
type plug
slave.pcm "dmixer"
}

Guardar el archivo y reiniciar el pc.

De nuevo dentro de MythTV Frontend, ir a Setup/General/ Y en la tercera ventana establecer estas opciones:

Audio output device: ALSA:default
Passthrough output device: Default
Max Audio Channels: Stereo
Upmix: Passive
Enable AC3 to SPDIF passthrough UNchecked
Enable DTS to SPDIF passthrough checked
Aggressive sound card buffering off
Use internal volume controls off

Y de esta putisima manera he conseguido ver y oir los videos. Los videos normales avi se oyen y ven de puta madre. Pero uno en mkv HD que tengo, aunque se ve bien, se entrecorta el audio y va descompensado con la imagen.

Lo siguiente que quiero hacer es utilizar XBMC en la partición con Ubuntu, así como probar Boxee, también desde Ubuntu. Como esto me funcione bien, le darán por el putísimo culo a Mythbuntu.