Archivos en la categoría 'Tips'

AAC-364/DELL2 (PERC2), administración en GNU/Linux

Martes, Marzo 11th, 2008

Hace exactamente un año que encontré en el rastro esta pedazo de controladora RAID SCSI en el rastro y que la instalé en mi server con una configuración RAID5 redundante de 3 discos de 9.1Gb 10.000 rpm y hoy por casualidad, trasteando con un juguete que pronto publicaré he conseguido acceder (por fin, llevaba tiempo peleandome) a la ‘administración en vivo’ de la controladora, es decir, poder conectar, desconectar discos, crear gestionar y eliminar contenedores y un sin fin de tareas sin necesidad de apagar/reiniciar el ordenador.

Para ello después de mucho surfear por las infinitas páginas que contiene la web de soporte de Dell conseguí encontrar la utilidad mágica, afacli, disponible desde la web de Dell desde aqui.

La utilidad viene empaquetada como rpm, pero por suerte alien realiza una conversión estupenda del paquete a deb. Quien utilice Redhat o distribuciones con el gestor de paquetes rpm no necesita hacer la conversión a deb. Es necesario tener libncurses4 para que funcione la utilidad de gestión de la controladora.

Una vez instalado nos topamos con el problema de que la utilidad busca la controladora como /dev/afa0, pero este dispositivo por defecto no suele existir en las máquinas linux, por lo que hay que crearlo manualmente. Para ello el paquete que hemos instalado incluye un script llamado MAKEDEV.afa que se ha instalado en /dev y que procederemos a ejecutar de la siguiente manera:

# cd /dev
# MAKEDEV.afa afa0

Si este procedimiento fallara (normalmente por no encontrar menciones al dispositivo que busca, ‘afa’) bastaría con editar el script MAKEDEV.afa y cambiar la linea #2 (variable devname) por:

devname=”aac”

De modo que el script pueda reconocer el dispositivo (usa un cat /proc/devices) y crear así el dispositivo con mknod. Si todo ha ido bien, tendremos un bonito /dev/afa0 que será perfectamente reconocido por afacli y ya podremos gestionar la controladora en vivo sin necesidad de reiniciar el equipo.

P.D: Este artículo es válido tanto para PERC2 como PERC3/Di (probado en ambos).

Modeando la Xbox para un arranque Dual (2 BIOS)

Domingo, Febrero 10th, 2008

Pues bien, como ya dije anteriormente, el HyperX tiene un switch que nos permite seleccionar que bios arrancar, pero con el inconveniente de que este conmutador se haya en el propio modchip, por lo que si en cualquier momento quisieramos cambiar de bios, tendríamos que abrir la Xbox y darle al conmutador.

La verdad es que es una escena jodida si trasteas mucho con la consola como me sucede a mi, por lo que he decidido poner el conmutador fuera, muy a mano para cambiarlo en cualquier momento y muy escondido para evitar dañar la estética de la consola.

Pegado del conmutador en el plástico frontal

Este es el conmutador que he empleado, uno normal de palanquita y dos posiciones. Está pegado a esa rendija en concreto porque en el plastico de la caja principal hay espacio para el conmutador. En otras rendijas no se puede montar.

Vista inferior de la rendija de ventilacion con el interruptor

Esta es la vista inferior del conmutador, bien centradito.

Vista Frontal del panel frontal de la consola, con el conmutador asomando por debajo

Y esta es la vista frontal. Como se aprecia, el conmutador de BIOS estará a mano bajo el logotipo de M$ (vaya ironía) y solo sobresaldrá un poco, no dañando así la estética de la consola.

Modchip sin conmutador, con los cables del conmutador frontal

Este es mi modchip, el HyperX. Le he desoldado con cuidado el conmutador que venía soldado en la plaquita y en su lugar le he soldado los 3 cables que provienen del conmutador que está instalado en el frontal.

A la hora de realizar el montaje he seguido este orden:

  1. He soldado 3 cables largos al conmutador que iba a instalar en el frontal.
  2. He pegado con pegamento de cianocrilato el conmutador al frontal de forma que la palanquita asome hacia afuera por una de las rendijas de ventilacion y no roce/tropiece con el plastico de la carcasa.
  3. He montado el frontal y pasados los cables todos por el mismo agujero, el que originalmente estaba para los cables del panel frontal (botonera y leds).
  4. Con el modchip fuera de la consola para un trabajo mas seguro y cómodo he desoldado el conmutador original que venía con el modchip (nunca se sabe que puede pasar, como caerse una gota de estaño en la circuitería de la consola jodiendola con un corto).
  5. He solado los 3 cables provenientes del conmutador que he instalado en el frontal al modchip en el lugar donde estaba antes el conmutador que venía de serie.

Antes de cerrar la consola, es conveniente conectarla a la TV para comprobar que el modchip y el mod del conmutador frontal funcionan adecuadamente.

Problemas y soluciones

