Archivo de septiembre de 2009

Reflexiones con y sin Stencil Buffer.

Miércoles, 30 de septiembre de 2009

1. Primera parte de Stencil Buffer.

Esta es la continuación de uno de mis trabajos de informática gráfica de la Universidad Complutense de Madrid, al final tengo el código que podéis compilar en cualquier compilador C++, aunque previamente tendréis que averiguar como instalar las librerías necesarias. Mi codigo esta compilado con el C++Builder en modo consola.

Sin stencil.

Esquema general de las transparencias.

Esquema general de las transparencias.

El algoritmo de creación de reflexiones sin Stencil es muy simple. El algoritmo de la reflexión mas simple es cuando el espejo esta en cualquiera de los planos XY, XZ, YZ. Simplemente dibujamos otro objeto idéntico detrás de este plano transparente.  El algoritmo es el siguiente:

1.    Cargamos la matriz de modelado y damos las coordenadas de la vista:

glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
gluLookAt(   0.0f, 3.0f, 7.0f,
0.0f, 0.0f, 0.0f,
0.0f, 1.0f, 0.0f);

2.    Metemos en la pila matriz de modelado:

glPushMatrix();

3.    Multiplicamos la siguiente matriz de modelado por la matriz de reflejos a través de plano XZ, que lo único que hace es negar las coordenadas Y.

glScalef(1.0, -1.0, 1.0);

Si fuera otro plano aleatorio deberíamos de calcular la matriz nosotros mismos y después multiplicar la matriz de modelado por esta matriz. El algoritmo de cálculo de la matriz (4 x 4) a partir del punto del plano y su normal es el siguiente:

void mirrorMatrix(GLfloat& m[4][4], // Matriz resultante.
GLfloat p[3], // Punto del plano.
GLfloat v[3]) // Vector perpendicular al plano.
{
GLfloat dot = p[0]*v[0] + p[1]*v[1] + p[2]*v[2];
m[0][0] = 1 – 2*v[0]*v[0];
m[1][0] = – 2*v[0]*v[1];
m[2][0] = – 2*v[0]*v[2];
m[3][0] = 2*dot*v[0];
m[0][1] = – 2*v[1]*v[0];
m[1][1] = 1 – 2*v[1]*v[1];
m[2][1] = – 2*v[1]*v[2];
m[3][1] = 2*dot*v[1];
m[0][2] = – 2*v[2]*v[0];
m[1][2] = – 2*v[2]*v[1];
m[2][2] = 1 – 2*v[2]*v[2];
m[3][2] = 2*dot*v[2];
m[0][3] = 0;
m[1][3] = 0;
m[2][3] = 0;
m[3][3] = 1;
}

Después lo único que tendríamos hacer es multiplicar la matriz de modelado por esta matriz.

glMultMatrixf(&matriz[0][0]); //Le pasamos dirección de nuestra matriz.

4.    Si dibujamos caras traseras tenemos que dibujar caras frontales.

glCullFace(GL_FRONT);

5.    Dibujamos nuestra escena debajo del plano XZ:

dibujaEsfera();

6.    Reestablecemos el modo de dibujado de caras y retiramos la matriz de modelado.

glCullFace(GL_BACK);
glPopMatrix();


7.    Dibujamos el plano transparente entre las dos esferas:

glEnable(GL_BLEND);
glBlendFunc(GL_ONE, GL_ONE);
dibujaSuelo();
glDisable(GL_BLEND);

8.    Finalmente dibujamos nuestra escena.

dibujaEsfera();

Las limitaciones de este sistema son evidentes. Tenemos que limitar nuestra vista para que no mire detrás de nuestro espejo. Otra limitación es pensar que ocurriría si tenemos más de un espejo. Solo lo podríamos usar bien en planos infinitos que no siempre son posibles. El resultado es este:

La transparencia cutre, abajo podeis divisar la esfera en si.

La transparencia cutre, abajo podeis divisar la esfera en si.

Con stencil.

Con stencil el algoritmo descrito anteriormente casi no cambia los pasos. La diferencia crucial es que etiquetamos cada espejo con un identificador. Cuando una reflexión es renderizada el algoritmo lo que hace es actualizar los píxeles que coincidan con el identificador de la superficie. Para actualizar el algoritmo lo primero que tenemos que hacer es crear una ventana que soporte Stencil Buffer. En el bucle principal tenemos que limpiar los buffers y renderizár la escena con stencil buffer desabilitado.

glClearStencil(0);
glClearColor(0.0, 0.0, 0.0, 1.0);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT  |  GL_STENCIL_BUFFER_BIT);
glEnable(GL_DEPTH_BUFFER_BIT);
glDisable(GL_STENCIL_TEST);
dibujaEscena();

Despues para cada espejo tenemos que seguir estos pasos:

1.    Crear el buffer con el valor 1, siempre cuando el buffer de prifundidad es pasado. Desabilitamos escritura en el buffer del color y finalmente dibujamos el espejo.

glEnable(GL_STENCIL_TEST);
glStencilOp(GL_KEEP, GL_KEEP, GL_REPLACE);
glStencilFunc(GL_ALWAYS, 1, ~0);
glColorMask(0,0,0,0);
dibujaSuelo();

Este paso etiqueta cada espejo con valor 1, el test de profundidad es para que los pixels no visibles no sean etiquetados.

2.    Con el “color buffer” desabilitado ,  establecemos un rango de profundidad para escribir los valores mas lejanos posibles para todos los pixeles actualizados y que buffer de profundidad siempre pase. Establecemos stencil que solo actualize pixels etiquetados con valor 1. Dibujamos los poligonos del espejo.

glDepthRange(1,1);
glDepthFunc(GL_ALWAYS);
glStencilFunc(GL_EQUAL,1 , ~0);
glStencilOp(GL_KEEP, GL_KEEP, GL_KEEP);
dibujaSuelo();

Este paso reajusta buffer de profundidad a su maximo valor por defecto para todos los pixeles visibles.

3.   Restauramos profundidad y color para sus valores estándar.

glDepthFunc(GL_LESS);
glColorMask(1,1,1,1);
glDepthRange(0,1);

