Publicado en Raspberry Pi

Raspberry Pi: Montar centro multimedia completo

Introducción

Ya he explicado muy detalladamente cada paso necesario para montar un centro multimedia con la Raspberry Pi. Lo que pretendo con este artículo es juntarlo todo, y hacer un resumen rápido tanto para los que ya son usuarios avanzados, como para los que ya han seguido los pasos alguna vez y no necesitan tanta palabrería para poner en marcha una nueva RasPi. Por supuesto, todos los pasos a seguir desde el PC son en Linux.

Paso 1: Instalar Raspbian

Descargar la última versión de Raspbian y descomprimir el .zip para obtener un fichero .img:

http://www.raspberrypi.org/downloads/

Insertar la tarjeta microSD en el PC y detectar donde está montada:

df -h

Desmontar todas las particiones de la tarjeta microSD (si hubiera más de una):

umount /dev/sdc1
umount /dev/sdc2

Instalar la imagen descargada en la microSD:

dd if=/ruta/descarga/zip/2015-01-31-wheezy-raspbian.img of=/dev/sdc bs=1M

Explicación extendida: Raspberry Pi. Paso 1: Instalar Raspbian

Paso 2: Primer arranque (raspi-config)

Inserta la microSD en la Raspberry Pi y conecta un teclado USB para poder moverte por las opciones, las más importantes son:

  1. Expand Filesystem: extiende el espacio utilizable por el sistema a toda la capacidad de la microSD.
  2. Change User Password: si no lo cambias, el usuario es pi y la contraseña es raspberry.
  3. Advanced Options > Memory Split: es la memoria que le asignamos a la GPU (procesador de gráficos), para que Kodi (XBMC) funcione perfectamente es aconsejable darle la mitad de la RAM, en la Raspberry Pi 2 tenemos 1 GB y en las demás 512 MB, así que pon 256 MB si tienes una RPi antigua o 512 MB si tienes la RasPi 2.
  4. Advanced Options > SSH: es fundamental activarlo para poder acceder a la RPi por red sin necesidad de teclado ni ratón.

El resto de opciones no son importantes para el funcionamiento o son cambios muy personales.

Lo que sí es importante es configurar una IP estática en la Raspberry Pi para poder acceder a ella siempre de la misma manera, así que edita el siguiente fichero:

sudo nano /etc/network/interfaces

Sustituye esta línea:

iface eth0 inet dhcp

Por todas estas:

auto eth0
iface eth0 inet static
address 192.168.1.10
netmask 255.255.255.0
gateway 192.168.1.1

Donde address es la IP estática que quieres que tenga tu Raspberry Pi y gateway la IP de tu router. Cierra y guarda el fichero con Ctrl+X, Y, Intro. Carga la nueva configuración y reinicia el servicio de red:

sudo ifup eth0
sudo service networking restart

Explicación extendida: Raspberry Pi. Paso 2: Primer arranque (raspi-config)

Paso 3: Instalar Kodi

Ya puedes acceder a la RPi por consola con un teclado USB o por SSH, la segunda opción es la más cómoda. En ambos casos edita el fichero de repositorios:

sudo nano /etc/apt/sources.list

Agrega la siguiente línea al final:

deb http://archive.mene.za.net/raspbian wheezy contrib

Cierra y guarda el fichero con Ctrl+X, Y, Intro. Agrega la firma para el nuevo repositorio:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-key 5243CDED

Actualiza la lista de paquetes e instala Kodi:

sudo apt-get update
sudo apt-get install kodi

Edita la configuración básica de Kodi:

sudo nano /etc/default/kodi

Pon ENABLED=1, USER=pi y NICE=-10 para que Kodi se inicie automáticamente en cada arranque.

Explicación extendida: Raspberry Pi. Paso 3: Instalar Kodi o XBMC

Paso 4: Montar disco duro USB

Saber la ruta del disco duro en nuestra Raspberry Pi:

sudo fdisk -l