Domingo, Febrero 10th, 2008

A mi me encanta trastear y no pensando en otra cosa chipee la xbox para poder tener un sistema dual que consistia en el firm de xbox y en el firm cromwell, para jugar/trastear y cargar linux respectivamente.

Desgraciadamente hace un par de días no sabía nada de nada sobre la xbox, ni tampoco sobre el modchip que le puse (el HyperX, que al parecer es un clon bastante mejorado del modchip DuoX 2 GS).

Para mi han sido dos días muy intensos de leer tutoriales que a pesar de no llevarme a ningún lado me han dado ideas y conocimiento sobre la comprensión de la consola (y los que aún me quedan por venir).

El problema con el Hyper X

Cuando adquieres este modchip viene originalmente grabado en cada uno de los dos bancos de memoria una versión propia del flashbios de team-xecuter.com que sirve como punto de partida y como herramienta para grabar otras bioses que queramos, es decir desde aqui podemos facilitarle el archivo de bios.bin que queremos grabar en la flash y la propia flashbios se sobreescribirá con la bios.bin que le hayamos dado:

Pantalla de Bios básica del HyperX

En un principio grabé en uno de los bancos y de forma exitosa Cromwell 2.40 para el arranque de linux y mas tarde descubrí que el supuesto interruptor al cambiarlo de posición no apagaba la bios, si no que me devolvía a la pantalla inicial para flashear la bios.

En este punto de dio por probar si realmente se flasheaba de nuevo y le metí una flashbios 3.0.3 original, sin saber que estaba diseñada para el modchip Xecuter3. De este modo la pantalla cambia un poco pero se parece bastante a la del HyperX:

Pantalla de Flashbios 3.0.3 similar a la Bios de HyperX

Hasta aqui bien. Pensé que podía hacer con la flash del modchip lo que quisiera. El problema vino cuando traté de reflashear again este banco de memoria usando el propio flashbios 3.0.3 que al haber sido diseñado para el Xecuter3 no soportaba la memoria flashrom que HyperX usa imposibilitando así poder grabar nada.

Por suerte encontré un disco que unas personas que se hacen llamar Eurasia hicieron en su día. Se trata de Eurasia pro generic flash disc 1.3 y que es una minilive de linux compuesta de dos archivos, vmlinux e initrd.gz. Esta minilive arranca tanto desde cromwell (tiene un bootlinux.cfg) como desde cualquier modchip capaz de arrancar software no firmado por microsoft (default.xbe) por lo que arrancar esta utilidad de flashing no supondrá un problema para cualquier xbox chipeada. Eso si, no se si es por mi lector de dvds o que pero la consola no me reconocía el disco grabado ni en CDR ni en DVD-R, al final he conseguido que arranque desde un CDRW.
Una vez arrancada, nos pide un disco que tenemos que haber preparado previamente conteniendo bios.bin (la bios que queremos flashear renombrada a bios.bin y en la raiz del cdrom), se lo damos y automaticamente grabará en la flash la bios que habíamos introducido en el cdrom.

En mi caso (banco 1: cromwell, banco 2: nada) para poder arrancar con una bios y formatear la otra, he tenido que encender con la bios cromwell y dejarla esperando en el menu para desconectar el modchip, cambiar el conmutador de bios y volver al conectarlo. Hecho esto he arrancado el CD de eurasia pro flasher y flasheado el banco dos donde tenía solamente un inutil flashbios3.

Cambiando el disco duro por otro de más tamaño

No tenía en mente jugar los juegos de la xbox, solamente usarlo con linux, pero a la hora de instalar GentooX Multimedia Center el instalador daba un error referente a formatear y montar una de las particiones del disco debido a que el disco nuevo que habia metido sin preparar previamente no estaba adecuadamente particionado/formateado.

Leí muchos tutariales sobre el Slayers2.5 (un disco lleno de utilidades entre las que estaba ambiar el disco duro) pero no pude usarlo ya que no podía arrancar discos para xbox (solo tenía cromwell) por lo que si lo hacía, tenía que hacerlo sin usar la xbox ni ningún pirateo.

Desbloquee la contraseña del disco duro de la Xbox usando cromwell (en el menú avanzado), lo extraje de la xbox y lo conecté a un adaptador externo usb para conectarlo al ordenador (no me gusta nada tener que apagar y desmontar el ordenador). Una vez conectado, usé un programa sencillo que se llama HDD_driver y que sirve para hacer copias de seguridad del disco duro.

Para hacer una backup con hdd_driver hay que ignorar el mensaje de ‘error filesize’ (no darle al ok), y seleccionar backup desde el menu. Seleccionamos donde queremos guardar la copia de seguridad y aceptamos. Tardará un huevo y la llema del otro en hacer la copia. Cuando haya acabado ya podemos deshacernos del disco duro original y pasar a preparar el nuevo disco duro.