Ahora ya estamos listos para renderizar la reflexion en si. Los pixeles que pertenecen a la reflexion son etiquetados con el valor 1, pero al mismo tiempo tienen el maximo valor de profundidad. La operación GL_LESS (menor que test de profundidad) asegura el correcto dibujado de la escena (Hace que la reflexion no se vea).

4.    Ahora tenemos que dibujar la escena al otro lado del plano, Para el ejemplo solo negare la coordenada Y porque el espejo esta en el plano XZ:

glPushMatrix();

glScalef(1.0, -1.0, 1.0);

dibujaEsfera();

glPopMatrix();

Basicamente el algoritmo es este aunque cambia si queremos añadir mas espejos. Yo añadí al final el renderizado del espejo en si con una función de transparencia porque, no se veía el espejo en si, solo el reflejo.

glEnable(GL_BLEND);
glBlendFunc(GL_ONE, GL_ONE);
dibujaSuelo();
glDisable(GL_BLEND);

El resultado de los dos algoritmos es el siguiente, en la primera imagen se ve claramente que debajo del plano simplemente hay otra esfera. La imagen de la derecha se parece mas a un reflejo de verda aunque no muy conseguido, ya que no tiene texturas:

Transparencia con Stencill Buffer. Podeis observar que debajo del plano no hay ninguna esfera.

Transparencia con Stencill Buffer. Podeis observar que debajo del plano no hay ninguna esfera.

Aqui teneis codigos de ambos ejemplos en c++, tambien viene una carpeta con librerias, sinceramente ya no me acuerdo como instalarlo y menos si se podria instalar en compliladores que no son C++Builder. Seguramente para DevC++ o GCC hay manuales a parte:

Generación de sombras y reflejos con stencil buffer parte 1.

Lunes, 28 de septiembre de 2009

Este es parte de mi trabajo sobre la generación de Sombras con Stencill Buffer para la informática gráfica:

Sin Stencil a la izquierda y con Stencil a la derecha. A la izquierda simplemente hay una esfera debajo...

Con Stencil a la izquierda y sin Stencil a la derecha. A la derecha simplemente hay una esfera debajo, es la forma mas simple de crear reflejos.

Introducción.

No hace mucho tiempo en los inicios de juegos en 3 dimensiones la programación visual de los juegos era básicamente: aplicar texturas sobre polígonos, dibujarlos en la pantalla y que el buffer de profundidad haga el resto. Por eso quizás todos los juegos o básicamente su mayoría se parecían en mayor o menor medida. Seguramente tendrían diferencias en la jugabilidad, diseño, sonido o juego en red. Pero la mayor diferencia siempre esta en el aspecto visual y así seguirá hoy y en el futuro.

Dos efectos que hacen diferenciar y aumentar la calidad del aspecto visual del juego son reflexiones y sombras. Este trabajo esta enfocado en técnicas de creación de sombras usando Stencil Buffer.

Stencill Buffer es una memoria intermedia que analiza y actualiza píxeles (con sus operaciones) junto con “depth buffer” o buffer de profundidad.  Añade planos de bits adicionales para cada píxel además de los bits de color y profundidad.

Para comprender mejor Stencil Buffer se puede pensar que simplemente etiqueta los píxeles en la interpretación o renderización de la escena en la pantalla para controlar las siguientes interpretaciones. Los pasos son siguientes:

  1. Dada una escena con una sombra fija. Los píxeles de la escena se podrían considerar con “dentro” de la sombra o “fuera”. Asumimos que podemos etiquetar cada píxel apropiadamente.
  2. Cuando los píxeles ya son etiquetados, actualizamos los píxeles etiquetados como “dentro” de la sombra. Y renderizamos la escena con la fuente de luz desactivada.
  3. Después actualizamos los píxeles etiquetados como “fuera” de la sombra. Activamos la luz y renderizamos otra vez.
Figura 1. Stencil Buffer.

Figura 1. Stencil Buffer.

Prueba “Stencil” por píxel.

Para explicar “Stenciling” debemos asumir la existencia de “Stencil buffer” así como explicar que es. Stencil buffer es similar al buffer de profundidad en que los dos son colección de planos de bit que no se pueden mostrar. Del mismo modo que el buffer de profundidad asocia a cada píxel de la ventana un valor de profundidad, el stencil buffer asocia su propio valor a cada píxel mostrado. Cuando el buffer de profundidad esta activado los valores de profundidad son usados para aceptar o rechazar fragmentos, del mismo modo los valores de Stencil buffer son usados para aceptar o rechazar fragmentos.

El primer paso para usar stencil buffer es inicializar la ventana que lo soporte. Mediante modulo GLAUX es fácil de hacer. Tenemos que inicializar ventana mediante esta función:

auxInitDisplayMode(AUX_DOUBLE | AUX_DEPTH | AUX_STENCIL);

Si lo hacemos mediante GLUT tenemos que usar esto:

glutInitDisplayString(“stencil>=1 rgb depth double”);

El valor “stencil” en si es un entero sin signo (unsigned int). Este entero se puede incrementar, decrementar, comparar y enmascarar. En comparación con buffer de profundidad el valor de profundidad que va de 0 a 1 no se puede decrementar, incrementar, ni enmascararlo.

Tipicamente en principio del renderizado de una escena, stencil buffer es liberado o se establece un valor por defecto. La liberación o despejado se hace junto al buffer de profundidad y de color.

glClearStencil(0);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT |  GL_STENCIL_BUFFER_BIT);

Igual que el análisis de profundidad el “stencil test” se puede habilitar o deshabilitar, cuyo resultado es que los fragmentos son descartados o van mas adelante. Cuando esta habilitado los fragmentos o píxel son probados. Si esta habilitado y el test o la prueba falla entonces el píxel o fragmento es descartado. De otra manera si el stencil test esta deshabilitado el píxel sigue su curso de procesamiento.

glEnable(GL_STENCIL_TEST);
glDisable(GL_STENCIL_TEST);

Se puede pensar que el stencil test es un obstáculo, como prueba de profundidad (depth test) o prueba de transparencia (alpha test). El stencil test es realizado después del test de transparencia y antes del test de profundidad (Figura 1). El orden de estas operaciones parece a simple vista arbitrario, en realidad es un algoritmo crucial. Los tres test (depth, alpha y stencil) realizan una comparación.

