Bueno hace tiempo pedí información sobre cómo poder usar un router con OpenWrt para hacer de servidor samba y así poder cargar los juegos de la PS2 a través del router (por LAN) sin necesidad de PC alguno.
El usuario
venturi me preguntó si podía realizar un turotial de como lo realice, y aquí lo tenéis.(Se que he tardado, pero los exámenes y la celebración de ellos me han tenido ocupado)
Ahora vamos a hablar acerca del tutorial, lo voy a dividir en varias partes. La primera los requisitos, todo lo necesario para poder realizar el tutorial (o almenos lo que he usado yo). La segunda configuración del router relacionada con samba. Y la tercera la configuración de la PS2. Recomiendo leerlo todo antes de hacer nada.
1.- Requisitos:
- Router con OpenWrt y con al menos 1 puerto USB
- HDD/Pendrive de gran capacidad(1)
- Cable Ethernet directo(2)
- Una PS2, con puerto Ethernet, OpenLoader y uLaunchELF instalado(3)
- Un pendrive/HDD/PSP/MP3/MP4/Móvil formateado a FAT32(4)
(1)-Si usamos un USB que sea de gran capacidad (>16GB, cada juego ocupa alrededor de 3,5GB)
Los formatos recomendables para el HDD/USB sería ext2/ext4 por el tema que el router lo leerá mas rápido y ademas nos permite guardar archivos mas grandes de 4Gb.Con ext2/ext4 perderíamos la posibilidad de copiar los juegos desde windows, pues windows no reconoce estos formatos!.
Si no hay mas remedio se puede usar NTFS como formato, pero el rendimiento de lectura no será tan bueno como con ext2/4.
Como no recomendable estaría FAT32, pese que la lectura también sería rápida, habría juegos que los tendríamos que dividir en dos partes para poder leerlos, ya que FAT32 no admite archivos mayores a 4Gb.
(2)-Como el router/swith es un dispositivo diferente a la PS2(diremos que se puede considerar como PC), el cable para conectar la PS2 al router debe de ser
DIRECTO (suele ser el cable que tenemos por casa). Sólo en el caso que conectáramos la PS2 a un PC habría que usar un cable CRUZADO, es como si conectáramos PC con PC.
(3)- El loader que voy a usar es
OpenLoader versión
openPS2Loader-GSM0.9.2(disponible aquí).
Se que están sacando versiones beta con la funcionalidad de GSM por juegos, pero creo recordar que tocaron cosas sobre el protocolo SMB, por lo que puede que no funcione este tutorial. Probada la versión
Rev 789 Commit d871920 y funciona todo perfectamente, además ahora las .iso modificadas FUNCIONAN
.
(4)- Este pendrive lo vamos a usar para pasar a la ps2 el archivo IPCONFIG.DAT que es el que tiene guardada la configuración de red de la PS2. No es necesario que sea un usb de gran tamaño, dado que el archivo ocupa sobre 2kb, pero si es necesario que esté formateado en FAT32.
2.- Configuración del Router:
Antes de nada vamos a instalar todos los paquetes necesarios:
opkg update
opkg install luci-app-samba
opkg install kmod-usb2
opkg install kmod-usb-core
opkg install kmod-usb-ohci
opkg install usbutils
opkg install kmod-usb-storage e2fsprogs kmod-fs-vfat kmod-nls-cp437 kmod-nls-iso8859-1
opkg install swap-utils
opkg install ntfs-3g kmod-fs-ext4
opkg install block-mount
Con esto hemos instalado samba, los paquetes necesarios para el funcionamiento de dispositivos USB y la compatibilidad con los sistemas de ficheros ext2/3/4, FAT32 y NTFS.
Bueno ahora conectamos nuestro HDD o pendrive y reiniciamos el router para que cargue todos los módulos.
reboot
Una vez reiniciado tecleamos:
block info
Y nos aparecerá una lista de todos los dispositivos conectados al router, dejo un ejemplo:
root@OpenWrt:~# block info
/dev/mtdblock2: UUID="f606fbe4-5e0e9cff-a0add6f6-61cab762" VERSION="4.0" TYPE="squashfs"
/dev/mtdblock3: TYPE="jffs2"
/dev/sdb5: VERSION="2" TYPE="swap"
/dev/sdb6: UUID="cdfeefaa-a622-d001-00f8-e9aaa622d001" LABEL="SYSTEM" NAME="EXT_JOURNAL" VERSION="1.0" TYPE="ext4"
/dev/sdb7: UUID="fae97322-b722-d001-d0c1-7222b722d001" LABEL="DATA" NAME="EXT_JOURNAL" VERSION="1.0" TYPE="ext4"
root@OpenWrt:~#
Tenemos que identificar que partición es nuestro disco duro, por ejemplo yo voy a usar la
/dev/sdb7. Como podemos leer tiene como nombre "DATA" y la partición es de formato "ext4". Es muy recomendable que cuando formateemos el HDD/pendrive le pongamos un nombre que sea fácil de identificar. En mi caso yo le llame "
DATA".
MAS INFO: Todos los dispositivos conectados se llamarán "sd
xy", donde
x es una letra que identifica el disco duro físicamente, si tenemos dos el primero será sd
a y el segundo sd
b. La
y es un numero que identifica la partición de nuestro disco duro. Si solo tenemos 1 partición y es el primer disco duro sería "sda1.
Bueno tomamos nota de que partición vamos a usar (si solo tenemos un disco duro conectado con 1 sola partición es muy probable que sea /dev/sda1)
Ahora vamos a crear la carpeta donde montaremos la partición
mkdir /mnt/disco
Con esto hemos creado una carpeta llamada disco, este es el nombre que le he puesto yo, podéis usar otro distinto.
Ahora vamos a hacer que la partición se monte automáticamente al incio. Para ello necesitamos modificar el archivo
rc.localvi /etc/rc.local
Añadimos al final las siguientes lineas, pero antes del "exit 0"
mount -t "tipo_particion" /dev/"particion" /mnt/disco -o rw,sync
A mi me quedaría así:
# Put your custom commands here that should be executed once
# the system init finished. By default this file does nothing.
mount -t ext4 /dev/sdb7 /mnt/disco -o rw,sync
exit 0
Antes de poder crear carpetas, necesitamos montar la partición, esto solo se realiza una vez, pues en el paso anterior hemos echo que se automonte al iniciar el router.
mount -t ext4 /dev/sdb7 /mnt/disco -o rw,sync
Creamos la carpeta que compartiremos por SMB, y donde pondremos las .iso con los juegos
mkdir /mnt/disco/PS2SMB
mkdir /mnt/disco/PS2SMB/DVD
mkdir /mnt/disco/PS2SMB/CD
Si nos fijamos los juegos que sean CD irán a la carpeta /PS2SMB/CD y los que sean DVD irán a la carpeta PS2SMB/DVD.
Ahora que tenemos montado el HDD/pendrive y creadas todas las carpetas, vamos a añadir samba al inicio e iniciarlo.
/etc/init.d/samba enable
/etc/init.d/samba start
Con la primera linea añadimos samba al inicio y con la segunda lo iniciamos.
Bueno ahora solo queda crear un usuario para la autentificación.
Primero añadimos el usuario al sistema, editando el fichero
passwdvi /etc/passwd
Añadimos al final lo siguiente
ps2:*:1000:65534:ps2:/mnt/disco/PS2SMB:/bin/ash
Fijaros que
ps2 es el nombre de usuario y
/mnt/disco/PS2SMB es la ruta donde están guardados los juegos
Os muestro como quedaría mi configuración:
root:x:0:0:root:/root:/bin/ash
daemon:*:1:1:daemon:/var:/bin/false
root:x:0:0:root:/root:/bin/ash
daemon:*:1:1:daemon:/var:/bin/false
ftp:*:55:55:ftp:/home/ftp:/bin/false
network:*:101:101:network:/var:/bin/false
nobody:*:65534:65534:nobody:/var:/bin/false
ps2:*:1000:65534:ps2:/mnt/disco/PS2SMB:/bin/ash
Añadimos contraseña al usuario que acabamos de crear
passwd ps2
Nos pedirá que introduzcamos la contraseña 2 veces.
Si todo a salido bien debería de apareceros esto:
root@OpenWrt:~# passwd ps2
passwd: no record of ps2 in /etc/shadow, using /etc/passwd
Changing password for ps2
New password:
Retype password:
Password for ps2 changed by root
root@OpenWrt:~#
Ahora añadimos la contraseña de samba al usuario, poner la misma que antes.
smbpasswd -a ps2
Si todo a salido bien deberíais de ver lo siguiente:
root@OpenWrt:~# smbpasswd -a ps2
New SMB password:
Retype SMB password:
root@OpenWrt:~#
Una vez creado el usuario
ps2 vamos a hacerlo propietario de la carpeta
PS2SMB. Este paso es importante, por que sino
ps2 no tendrá permisos ni para leer ni para escribir en cualquier carpeta.
chown -R ps2 /mnt/disco/PS2SMB
chown -R ps2 /mnt/disco/PS2SMB/*
Con los usuarios configurados solo queda indicarle a samba que carpetas queremos compartir.
Para ello debemos de editar el fichero
sambavi /etc/config/samba
Yo tengo lo siguiente:
config samba
option name 'HG553'
option workgroup 'WORKGROUP'
option description 'patata'
option homes '0'
config sambashare
option name 'PS2SMB'
option path '/mnt/disco/PS2SMB'
option read_only 'no'
option writeable 'yes'
option create_mask '0777'
option dir_mask '0777'
option guest_ok 'no'
option users 'ps2'
Explico:
option name 'HG553' -------------->Nombre que le queremos poner al router
option workgroup 'WORKGROUP' ----->Grupo de trbajo de nuestra red
option description 'patata' ------>Breve descripción
config sambashare
option name 'PS2SMB' ------------->Nombre que tendrá el directorio compartido, poner este
option path '/mnt/disco/PS2SMB' -->Localización de la carpeta a compartir
option read_only 'no' ------------>Indicamos que no será solo de lectura (vamos a escribir, eje: guardado de partidas)
option writeable 'yes' ----------->Indicamos que se puede escribir
option create_mask '0777' -------->Permisos por defecto de un archivo si el usuario ps2 lo crea
option dir_mask '0777' ---------->Permisos por defecto de una carpeta si el usuario ps2 la crea
option guest_ok 'no' ------------->No permitimos invitados
option users 'ps2' --------------->Indicamos que usuario es el dueño.
Bueno todo lo relacionado con el router ya esta
, reiniciamos el router para que cargue toda la configuración nueva
reboot
NOTA: para comprobar que todo el proceso realizado esta bien abrimos el explorador de archivos (windows) y escribimos en la barra de direcciones "\\+IP de nuestro router"
\\192.168.2.1
Si hemos echo todo el proceso bien, veremos la carpeta ps2smb
Al entrar en ps2smb veremos que necesitamos autenticarnos, introduciremos ps2 y su contraseña
Si da como correcto el usuario y contraseña, mostrará la carpeta PS2SMB que en teoría solo contendrá CD y DVD
NOTA: Podemos aprovechar ahora y pasar algún juego al HDD para así poder probarlo mas tarde. Ver mas abajo en que formato hay que pasar los juegos.
3.- Configuración de PS2:
Abrimos el bloc de notas/Notepad++ y escribimos la configuración de red que tendrá la PS2:
IP MASCARA IPROUTER
y lo guardamos como IPCONFIG.DAT (es importante las mayusculas).
Un ejemplo, yo en mi red uso el rango de ips 192.168.2.0/24 . Si no estas seguro que ip darle a la ps2 coloca una bien alta como .240
192.168.2.10 255.255.255.0 192.168.2.1
Una vez guardado el archivo IPCONFIG.DAT lo guardamos en un pendrive con formato FAT32.
Encendemos la PS2 y entramos a uLaunchELF
Y copiamos el archivo IPCONFIG.DAT de mass:/ a mc0:/SYS-CONF/
Una vez copiado el archivo, ya podemos salir y extraer el pendrive.
Ahora encendemos la PS2 y entramos en el OpenLoader
Entramos en Network config y veremos que la parte que pone - PS2 - ya esta configurada.
En la parte de -PC- ponemos:
IP: la del router (192.168.2.1)
Port: dejamos el que esta (445)
Share: borramos todo lo que haya (se configura solo)
User: nuestro usuario de SMB (ps2)
Password: la contraseña del usuario
Con todo esto le damos a OK
Estando en el menú vamos a Settings
Bajamos hasta ETH device start mode y lo ponemos en AUTO
Y en Default menu en ETH Games
Ya le podemos dar a OK
En el menú de nuevo guardamos los cambios con "Save changes" y salimos y volvemos entrar.
Cuando vuelva a entrar veremos que el programa va solo a la pestaña "ETH Games" y que vemos la carpeta PS2SMB si entramos en ella veremos los juegos.
4.- Anexo:
Solo se aceptan formatos .iso y
la imagen no puede haber sido modificada, es decir no van a funcionar juegos que eran CD y han sido parcheados para grabarlos en un DVD. Tampoco funcionaran mods en juegos como el san andreas PTMG. (en la versión 0.9.2) SOLO en la versión nigtly (Rev 789 Commit d871920) las .iso modificadas funcionan.Solo se leerán las .iso que tengan como nombre el siguiente patrón:
código_juego.
nombre.
iso BIEN:
SCUS_973.28.
GT4.
isoMAL:
SCUS-973.28.
GT4.
ISOEl nombre (GT4) es lo que se verá en la lista de juegos y no puede superar los 32 carácteres.
¿Cómo obtengo el código del juego?
Existen listas por internet, ver en la epigrafía del disco, en el lateral de la caratula. Pero el método que siempre me ha funcionado es abrir la .iso con winrar,Ultraiso o descomprimirla y en la raiz de la .iso veremos un archivo llamado SLES_XXXX o SCUS_XXXX ese es el código.
- Mas información sobre OpenLoader:
Existe una guía creada por
El_Patas donde podéis ver mas a fondo toda la configuración acerca de OpenLoader. (esta en español)
guia --->
http://www.el_patas.byethost10.com/opl/index.html
Fuentes:
https://foro.seguridadwireless.net/openwrt/instalacion-%28facil%29-de-openwrt-en-huawei-553/ (apartado de Samba)
http://www.el_patas.byethost10.com/opl/display.html (configuración de openloader)