Si el disco duro no está formateado como ext3 o ext4 (al gusto), hazlo con:

sudo mkfs.ext3 /dev/sda1

Crea un directorio donde montar el disco duro:

sudo mkdir /media/discousb

Haz que tu usuario sea el propietario del nuevo directorio:

sudo chown pi /media/discousb

Edita el siguiente fichero para que el disco duro se monte en ese directorio cada vez que arranca el sistema:

sudo nano /etc/fstab

Agrega al final la siguiente línea:

/dev/sda1      /media/discousb      ext3      defaults      0      0

Cierra y guarda el fichero con Ctrl+X, Y, Intro. Monta el disco duro sin necesidad de reiniciar con:

sudo mount -a

Explicación extendida: Raspberry Pi. Paso 4: Montar disco duro USB

Paso 5: Instalar y configurar Transmission (descarga de torrents)

Instala Transmission:

sudo apt-get install transmission-daemon

Detén el servicio para poder modificar la configuración:

sudo service transmission-daemon stop

Crea un directorio para almacenar las descargas y otro para los torrents en proceso de descarga:

sudo mkdir /media/discousb/torrents
sudo mkdir /media/discousb/torrents/tmp

Modifica los permisos de las carpetas:

sudo chown -R pi:debian-transmission /media/discousb/torrents
sudo chmod -R 777 /media/discousb/torrents

Edita el fichero de configuración de Transmission:

sudo nano /etc/transmission-daemon/settings.json

Son muchas cosas, casi todas muy intuitivas así que voy a poner aquí lo básico:

"download-dir": "/media/discousb/torrents",

«incomplete-dir»: «/media/discousb/torrents/tmp»,

«rpc-authentication-required»: true,
«rpc-bind-address»: «0.0.0.0»,
«rpc-enabled»: true,
«rpc-password»: «j72x6kxx1fnpjkz9difeu1harx0v0oudwxsfzwuo8j0r8»,
«rpc-port»: 9091,
«rpc-url»: «/transmission/»,
«rpc-username»: «pi»,
«rpc-whitelist»: «0.0.0.0»,
«rpc-whitelist-enabled»: false,

Si no cambias el rpc-password por defecto es transmission. El resto está pensado para que puedas acceder a la interfaz del Transmission desde cualquier lugar del mundo por el puerto 9091, y desde ahí poder cambiar el resto de parámetros gráficamente.

Inicia el servicio de nuevo:

sudo service transmission-daemon start

Explicación extendida: Raspberry Pi. Paso 5: Descargar torrents con Transmission

A partir de aquí, el resto de pasos son para facilitarnos la vida, la funcionalidades básicas ya están instaladas.

Paso 6: Acceso remoto con ddclient y DNSdynamic

Regístrate en DNSdynamic:

https://www.dnsdynamic.org/signup.php

Haz login con tu email y tu contraseña y ve a «Add a new domain». Escribe tu subdominio y elige un dominio, todo junto será tu DNS dinámico. Ahora vamos a la Raspberry Pi a instalar el cliente:

sudo apt-get install ddclient

El asistente que aparece te lo puedes saltar entero porque no sirve para nada. Cuando termines edita el fichero de configuración del ddclient:

sudo nano /etc/ddclient.conf

Elimina todo lo que haya y pon esto:

daemon=300
protocol=dyndns2
use=web, web=myip.dnsdynamic.com
server=www.dnsdynamic.org
login=TU@EMAIL.COM
password='TUCONTRASEÑA'
server=www.dnsdynamic.org, \
protocol=dyndns2 \
TUURL

Cambiando únicamente login poniendo tu email, password poniendo tu contraseña y TUURL poniendo el DNS dinámico que elegiste en la web. Cierra y guarda el fichero con Ctrl+X, Y, Intro.

Explicación extendida: Raspberry Pi. Paso 6: Acceso remoto con ddclient y DNSdynamic

Paso 8: Compartir ficheros con samba