Depth: Compara valores de píxel con los almacenados en el buffer.
Alpha: Compara valores de alpha de píxel con un valor de referencia. (No existe ningún apha buffer).
Stencil: Compara los pixeles del Stencil buffer con el valor de referencia.

Afortunadamente los tres comparten 8 funciones de comparación: Nunca, Siempre, <,  <=,  >,  >=,  =, ¬ =.

La funcion de comparación en OpenGL se establece asi:

glStencilFunc(GL_EQUAL,        //Función de comparación.
0×1,                             //Valor de referencia.
0xff);                         //Mascara de comparación.

Cuando el test Alpha falla simplemente el fragmento es descartado. Cuando es aprobado simplemente sigue hacia delante. El test de profundidad es más complejo. Si el test de profundidad falla el fragmento es descartado sin ningún efecto. En el caso de que lo pasa entonces el valor de profundidad del píxel reemplaza al valor del almacenado en el buffer. El test Stencil es bastante mas complicado. Tiene tres efectos de actualización que dependen de:

  1. Stencil test falla.
  2. Stencil pasa pero depth falla.
  3. Stencil y depth pasan.

El programador puede configurar las tres operaciones dependiendo de los tres casos. Las 6 operaciones estándar (hay dos operaciones mas en realidad implementadas en direct3D)  son las siguientes:

  1. GL_KEEP: deja el valor de stencil sin modificar.
  2. GL_REPLACE: actualiza el buffer con el valor actual.
  3. GL_ZERO: limpia el valor.
  4. GL_INCR: añade uno al valor del píxel y lo actualiza en el buffer.
  5. GL_DECR: resta uno al valor del píxel y lo actualiza en el buffer.
  6. GL_INVERT: invierte los bits del valor del stencil.

Cuando los valores stencil son actualizados, se aplica una mascara de escritura “Stencil bit-mask”. Las operaciones y la mascara se establecen asi en OpenGL:

glStencilOp(GL_KEEP,    //Stencil falla
GL_DECR,    //Stencil pasa, profundidad falla
GL_INCR);    //Stencil pasa, profundidad pasa
glStencilMask(0xff);

Cuando limpiamos el Stencil buffer tenemos que entender que después se aplica la mascara a ese valor. Esto puede crear confusión cuando limpiamos los valores de pixels y obtenemos un resultado no deseado. En el caso de querer borrar los valores de todos los bit-planos de stencil tenemos que llamar a glStencilMask(~0) antes de llamar glClear.

Pero para que necesitamos el stencil buffer? Como he dicho antes para dar más realismo en los juegos intentamos introducir sombras y reflejos. Las dos cosas se pueden perfectamente hacer sin la ayuda del stencil buffer. Además  es bastante mas simple hacerlo sin el. Pero mas simple no significa mejor, ya que todas con los métodos normales tenemos demasiadas deficiencias.

Configuración inicial del Exchange 2003 en 2k3 Server.

Jueves, 24 de septiembre de 2009

Día 1:

Con el exchange se nos instalan una consola adicional:

  • Usuarios y equipos de Active Directory.

Esta consola es idéntica a la que tenemos en cualquier controlador de dominio dentro del Inicio->Herramientas administrativas->Usuarios y equipos de Active Diretory, pero con una notable diferencia, crea también un usuario dentro del Exchange.

La ubicacion de la nueva consola de Active Directory.

La ubicación de la nueva consola de Active Directory.

Antes de nada tenemos que descargar e instalar el service pack de aquí: http://www.microsoft.com/spain/exchange/areadescarga/default.aspx. Con este SP2 podemos aumentar el tamaño de la base de datos hasta los 75Gb, desde los 18Gb iniciales. Es una buena razón para instalarlo, aunque no creo que vaya a utilizar tanto.

Extracto de soporte de Microsoft:

El límite de tamaño de la base de datos en Microsoft Exchange Server 2003 Standard Edition se ha incrementado de 16 GB a 18 GB. No obstante, este límite puede aumentarse hasta un máximo de 75 GB mediante una clave del Registro.

Ahí ademas podéis encontrar un manual de como hacerlo paso a paso: Ayuda de como aumentar el limite a 75 GB de base de datos de exchange. Yo de momento no lo voy a hacer, ya que hay que estar tocando registro y no me hace mucha gracia.

Instalando el service pack me salto un error 0x8007041F algo de un Servicio Operador o algo así, justo cuando metí un pendrive para guardar el instalador. Dando a reintentar, parece que se solucionó. Por cierto la instalación tarda mucho…así que paciencia. La mala noticia es que hay que reiniciar el sistema después de su instalación. Así que tendré que dejarlo para mañana por la mañana ya que tengo la oficina llena de gente y no es plan de echar a gente del servidor cuando están en su máximo esplendor intelectual, mañana actualizare la entrada.

Aqui podemos comprobar, que tenemos el Service pack 2 instalado. Para sacar la consola tenemos que dar el boton derecho en el nombre de servidor e ir a propiedades, dentro de la carpeta servidores.

Aqui podemos comprobar, que tenemos el Service pack 2 instalado. Para sacar la consola tenemos que dar el botón derecho en el nombre de servidor e ir a propiedades, dentro de la carpeta servidores.

Día 2:

Reiniciamos el servidor y lo primero miramos el visor de sucesos, para ver alguna cosa rara, no he encontrado nada extraño, así que procedo a seguir configurándolo poco a poco, siempre según el vídeo de tooltorials.

Lo primero que tenemos que hacer es mover la base de datos de Exchange a un lugar algo mas seguro y cómodo, para ello cree antes una partición nueva del disco duro, he estimado un tamaño de 30GB porque la gente de mi oficina manda muchas etiquetas y otros archivos que ocupan bastante y ademas me gustaría que se guardasen unos cuantos días los mensajes. Pero realmente no tengo mucha experiencia en ello, sera mi primera instalación de Exchange.

Cambio de la base de datos de exchange.

Cambio de la base de datos de exchange.

Después de cambiar la base de datos, pulsamos Aceptar o Aplicar nos saldrá una advertencia diciendo que se procederá a desmontar el almacén y que no sera posible el acceso hacia el. Aceptamos y tarda un rato, porque esta recién instalado, mas que nada. Comprobamos que efectivamente se nos han guardado dos archivos en el nuevo directorio. Los archivos a cambiar de sitio son: priv1.edb y priv1.stm.