Tengo entendido que la xbox da problemas con los discos mayores a 140Gb, en mi caso he puesto uno de 60Gb por lo que no he tenido problemas: lo primero que hay que hacer es conseguir que hdd_driver reconozca el nuevo disco duro como disco de xbox, y para ello he tenido que hexeditar el disco duro basandome en este tutorial (step 6, abrir disk, desplazar 3 veces pulsando -> y en la primera linea al principio, añadir BRFR en el editor ascii para que en el editor hex aparezca 4252 4652). Una vez hexeditado, volvemos a abrir el hdd_driver, volvemos a ignorar el error de filesize y ahora le damos a restaurar, seleccionamos imagen, seleccionamos todo y a volver a esperar (por fortuna es mas rápido restaurando que haciendo la copia).

Y ya está, ya podemos conectar el disco duro en la consola y linux GentooX Media center lo reconcerá, formateará adecuadamente y completará la instalación con éxito.

Hyper X Modchip a fondo

Sábado, Febrero 9th, 2008

El Modchip HyperXHay una serie de detalles que nadie explica en ninguna parte y que son MUY importantes a tener en cuenta.

El chip trae un interruptor que dicen es para encenderlo/apagarlo. FALSO. El Modchip es de los llamados duales, y es que tiene una memoria de tipo flash de 1Mb de capacidad (1024Kb) y que internamente se divide en dos bancos de 512Kb cada uno. Debido a esto en un solo modchip podemos tener dos bioses, una que por ejemplo arranque linux y otra que sirva para las copias de seguridad de nuestros juegos.

El Interruptor de encendido/apagado NO es lo que dicen ser. Es un selector de bancos. En una posicion usaríamos el banco 1 para arrancar y en la otra posición usaríamos el banco dos.

Por eso es muy importante a la hora de flashear la bios tener en cuenta el tamaño de la bios que vamos a utilizar a pesar de que nos insistan de que la bios es de 1Mb. Al estar dividida la memoria en dos, el tamaño que tenemos que utilizar es de 512Kb.

Otro detalle a tener en cuenta es el conector que trae y que apunta hacia arriba. Este conector es en realidad un conector para pinchar el modchip en el mismo sitio en el caso de que hayamos soldado los pins como se requiere para otros modchips.

En resumen, este es un chip bastante bueno que soporta todas las bios y muy configurable que se instala en cualquier xbox con cero soldaduras al módico precio de 14.90€.

Instalando un servidor/demonio DHCP

Viernes, Febrero 8th, 2008

La verdad es que facilita mucho conectar maquinas nuevas en red si se omite la configuración manual de las interfaces de red que se quieren conectar fijandolas a configuración automática (esto es, que piden la ip a un servidor dhcpd que tiene que estar instalado en nuestra red local)

Al no tener un router como cualquier internauta si no un servidor que haces las veces de router no tengo un formulario que me permita marcar ‘habilitar dhcpd’ en la red de area local, por lo que me toca instalar el demonio manualmanete (debian):

# apt-get install dhcp

Tan sencillo como eso. Para configurarlo hay que editar primero el archivo /etc/default/dhcp y en la opción INTERFACES (seguramente esta sea la única opción de este archivo) listaremos, separadas por espacios, las interfaces en las que queremos que funcione dhcpd. En mi caso mi servidor tiene 3 interfaces y solo hay dos opciones, o configuro un servidor dhcp para cada una de ellas o le digo a dhcp que trabaje unicamente en una o dos o X interfaces:

# On what interfaces should the DHCP server (dhcpd) serve DHCP requests?
# Separate multiple interfaces with spaces, e.g. “eth0 eth1″.
INTERFACES=”eth1″

En mi servidor eth0 es la puerta a internet y eth1 es la red de area local por lo que estoy diciendo a dhcpd que trabaje solamente en mi intranet.

El siguiente y último paso es editar el /etc/dhcpd.conf para que funcione según queramos. Esta es mi configuración:

option domain-name-servers 62.42.230.24,62.42.63.52;
default-lease-time 600;
max-lease-time 7200;

subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.230 192.168.0.254;
option broadcast-address 192.168.0.255;
option routers 192.168.0.10;
}

La primera opción son las direcciones de los servidores DNS que se otorgarán a los clientes dhcp, la segunda cuanto tiempo mínimo se tardará en renovar cada asignación, la tercera cuanto tiempo máximo se tardará en renovar cada asignación y la cuarta indica una configuración para una red concreta (que viene determinada por la dirección de red y la máscara de subred).

Dentro de esta última están las opciones range que sirve para determinar que rango de ips se usarán para asignar a los clientes, la dirección de broadcast y la dirección de puerta de enlace que se asignarán a los clientes. Las dos últimas son opcionales.

Después de todas esta configuración ya debería de arrancar el demonio dhcp:

# /etc/init.d/dhcp start
Starting DHCP server: dhcpd.

Nota: Por defecto el paquete instalador de debian no añade al arranque el demonio dhcp.