Vamos a convertir la Raspberry Pi en un servidor de ficheros tipo NAS. Instala samba escribiendo:

sudo apt-get install samba samba-common-bin

Edita el fichero de configuración:

sudo nano /etc/samba/smb.conf

Hay muchos parámetros, muy bien explicados, vamos a tocar lo básico para que funcione:

workgroup = WORKGROUP

wins support = yes

El parámetro wins support viene comentado, simplemente elimina la almohadilla (#) del principio de la línea. Además vamos a compartir una carpeta poniendo las siguientes líneas al final del fichero:

[DiscoUSB]
comment=Disco USB en la RPi
path=/media/discousb
browseable=yes
writeable=yes
create mask=0775
directory mask=0775
only guest=no

Ponle una contraseña al usuario de samba, no necesariamente la misma que la del sistema:

sudo smbpasswd -a pi

Reinicia el servicio para que coja la nueva configuración:

sudo service samba restart

Explicación extendida: Raspberry Pi. Paso 8: Compartir ficheros con samba

Paso final: Abrir puertos en el router

Tienes que redireccionar todos los puertos del router que estés utilizando en la Raspberry Pi para que apunten a la IP estática de la misma, para así poder acceder a los servicios desde fuera de tu red local. Los puertos típicos son:

  • 22 para el SSH y el SFTP
  • 9091 para el Transmission

Otros pasos

Aquí iré agregando el resto de pasos que voy explicando que no son fundamentales para crear un centro multimedia:

Publicado en Bitácora, Raspberry Pi

Raspberry Pi. Paso 4: Montar disco duro USB

Introducción

Partiendo de la base de que queremos la Raspberry Pi como centro multimedia, es evidente que con una tarjeta microSD no vamos a tener suficiente, por muy grande que sea. A día de hoy, cualquier película FullHD con sonido DTS 5.1 que se precie, viene ocupando unos 10-15 GB, así que nos va a hacer falta casi con total seguridad un disco duro USB de, mínimo, 500 GB. Habrá quien se pueda apañar con 128 GB, pero este tutorial sirve igual para discos duros como para pendrives de cualquier tamaño.

Elegir el tipo de disco duro USB

Es uno de los puntos más complicados porque todo tiene sus pros y sus contras. Podríamos catalogar las posibilidades en 3 grandes grupos: pendrive, disco duro USB de 2.5″ y disco duro USB de 3.5″. Dependiendo de dónde vayas a colocar todo el invento, te será de mayor o menor prioridad el tamaño físico del disco. Pero más allá de eso, que siempre puede ir detrás de la tele sin que se vea mucho, la clave es elegir entre alimentación externa (red eléctrica) o no (alimentado por el propio USB).

Un pendrive, por grande que sea, no consume tanta energía como para que la Raspberry Pi no pueda con él, así que es la opción más minimalista si la capacidad no es un problema (que lo acabará siendo). Sin embargo, si nos vamos a discos duros de más de 256 GB, nos empezamos a meter en el peligroso umbral de la autoalimentación. Generalmente un disco duro USB de 2.5″ no trae alimentación externa, coge la energía necesaria del ordenador al que está conectado. El problema es que la Raspberry Pi no es capaz de alimentarse a sí misma y a un disco duro de 500 GB con el cargador de 2A. La solución para este caso es comprar un HUB USB con alimentación externa. Con esto ganamos más puertos USB y además alimentación extra para dispositivos que la RPi no es capaz de mover con su propia energía.

Pero ya puestos a ocupar un enchufe más, yo prefiero un disco duro USB de 3.5″ con alimentación externa. Son más fiables, más duraderos y, normalmente, más baratos en igualdad de capacidad. La pega es que es bastante más grande (unas 4 veces la propia RasPi) y quizá en algún salón es realmente un estorbo. Además el HUB USB me parece excesivo ya que disponemos de 4 puertos USB de serie que, en general, son más que suficientes.

Elegir el sistema de ficheros

Sea cual sea tu elección, que es absolutamente personal y dependerá totalmente de las circunstancias de cada uno, sin que haya una única elección perfecta, el sistema de ficheros es la siguiente elección que has de hacer. Y recuerda que es reversible, pero con cada cambio de sistema de ficheros hay que formatear eliminando todo lo que haya.

Hay más, pero básicamente las opciones más lógicas que tienes son 3: FAT32, NTFS, ext3/4. De entrada descartaría FAT32, es el que suele venir por defecto en los pendrives pero tiene un defecto insalvable: no admite ficheros de más de 4 GB. Como ya dije antes, a día de hoy las películas en calidad decente ya ocupan más que eso así que no merece mucho la pena en nuestro caso.

Luego tenemos NTFS, es el sistema de ficheros por defecto de Windows y el que viene en casi todos los discos duros USB. Sólo lo aconsejaría si tenemos un PC con Windows al que pretendemos mover el disco duro más o menos habitualmente para transferir ficheros, aunque esto no debería pasar porque la Raspberry Pi debería ser el centro de todo sin necesidad de un ordenador externo para nada, además siempre podemos transferir los ficheros por la red. Y no lo aconsejo, sobre todo, porque como cualquier otro Linux, Raspbian no tiene soporte nativo para NTFS. Esto implica que tengamos que utilizar software adicional para leer y escribir en el disco (ntfs-3g), y no sería un problema si no fuera porque es un proceso que recarga bastante la Raspberry Pi tanto computacionalmente como a nivel de temperatura.

Y por último tenemos ext3/4. Vale, son dos opciones en realidad: ext3 y ext4, pero los pongo juntos porque la explicación para elegirlos es la misma: son los nativos de Linux. Más allá de que la fragmentación es menor que en NTFS o que la velocidad de lectura y escritura pueden ser mayores, la razón principal para elegir uno de los dos es que hace trabajar menos a la Raspberry Pi. Así que puestos a optimizar los recursos, mejor que sea ext3, que no se ha demostrado realmente que sea mucho peor que ext4 y encima consume menos, además tampoco vamos a notar especialmente la diferencia en los procesos que vamos a ejecutar en la RasPi.

Como ya he dicho para el tipo de disco, el sistema de ficheros también depende mucho de la situación de cada uno y no hay una elección perfecta en todos los casos.

Montar el disco duro USB

Vamos a lo importante, que todo lo anterior es palabrería que probablemente no necesites. Lo primero es ver el nombre que Raspbian le ha dado a nuestro dispositivo USB, ya sea un pendrive o un disco duro. Doy por hecho que tienes Raspbian, aunque realmente este proceso funciona igual en casi cualquier Linux que hayas puesto en la miscroSD. Para ello ejecutamos:

sudo fdisk -l

Obtenemos un listado de todos los discos y sus particiones. Primero aparecerá la microSD con sus dos particiones, y después los dispositivos USB que tengamos conectados. Es fácil detectar cuál es el que queremos montar porque da mucha información del mismo, pero lo definitivo son la capacidad y el sistema de ficheros. Tendrás un resultado parecido a esto:

fdisk

Como puedes ver, /dev/mmcblk0 es mi microSD de 8 GB, con sus dos particiones, y /dev/sda es mi disco duro USB de 3 TB con una única partición: /dev/sda1.

Ahora podemos formatear el disco para darle el sistema de ficheros que queramos si no lo hicimos antes de conectarlo a la Raspberry Pi. Recuerda que se perderán todos los datos:

sudo mkfs.ext3 /dev/sda1

Esto formatea completamente la partición que le hayamos indicado con el sistema de ficheros ext3, si prefieres ext4 sólo tienes que utilizar mkfs.ext4.

Para acceder a nuestro disco duro USB necesitamos crear un directorio donde montarlo. Puedes elegir casi cualquier sitio para crearlo, pero lo típico y recomendable es hacerlo en media:

sudo mkdir /media/discousb

Donde discousb es el nombre que yo le he puesto al directorio donde voy a montar mi disco duro USB, soy muy original, pero tú puedes poner lo que más te guste. Y ahora tendríamos que montar el disco en el nuevo directorio con el comando mount, pero en vez de eso, vamos a modificar la configuración inicial para que cada vez que se arranque la Raspbery Pi se monte automáticamente:

sudo nano /etc/fstab

Al final de este fichero vayamos a añadir la siguiente línea:

/dev/sda1      /media/discousb      ext3      defaults      0      0

Lo primero es la partición de tu disco duro USB, lo segundo es dónde vamos a montarlo, lo tercero es el sistema de ficheros del disco (puede ser ext3, ext4, ntfs o vfat para FAT32) y el resto son las opciones por defecto para el montaje. Guardamos y cerramos el fichero con Ctrl+O, Intro, Ctrl+X.

Ahora cada vez que se inicie Raspbian tendremos el disco duro USB montado y listo para acceder a él. Si lo quieres empezar a utilizar ahora mismo sin tener que reiniciar puedes ejecutar:

sudo mount -a

Que monta todas la particiones que estén indicadas en el fichero /etc/fstab que acabamos de modificar.

Fin

Lo lógico es utilizar la tarjeta microSD para instalar los programas que vayamos a necesitar y utilizar el disco duro USB para almacenar todo el multimedia. Por eso yo, he organizado mi disco creando carpetas dentro de /media/discousb como Peliculas, Series, Musica, etc. Para poder tener acceso sin problemas tanto al disco como a todas las subcarpetas que queramos crear, lo mejor es poner que el propietario es el usuario pi, es decir, nosotros:

sudo chown pi /media/discousb

Eso es todo, mañana explicaré cómo instalar y configurar Transmission, un software para descargar torrents.

Publicado en Internet, Linux, Tecnología

Instalar TP-Link TL-WN725N v2 en Linux Mint

tp-link-tl-wn725n

El TP-Link TL-WN725N se hizo bastante famoso en el mundillo Linux, especialmente para los poseedores de una Raspberry Pi, por su reducidísimo tamaño, por una instalación sencilla y por la calidad fabulosa a coste ridículo. Sin embargo, eso era con la v1 que montaba el chip RTL8188CU, ya que con la v2 que monta el RTL8188EU la cosa se ha complicado un poco. Por suerte no es demasiado difícil instalar el controlador del nuevo chip, así que os lo explico en 10 sencillos pasos desde la consola. Y como casi todo tutorial apto para Linux Mint, funciona de igual manera para Ubuntu y cualquiera de sus derivados (como lo es el propio Mint).

  1. Instalar GIT (o actualizarlo si ya lo tienes instalado):
    :~$ sudo apt-get install build-essential git
  2. Descargar el driver desde GIT:
    :~$ git clone git://github.com/liwei/rpi-rtl8188eu.git
  3. Acceder a la carpeta donde se descargó el driver:
    :~$ cd rpi-rtl8188eu
  4. Compilar el driver:
    :~$ make
  5. Instalar el driver:
    :~$ sudo make install
  6. Escanear los módulos:
    :~$ sudo depmod -a
  7. Actualizar la memoria del kernel:
    :~$ sudo update-initramfs -u
  8. Cargar el nuevo módulo al kernel:
    :~$ sudo modprobe -v 8188eu
  9. Conectar el adaptador WiFi a un puerto USB.
  10. No hace falta reiniciar el equipo, el Network Manager ya debería reconocer el adaptador y mostrar las redes WiFi disponibles. Si no es así, con desactivar y volver a activar la red desde el propio Network Manager debería ser suficiente.

Como veis es muy sencillo y rápido, pero si os atascáis en algún punto u os surgen dudas ya sabéis que en los comentarios solucionaré lo que esté en mi mano.

Publicado en Linux

Error al instalar Ubuntu desde USB

Si tienes una versión de Ubuntu 9.04 o superior, puedes crear un USB de instalación de la última versión de Ubuntu en ese momento o de cualquier otro sistema. El problema es que el USB Creator tiene un pequeño fallo que hace saltar el siguiente error al arrancar el PC desde dicho USB:

SYSLINUX 3.63 Debian-2008-07-15 EBIOS Copyright (c) 1994-2008 H. Peter Anvin
Unknown keyword in configuration file
boot:

Esto sucede porque la versión de Syslinux tiene un bug fácilmente solucionable. Simplemente habría que desinstalar el propio Syslinux así como el USB Creator:

sudo apt-get remove syslinux usb-creator-gtk usb-creator-common

Una vez hecho esto, nos descargamos la última versión de Syslinux como paquete instalable .deb de esta web. Hay que poner atención a la arquitectura del Linux que tengas instalado: AMD64 (procesadores de 64 bits) o i386 (procesadores de 32 bits). Con un doble click en dicho .deb se instalará y entonces procedemos a instalar de nuevo el USB Creator:

sudo apt-get install usb-creator-gtk

Si ahora volvemos a abrir Sistema > Administración > Creador de discos de arranque para crear nuestro USB con Ubuntu para una nueva instalación desde el mismo, veremos que ahora sí funciona perfectamente y podemos instalar el sistema sin ningún problema.

Resumen

Desinstalar Syslinux y USB Creator:

sudo apt-get remove syslinux usb-creator-gtk usb-creator-common

Descargar e instalar última versión de Syslinux de esta web.

Reinstalar USB Creator:

sudo apt-get install usb-creator-gtk
Publicado en Bitácora, Linux, Microsoft

Mac OS vs Windows vs Ubuntu: disco duro USB

WD Elements

Hoy (por ayer) me he comprado un disco duro USB de 500 GB, un WD Elements de 2.5″ sin alimentación externa (para poder enchufarlo al USB de mi coche) y con una peculiaridad interesante: funciona con Windows XP/Vista/7 y con Mac OS X Tiger/Leopard, lo último en compatibilidad, o eso pone en la caja, porque la realidad es bien distinta.

Me ha acompañado Jonás a comprarlo así que al llegar a su casa lo intentamos probar en su MacBook con Mac OS X Snow Leopard. Lo enchufamos, lo reconoce perfectamente pero… no permite escribir en él. Hemos intentado de todas las maneras posibles y no había forma de poner ni un solo fichero. Así que hemos desistido.

Pero no nos hemos rendido y lo hemos enchufado a un PC de su casa con Windows XP. Reconoce que hay un nuevo hardware conectado… pero no lo puede instalar. Así que otro intento frustrado ya que no aparecía en Mi PC y no podíamos acceder a él. Finalmente me he venido a casa.

Una vez en el hogar, lo he enchufado a mi PC con Ubuntu Linux 8.04 Hardy Heron (un sistema operativo ya bastante viejo con 3 versiones superiores) y no solo lo ha reconocido sin ningún tipo de problema sino que además he podido cortar, copiar y pegar ficheros sin ningún problema.

Conclusión (fanatismo): Ubuntu le mea en la cara a Mac OS y a Windows, otra vez.

NOTA: El sistema de ficheros que venía por defecto en el disco duro era NTFS, el estandar de Windows.

Y para colmo en la web pone:

Plug-and-play simplicity – Just plug it into a USB port and you’re up and running instantly.

Publicado en Frikis, Tecnología

Bola eléctrica USB

Como sois todos unos malnacidos, insensibles e hipócritas (luego explico esto) he tenido que hacerme yo a mi mismo un regalo por el Día del Orgullo Friki (¿hay algo más friki que regalarse algo conmemorando algo así y encima a sí mismo?). Después de darle muchas vueltas y analizar diferentes tonterías me decanté por esta bola eléctrica USB. Lo sé, no hace falta que digas nada, soy lo peor:

Por si acaso en el vídeo no se ve muy bien, unas fotos:

Sigue leyendo «Bola eléctrica USB»