Iré actualizando la entrada poco a poco…ya que tengo problemas en el curro con el messenger live que se actualiza y deja el ordenador CAPUT

Día 3: Establecer limites de la bandeja de correo.

Hoy por la mañana antes de que me encomienden otras tareas, voy a ver si pongo limites a la bandeja de correo, entiendo que en gmail lo hacen sin limites, pero aqui no puedo mantener 10Gb de correo de la gente por bandeja, ademas conozco a mas de uno de mi oficina que son capaces. De hecho ya van unas cuantas veces que he tenido que arreglar la bandeja de entrada de Outloock express que se inmola al llegar a mas de 2Gb de basura…y solo es la bandeja de entrada.

Para ello nos dirigimos a la consola de Administrador del sistema de Exchange, expandimos servidores y en Primer grupo de almacenamiento buscamos Almacén del buzón. Botón derecho, propiedades y vamos a la pestaña Limites:

Estos son mis limites, 500 Mb de máximo.

Estos son mis limites, 500 Mb de máximo.

Ojo los datos vienen en Kb. 1Mb = 1024Kb y 1Gb = 1024Mb…vamos que son todo potencias de 2 básicamente.

Día 4: Creación de usuarios.

Si realizáis una instalación limpia de todo Active Directory mas Exchange la tarea se simplifica, ya que si utilizáis la consola que se instala con el Exchange 2003. La consola en cuestión la podéis encontrar en Inicio->Todos los programas->Microsoft exchange->Usuarios y equipos de Active Directory. Ahí en podéis crear los usuarios, por ejemplo dando click derecho sobre cualquier unidad organizativa (carpeta), lo mejor seria que creéis vuestra propia. Despues de dar el click, dais a Nuevo y usuario. Despues de dar unos cuantos pasos ya lo tenéis creado.

En el caso de que ya tenéis usuarios creados de antes, para crear buzones de exchange también es bastante simple, solo tenéis que dar el click derecho sobre el usuario y buscar la opcion donde ponga Tareas de exchange, despues solo es seguir los pasos. Esta opción la tenéis en ambas consolas.

Para conectarse vía web al servidor exchange, como si fuera hotmail con el usuario, tenéis que teclear en el navegador la siguiente dirección:

http://localhost/exchange/ si estáis en el servidor.

http://nombreservidor/exchange/ si estáis en cualquier lado.

Os pedirá que ingreséis usuario y contraseña, después de lo cual os dejara conectarse a una web que se llama Outlook Web Access, sinceramente es bastante cutre, por no decir mala ya que no se ve muy bien con todos los navegadores, sobre todo con Mozilla:

Outlook Web Access, esta en ruso pero ya lo soluccionare.

Outlook Web Access, esta en ruso pero ya lo soluccionare.

Como apunte me gustaría mencionar, que después de crear un buzón hay que esperar un rato hasta que se cree en el Exchange, en mi caso he tenido que replicar Active Directory ya  estoy realizando instalación en el servidor que no es catalogo global, vamos que me imagino que solo lo crea cuando este en el principal, aunque no tengo ni idea.

Para hacer la prueba he creado dos usuarios y les he mandado correo de prueba, para mandarlo basta escribir nombre de buzón en el destinatario. El correo llega sin menor problema.

Cuando recibimos un correo, necesitamos saber la dirección de vuelta, pero lo que nos muestra es nuestro usuario de AD (administrador, juanito, pepito…) lo que tenemos que hacer es agregarle un @dominio.com por poner un ejemplo.

La instalacion de momento se encuentra parada, ya que no contaba con que hace falta un conector para descargar correo de las cuentas externas, solo viene por defecto en Small Bussines Server, es bastante putada, existen muchas empresas que ofrecen uno, pero la mayoria es de pago y no me hace mucha gracia comprar algo a parte…aunque el precio no es que sea muy caro. En el Kerio Mail Server si que venia incorporado en el programa, me parece un gran fallo por parte de Microsoft…quizas la soluccion mas simple seria instalar el Kerio Mail Server

Día 5: Buscando conector.

De momento estoy buscando conector y mirando otras opciones como Kerio Winroute y MailServer. Primero lo probare haber que tal en VMWare…

SAI APC Back-UPS ES 550, 550VA 330W. Parte 1.

Miércoles, 23 de septiembre de 2009
Integra 700VA

Integra 700VA

Bueno este fin de semana, había un corte de la luz o algo asi, al llegar a la oficina el lunes había un pitido característico de que algo no funciona bien. Uno de los SAI estaba apagado y pitaba. Otro, lo descubrí mas tarde, estaba muerto y bien muerto…es el que podéis ver a la derecha.  Era un Integra 700 VA o algo así. Tenia dos de estos y los dos han muerto en un tiempo estimado de un par de años. Como en mi oficina es el pan de cada día de que se vaya la luz, sin un SAI los discos duros de la gente y las fuentes de alimentación sufren coonstantemente. Así que aprovechando que tenia que devolver un servidor de impresión, me acerque a Algete donde esta ahora Alternate.  Compre el D-Link DP-G310 y el APC 550VA de 330W, que supongo que sera suficiente para un ordenador de oficina y su monitor.

La marca APC quizás es de las mejores que hay en esto de los SAI, ademas te dan 100000 euros de garantía…aunque tendrías que demostrar que has perdido algo por culpa de la tensión, vamos que es imposible…cosas del marketing.

La SAI en cuestión es este:

SAI APC 550V

SAI APC 550V

Control de calidad del SAI APC.

Control de calidad del SAI APC.

La caja en el que venia el APC 550V.

La caja en el que venia el APC 550V.

La bateria viene desconectada por defecto, para protegerla de la descarga y otros males.

La bateria viene desconectada por defecto, para protegerla de la descarga y otros males.

Bueno, dentro de la caja viene el SAI, el cable para conectarlo a la RED (ya que protege también la red),  el cable de alimentación, que no se puede desconectar del SAI, lo normal es que si,  pero teniendo la forma de una regleta, me imagino que es normal. Tambien viene un CD que trae un software para hacer backup en caso de que se vaya la luz, la garantía y el manual en Español. Vamos trae lo normal para un SAI, no da ni mas ni menos. Aun no lo he conectado ya que la persona a la que va destinada esta trabajando, mañana a primera hora se lo conecto e instalo el Software para ver de que va todo eso.

De momento las primeras impresiones del producto son buenas, no me esperaba menos de APC. Mañana cuento que tal va, ahora continuare con el Exchange.

Dia 2:

Bueno la bateria ya esta cargada, he aprovechado el hueco de la mañana para conectar todo lo que pude a las tomas contra la subida de tension ademas del ordenador, me han sobrado 2 huecos en la regleta de backup ya que no quiero meter nada mas ahi, no es que sea muy grande la bateria. En fin, he intentado a instalar el software que venia en el CD, pero no pude ya que no reconocia ningun dispositivo APC conectado al equipo. Me puse a buscar un manual en CD, ya que en papel solo es una hoja y no venia gran cosa. En el CD en la carpeta documentacion viene un manual, en formato .TXT donde explican brevemente los pasos en un install.txt y algunos problemillas en relnotes.txt. Pero vamos no encontre nada que comente problemas de localizacion. El windows es Xp con Sp3 y el ordenador es bastante reciente…tampoco le encuentro explicacón.

He probado reiniciar y meterlo en todos los puertos USB que tenia, que a veces fallan (algunos se alimentan mas que otros),  he probado otro cable y bueno he conseguido otro tipo de error, a veces hacia el amago de encontrar algo, dependiendo del puerto de USB:

El APC Power Chute PE no soporta dicha fuente de alimentación.

Lo voy a dejar…ya que no le veo mucho sentido seguir con el tema, un punto menos para APC, sospecho que los puertos de alimentación no son suficientemente alimentados para soportarlo algo contradictorio con lo que es un SAI, pero bueno…no quiero perder un dia en esta chorrada.

Instalando D-Link DP-G310 con HP LaserJet 1320 en 2K3 Server sp1

Miércoles, 23 de septiembre de 2009

Bueno ya tengo el nuevo servidor de impresión, he quedado algo insatisfecho con Linksys, son su incompatibilidad con el 2003 server y sobre todo porque me funciono bien apenas 1 hora…Al final lo he devuelto y he comprado por 112 euros el D-Link DP-G310 en alternate por 112 euretes, no es su mejor precio, pero no tengo tiempo de estar buscando la impresora tiene que funcionar YA.

D-Link la imagen oficial

D-Link la imagen oficial

Si comparamos la compatibilidad de ambos, basándose en la información de la caja, el ganador es obvio: D-Link soporta Windows 98SE, Me, NT, 2000, XP, Vista, Mac OS con Appletalk, Unix, Linux, Solaris, SCO Unix, AIX, NetWare 5.x. Vamos es que no hay  color.  Si analizamos el contenido de la caja del servidor tenemos, el aparato en cuestión, CD de instalación, garantía y el cargador. No esta ni el cable de red ni tampoco el USB. Linksys si los incluía, quieras que no era de agradecer. Cabe destacar que la antena WIFI es la típica antena estándar, mientras la de Robotics y la de Linksys no se podían desenganchar.

Por cierto el segundo D-Link G310 funcionando en mi oficina con algún que otro problemilla, aunque se suele solucionar reseteandolo. El otro esta puesto con una LaserJet 3020. Son las dos impresoras mas viejas de la oficina, de cuando HP hacia las cosas bien…quizás por ello siguen funcionando bien, se atascan mas, por el tema típico de desgaste de las gomas que pillan papel de la bandeja, pero funcionan de p*** madre…De hecho tengo una LaserJet en casa, una 1100 mi jefe en la oficina tiene otra, que son eternas, lo malo que hay que meter papel 1 por 1, porque si no coge de 2 en 2 o de 10 en 10 y se lía parda…pero funciona!!!

Imagenes:

Contenido de la caja.

Contenido de la caja.

Dlink y Robotics cmparacion

Dlink y Robotics cmparacion

Robotics y Linksys

Robotics y Linksys

Como podemos comprobar el tamaño es algo mas grande que el de Robotics USR5436 y algo mas canijo que el Linksys WPSM54G.

Instalación:

Empecemos la instalación, como siempre tenemos la pegatina de RUN CD FIRST pegada en las entradas, para que no se nos ocurra conectarlo antes (Es para cagaprisas como yo). Meto el CD y nada…no salta el asistente, aunque el autorun esta activado, raro raro…hay que explorar el CD y pinchar en el D-Link.exe asi empieza. (Lo meti despues en el portatil y funciono, raro raro raro….)

La primera noticia buena, es que esta en Español, la segunda es que el instalador es una maldita maravilla, no me esperaba que funcionase todo tan bien, se ha configurado todo a la primera con ningún fallo en mi Win 2k3 server con Sp1, 10 minutos a lo máximo y la impresora ya esta en su sitio funcionando como dios nada. De hecho conecte a Ubuntu 8.04 el citado D-Link y otra vez, ningún fallo. Un 10 le doy a este servidor de impresión. No recordaba que la instalación del otro fuera tan sumamente fácil.

Algunas imágenes de la instalación:

Aqui podemos elegir el idioma Español. Tarda un poco.

Aquí podemos elegír el idioma Español. Tarda un poco.

Elegimos configurar el servidor.

Elegimos configurar el servidor.

En un paso intermedio nos pediran apuntar la MAC, son 10 caracteres hexadecimales (0123456789ABCDEF), un numero que es prácticamente único para todo aparato que se conecta a la red. La razon de apuntarlo es por si tienes mas de un servidor de impresión. Sera necesario mas adelante, aunque ojo realmente podeis saltarlo. Yo lo he tenido que apuntar, porque tengo dos identicos

Paso por paso te dicen como conectarlo.

Paso por paso te dicen como conectarlo.

Aqui es donde juega la MAC, como podeis comprobar yo tengo 2 bichos de estos, si solo teneis uno y no aparece es que o teneis un problema o lo habeis conectado mal.

Aqui es donde juega la MAC, como podeis comprobar yo tengo 2 bichos de estos, si solo teneis uno y no aparece es que o teneis un problema o lo habeis conectado mal.

Configuración muy limpia y sin errores.

Configuración muy limpia y sin errores.

Hp Laserjet 1320 identificada sin mayor problema.

Hp Laserjet 1320 identificada sin mayor problema.

Como podeis comprobar, muy facil, aunque hay unos cuantos pasos, pero todos muy simples y muy bien explicados.

Manual de utilización y acceso vía por Navegador.

Aunque la instalación es bastante fácil, el producto tiene algo mas de opciones que podemos trastear, para ello se añade un manual en PDF en ingles en el CD. Así que si necesitáis trastear algo mas, sera algo mas complicado. Para acceder, solo tenéis que marcar en vuestro navegador la IP con la que la habéis agregado. En mi caso es 1.1.1.108, lo mas normal es tener algo asi como 192.164.1.3 por decir algo, eso a elección de usuario o a elección de DHCP. Si en la instalación habéis marcado asignación de IP automática, es posible que con cada reinicio de ruter o servidor de impresión tendréis problemas, aunque no lo se, siempre suelo ponerlo manual, así me ahorro sorpresas cuando se vaya la luz. OJO se pide contraseña, por defecto es admin y en el campo de contraseña nada.

Os voy a ponér un ejemplo de lo que os puede pasar si asignáis IP automática, por ejemplo tenéis 1 ordenador y el servidor de impresin, Ordenador con direccion X y SerImp con direccion  Y. Se va la luz, al ordenador se le asigna automaticamente la direccion T y al SI la direccion Z (Completamente diferentes a las de antes). Le dais a imprimir y se envia el trabajo a la direccion Y, ya que el ordenador tiene conectada la impresora con la direccion Y. Vamos que sale un error de impresion o que la impresora no esta disponible. Estos errores he visto hasta en las mejoreas casas, por ejemplo en mi facultad, de hecho casi me llevo un OWNED por decirle al tecnico porque falla (No puedo tocar nada ahi) En mi oficina tambien me ha pasado, se va la luz y adios impresora.

Aquí tenéis la ventanita que os sale, si entrais a traves de navegador.

Configuracion a traves del navegador.

Configuracion a traves del navegador.

Resumen.

Ahora mismo tengo conectada la impresora y funciona de maravilla, un problema menos para mi. Me parece un producto redondo, bien terminado, mucho mejor que antiguo Robotics USR5436 y mejor que el Linksys WPSM54G aunque con el fallo que este trae cable de red y de usb, mientras el D-Link no. Desde luego es curioso como la marca como Linksys con el respaldo de Cisco saca un producto tan limitado y con tantos problemas. Simplemente creo que esta pensado mas en el usuario domestico, mientras el D-Link es mucho mas redondo, ya es raro que soporte UNIX… Asi que si buscais un Servidor de red WIFI os recomiendo este D-Link DP-G310. Pero OJO tambien puede ser un caso puntual el de Linksys, pero el hecho de que tiene una compatibilidad tan baja, no juega a su favor. El D-Link es mucho mas antiguo, mas refinado y mas compatible. (Tengo otro igual que lleva funcionando 2 años) Por cierto el Firmware ha cambiado, lo que siginifica que han soluccionado mas errores.

Instalacion del Exchange 2003 en win 2003 sp1

Miércoles, 23 de septiembre de 2009

Bueno después del Fail anterior, instalando en el 2003 server R2 voy a probar a instalarlo en la segunda maquina que tengo, es algo mas antigua, y con menos capacidad, una DELL poweredge con un XEON y 2 HD SCSI (lo malo que aqui van sin  RAID “0″) :( pero que le vamos a hacer, tendré que configurar backups bien para no perder nada…

Repito los mismos pasos para llegar al sexto, es mucho ya tengo instalado las herramientas de soporte netdiag y dcdiag.

Llego al paso 6, sale la típica advertencia de que pueden existir “problemas de compatibilidad” y que visite una web donde no dice NADA relevante y BINGO, empieza el asistente del ForestPrep.

El maldito paso 6 del forestprep

El maldito paso 6 del forestprep

Descarta automáticamente problema en Active Directory y todo apunta a que tiene que ser alguna cosa del R2…

Por cierto el ForestPrep tarda un buen rato, el paso 7 es muy parecido pero mucho mas rápido…el 8 tiene algo mas de tela, ya que ahí es donde :

En componentes dejo todo por defecto, después todo es siguiente, a no ser que queréis modificar destino. Aquí acabo de momento la instalación, me queda la peor parte: actualizacion y configuracion, que es bastante mas larga y laboriosa.

Instalando Exchange 2003 en el windows 2003 server R2. FAIL!!!

Lunes, 21 de septiembre de 2009

Tengo que instalar un servidor de correo en mi empresa aprovechando que he adquirido una nueva maquina, mis jefes quieren guardar el correo de todos los empleados así como las estadísticas de donde lo mandan…vamos el típico control. La instalación la voy a realizar según el tutorial de tooltorials donde explican detalladamente como hacerlo.

La versión elegida del exchange es la 2003 Standart no necesito mucho mas para 13 personas. Metemos el disco y corremos el asistente y pulsamos en Herramientas de implementación de Exchange, que es el comienzo del instalador.

Asistente de instalación del Exchange 2003

Asistente de instalación del Exchange 2003

Antes de nada nos preguntan por coexistencia con exchange 5.5,  con el 2000, actualización desde el 2000 o nueva instalación. La opción es clara, elegimos Nueva instalación de Exchange 2003. A partir de aquí empieza lo divertido, nos piden bastantes requisitos para la instalación:

1. Que el S.O sea Win server 2000 con sp3 o el windows 2003 server, en este paso no hay problema.

2. Aquí nos piden los servicios NNTP, SMTP, WWW y en mi caso también ASP.NET:

Nos dirigimos a Panel de control -> Agregar o quitar programas -> Agregar o quitar componentes de Windows->Doble click en Servidor de aplicaciones:  seleccionamos ASP.NET, antes de dar a aceptar pulsamos en IIS service y elegimos: NNTP, SMTP y WWW. Ahora es cuando damos a ACEPTAR. Nos pedirá el CD del Windows 2003 server, lo insertamos y comienza la instalacion de los componentes.

Agregamos componentes necesarios para el Exchange 2003

Agregamos componentes necesarios para el Exchange 2003

3. El siguiente paso, nos piden que instalemos las herramientas de soporte. Están en el CD 1 de Win2003 server o 2000 da igual en la carpeta Support->Tools->suptools.msi. Son herramientas de diagnostico, corrección de errores de active directory, dns etc…muy útiles la verdad. Lo normal es que estén instalados.

4. Ejecutamos DCDIAG (Inicio->Ejecutar->CMD->DCDIAG)

DCDIAG

DCDIAG

5. Ejecutamos Netdiag (Inicio->Ejecutar->CMD->NETDIAG)

NETDIAG

NETDIAG

Estos dos pasos pueden dar algunos errores, algunos hay que resolver, otros no. Básicamente es para comprobar que todo funciona BIEN. Que Active Directory se replica bien, que el DNS sabe resolver diferentes zonas…etc. Yo ya tengo todo configurado decentemente bien, DNS y Active Directory…también se podría echar un ojo al Visor de Sucesos o Event Viewer.

6. Ejecutamos ForestPrep…FAIL!!! $!!#% No empieza la instalación, razón? Ninguna, aunque sale un error normal, la instalación no continua…lo intentare mañana reiniciando la maquina cuando no haya gente, lo mismo cuela, y si no :|

Mañana mas, que se le va la pinza a otro impresora que tengo por aqui….

Actualización del día siguiente:

Como era de esperar el reinicio no produce ningún efecto,  el error no es aislado como podéis comprobar, no hay ningún rastro en el Event viewer, no saca ningún mensaje haciéndolo desde la consola CMD…nada absolutamente nada. Lo que resulta sospechoso es que al que le pasa lo mismo que a mi tiene una version identica del Windows, 2003 server R2. Realmente sospecho que el error esta en el Active Directory, ya que recientemente la quite del 2000 server y lo actualize a 2003 server, unos de los pasos era adprep /forestprep ahi quizas esta el problemilla…De todas formas tengo 2 servidores, habra que probar con otro…que no esta tan actualizado (es piratilla jeje mientras este era original), aunque tiene basicamente lo mismo.

Linksys WPSM54G instalación en 2003 server, parte 2.

Viernes, 18 de septiembre de 2009

Peleando contra el error:  No match mac.

Despues de intentarlo un par de veces mas, reseteando ruter se me ocurrió la maravillosa idea de conectarse al Servidor de impresión mediante el navegador. Entrando por la ip 1.1.1.118. Todos los cacharros de este tipo servidores de impresion, ruter y otros puntos de red, suelen tener acceso por el puerto 80, con una pagina de configuracion bastante completa, de hecho suele ser mucho mas completa de la que te ofrecen con el Software. Pero claro te piden usuario y contraseña y en el manual no hay nada de nada. En fin…con el user admin y pass admin entra perfectamente.:

Pagina de configuracion del servidor de impresion Linksys WPSM54G

Pagina de configuracion del servidor de impresion Linksys WPSM54G

Ahora a intentar que funcione por wifi…pongo la SSID y mi clave  WEP de 10 digitos, espero a que se guarde, reinicio y ole!!! NO FUNCIONA!!!! Aunque el LED de wireless esta encendido…intento hacer ping con el CMD y nada…

Siento que este en Ruso, pero se entiende. No hay señal.

Siento que este en Ruso, pero se entiende. No hay señal.

Empiezo a pensar que podria hacer? Meto el cable Ethernet otra vez, igual cuela o argo, doy al boton de reset :S y aparece otra vez dentro del paso 6 del instalador, pero sigue apareciendo el NO Match MAC

Hora de acudir al google:

Amos a probar poner: linksys wireless wpsm54g No macth mac …nada absolutamente nada…y lo mas curioso es que ahora ni siquiera me deja acceder a traves de la ip…algo me dice que la actualizacion del firmware ha acabado con mi preciado juguete, que cosas. Pero no tiremos la toalla!!!! Vamos a instalarlo directamente en el 2003 server sin pasos intermedios no vaya a ser que son cosas del Bill Gates y su Windows de los…

Instalación en el Windows 2003 server DC 2:

Antes de nada hacemos la pertinete copia del System State, no vaya a ser que encima me cargue algo en mi preciado servidor, el cachondo del servidor de impresion. Hacemos RESET del aparatito, por si acaso. Y repetimos el proceso con los pertinentes cambios:

1. Lo conectamos directamente al ruter, antes estaba conectado al SWITCH.
2. Lo intentamos instalar en windows 2003 server DC2 con un dominio levantado y servidor DNS.
3. La impresora estaba desenchufada, supuestamente deberia estarlo…me di cuenta despues, según el manual deberia de estarlo.

El caso es que llegamos al paso 6 y funciona, sin pensar mas seguimos los pasos. Congiguramos Wireless, apagamos y encendemos el cacharo segun dicta el proceso sacando el cable de ethernet Rj-45. Bingo!! Funciona, de momento solo la conexion, pero ya es la mitad del trabajo hecho. Segun mi triste experiencia con los servidores de impresion ya es mucho, su configuracion resulta laboriosa, con muchos errores y palman en unos 2 años. Es mi cuarto SI que instalo…y de momento es el mas facil.

Empezemos con la configuracion del ordenador:

Pulsamos el boton del instalador y nos suelta el mensaje: “Sistema operativo no soportado!!!” $%&#$&!!!
Pero que cojones de mierda es esta, miro la caja y efectiviwonder solo pone Xp, 2000 y Vista de 32 bits. En fin…me esperaba algo mas de Linksys :(

Pero no voy a tirar mi esfuerzo a la basura, vamos a seguir intentandolo, e intentar instalarlo agregando el puerto o algo asi, no me acuerdo como se hace pero basicamente especificas donde esta la impresora (La ip) y ale a seguir tirando. Intentemoslo!!!

1. Paso numero uno, sacar CD del instalador y guardarlo para no verlo nunca mais.
2. Conectamos al 1.1.1.118 (No se que pasa con esa IP pero ni con DHCP cambia…) miramos que la reconoce perfectamente, una Laserjet 1320, imprimimos una pagina de prueba y weno…imprime basurilla en plan configuracion del servidor de impresion, pero al fin y al acabo imprime. Weno hasta aqui todo OK.

Reconoce perfectamente la impresora LaserJet 1320.

Reconoce perfectamente la impresora LaserJet 1320.

3. Corremos el asistente para agregar una impresora nueva, esta en Inicio -> Impresoras y Faxes -> Asistente para agregar la impresora nueva o algo asi.

3.1. Decimos que esta conectada a este equipo, pero desmarcamos Plug and Play.

Asistente para agregar la impresora.

Asistente para agregar la impresora.

3.2. Cremos un nuevo puerto TCP/IP ponemos como direccion IP el famoso 1.1.1.118 como nombre automaticamente se pone IP_1.1.1.118.

Asistente para agregar la impresora. Crear nuevo puerto.

Asistente para agregar la impresora. Crear nuevo puerto.

3.3. Dejamos Generic Network Card.
3.4. Utilizamos disco de la impresora para encontrar el Driver de la misma.
3.5. Nombre de la impresora, nombre de recurso compartido…etc etc etc

4. Imprimimos la pagina de prueba y…funciona Linksys 0 – Yo 1 jajjaja chupate esa CISCO!!!

Pero bueno, por si acaso dejaremos la caja intacta, no vaya a ser que lo tenga que devolver. Como falle una sola vez estos 6 dias restantes, lo devolvere a Media Markt. Que no puedo permitirme quebraderos de cabeza con una cosa asi.

Asi que de momento dejare como nota de instalacion: un 5 de 10 para Linksys, solo me robo 1 hora de mi vida. Pero tratandose de una marca asi, realmente deberia de ser mas alta. Sobre la compatibilidad, no suelen poner en los productos que son compatibles con 2003 server y yo desde luego no soy adivino. En el 95% de los casos es compatible aunque solo ponga windows XP. Simplemente al ser cutre-marca de CISCO. Para empresas, dejan CISCO y para usuario domestico el Linksys asi se sacan mas pasta. De hecho en el curro utilizamos el cutre ruter Linksys de toda la vida, y oye una pequena maravilla como funciona el aparato, nunca ha sido tan facil configurar un ruter. No me acuerdo del modelo, pero es uno simplon de 60 euros.

Fin.

P.D: Estos dias voy a devolverlo casi al 100% me funciona irregular, mal…he probado la impresora por separado y funciona de maravilla, con el Linksys WPSM54G dura un par de impresiones y hay que reiniciarlo, no se que leches le pasa!!! Pero en su configuracion parece todo OK.

Linksys WPSM54G instalación en 2003 server parte 1.

Jueves, 17 de septiembre de 2009

Que me llevo a comprar este aparato. La respuesta logica seria que necesito conectar una impresora en red que no tiene tarjeta de red, pues no. La impresora ya estaba conectada en RED con otro servidor de red U.S. Robotics USR5436 que se me quemo o se ha vuelto completamente loco. Ya en su tiempo me pelee con el para instalarlo, era realmente jodido gracias a su pedazo de manual en ingles de muchas paginas y pocos dibujos. Pero en fin, después de 3 años se ha roto. Así que la verdadera razón es esa. Pero como la impresora sigue funcionando bastante bien una HP LaserJet 1320 pues quieras que no hay que aprovecharla hasta el limite.

Bueno el hecho es que elegi el Linksys WPSM54G en MediaMarkt sinceramente porque no había mas, no tenia ganas de ir a alternate o esperar mas tiempo, ademas para devolver no te hacen muchas preguntas, y últimamente tengo bastante mala suerte con todo lo que compro. Ademas quieras que no Linksys inspira confianza, siendo parte de CISCO uno espera calidad. Tengo creo que ruter y algún wifi USB que funcionan de maravilla.

Caja del servidor de impresion Linksys

Caja del servidor de impresion Linksys

Desempaquetando me encuentro lo típico que se puede encontrar. El cable de red, cable de la impresora (es un detalle no lo suelen llevar ni las impresoras), el pequeño manual en varios idiomas con muchos dibujos y el cargador. El diseño de la cajita es el típico de Linksys también, gris claro con azul.

Contenido de la caja.

Contenido de la caja.

Comparacion de tamaños y las conexiones

Comparacion de tamaños y las conexiones

Como se puede observar el tamaño del robotics es bastante mas canijo casi el doble de pequeño, ademas es mucho mas discreto. Vamos que me gusta bastante mas, curiosamente el robotics tiene unos cuantos años encima. Las entradas son las mismas: RJ-45, USB y la toma de corriente.  Ademas esta presente el boton reset en ambos. En robotics si lo pulsas 1 vez sin mantener, te imprimía la configuración, era bastante útil, aunque había que saberlo.

Instalación:

Bueno la impresora como ya comente es una HP LaserJet 1320 bastante simplona y un cacho antigua, tendra unos 5 años pero parece que funciona decentemente bien y soporta gran cantidad de trabajo.  Como podeis observar la pegatina de RUN CD FIRST en perfecto ingles dice que metamos el CD antes. El S.O. para las pruebas antes de instalar en el servidor es un Xp Pro SP3 en ruso. Metemos el CD y aparece el tipico autoarranque…vamos siguiendo los pasos como conectar y tal, todo bastante facil con mucho dibujo y en español:

Pasos bastante faciles de la instalación

Pasos bastante faciles de la instalación

Vamos siguiendo los pasos, hasta el paso 6 donde nos busca el servidor de impresión en nuestra red, recomiendo activar el DHCP en vuestro ruter, por si no aparece, cosa bastante probable. Suele ser uno de los pasos puñeteros. A mi al menos lo encontró a la primera!!!

Buscando el Servidor de impresión...

Buscando el Servidor de impresion...

Pero no todo va a ser camino de Rosas, como últimamente tengo bastante mala suerte con cacharros que compro, ya tardaba aparecer algún error:  esta vez el error es curioso y realmente no tengo ni idea que podría ser, Error:  No match mac. Vamos que no coincide la MAC, digo yo que es normal que son 10 dígitos en hexadecimal, lo suyo es que no coincida ninguno porque suelen ser únicas para cada tarjeta de red, aunque se puede cambiar claro esta…vamos que se para en actualización de Firmware y paquetes de idiomas y punto pelota. En fin inexplicable….Continuara.