                       FreeBSD en ordenadores portatiles

   Revision: 43126
   2013-11-07 por gabor.
   Resumen

   FreeBSD funciona perfectamente en la mayoria de portatiles aunque siempre
   haya excepciones. En este articulo trataremos de las diferencias
   existentes en el hardware de portatiles y sistemas de escritorio y de como
   afecta esto al uso de FreeBSD.

   Traduccion de Jose Ramon Baz <jr_baz@hartu.net> y Jose Vicente Carrasco
   <carvay@es.FreeBSD.org>.

     ----------------------------------------------------------------------

   Tabla de contenidos

   1. XFree86

   2. Modems

   3. Dispositivos PCMCIA (PC Card)

   4. Administracion de energia

   Es frecuente que se piense en FreeBSD como un sistema operativo para
   servidores pero funciona muy bien como sistema de escritorio y si quiere
   usarlo en su portatil dispondra de todo su potencial: facilidad de
   administracion y actualizacion, el sistema de "ports" y "packages" para
   anadir software, etc. Otras de sus caracteristicas mas interesantes, como
   la estabilidad, el rendimiento en red y bajo grandes cargas de trabajo
   pueden, por razones obvias, no ser tan evidentes en un sistema portatil.
   La instalacion en portatiles puede, sin embargo, acarrear problemas que no
   encontrariamos en sistemas de escritorio y cuyas soluciones no podemos
   encontrar por doquier a lo largo y ancho de Internet; los equipos
   portatiles suelen estar disenados para Microsoft Windows, aun con mas
   frecuencia que en sistemas de escritorio. Este articulo tratara de aclarar
   alguno de estos problemas. Hay quien ha documentado sus experiencias con
   FreeBSD en modelos concretos de portatiles y las ha incluido en paginas
   web que no forman parte de la documentacion oficial de FreeBSD. Es muy
   posible que encuentre informacion si introduce la marca y modelo de su
   portatil y la palabra "FreeBSD" en un buscador.

1. XFree86

   Las versiones recientes de XFree86 funcionaran con la mayoria de tarjetas
   graficas disponibles actualmente en portatiles. La aceleracion grafica tal
   vez no este soportada pero una configuracion SVGA generica deberia
   funcionar.

   Consulte la documentacion de su portatil. Ahi deberi encontrar todos los
   detalles de su tarjeta, tras lo cual deberia recurrir a la documentacion
   de XFree86 (o el programa de configuracion) para saber si esta soportada o
   no. Si no lo esta utilice un dispositivo generico pero NO use uno cuyo
   nombre simplemente le resulte parecido. En la version 4 de XFree86 puede
   probar suerte tecleando XFree86 -configure, que ejecuta un proceso de
   autodeteccion y le puede facilitar una gran cantidad de informacion muy
   util.

   Con frecuencia el problema es la configuracion del monitor. La informacion
   sobre XFree86 se centra en monitores CRT, por lo que disponer de una
   configuracion para una pantalla LCD puede ser peliagudo. Quizas este de
   suerte y no tenga que especificar rangos de HorizSync y VertRefresh. Si
   esto no funciona la mejor opcion es recurrir a la web en busca de paginas
   dedicadas a la configuracion de X en portatiles; suelen estar orientadas a
   Linux pero no importa dado que ambos sistemas operativos usan XFree86, por
   lo que puede usar la configuracion que alguien haya usado sobre un
   hardware similar.

   La mayoria de portatiles incluyen dos botones para las funciones de boton
   primario y secundario del raton (mouse), lo que puede resultar
   problematico en X ya que el boton central se usa para pegar texto; puede
   "mapear" una pulsacion simultanea de ambos botones en la configuracion de
   X que realice la funcion del boton central con la linea

       Option "Emulate3Buttons"
    

   en el fichero XF86Config en la seccion InputDevice de XFree86 version 4;
   para la version 3 simplemente anada la linea Emulate3Buttons, sin
   comillas, en la seccion Pointer .

2. Modems

   Los equipos portatiles suelen incluir modems internos. Desgraciadamente
   eso casi siempre significa que son "winmodems" cuyo funcionamiento depende
   de software y para los cuales solo hay disponibles controladores para
   windows. A pesar de ello estan empezando a aparecer controladores para
   otros sistemas operativos; por ejemplo, si su modem tiene un chipset
   Lucent LT es muy posible que este soportado por el port comms/ltmdm. Si
   ese no es su caso tendra que buscar un modem externo: la solucion mas
   compacta probablemente sea un modem PC Card (PCMCIA), de los que
   hablaremos mas adelante, pero los modem serie o USB seran seguramente mas
   baratos. Normalmente los modems normales (es decir, los que no son
   winmodems), deberian funcionar sin problemas.

3. Dispositivos PCMCIA (PC Card)

   Muchos portatiles incluyen bahias PCMCIA, tambien conocidas como PC Card,
   que suelen estar soportadas perfectamente por FreeBSD. Consulte el mensaje
   de arranque de su sistema (mediante dmesg(8)) para saber si fueron
   detectadas correctamente; deberian figurar como pccard0, pccard1 etc. en
   dispositivos como pcic0).

   FreeBSD 4.X soporta tarjetas PCMCIA de 16 bits y FreeBSD 5.X soporta tanto
   estas tarjetas de 16 bits como tarjetas de 32 bits "CardBus". Hay una
   lista de tarjetas soportadas en el fichero /etc/defaults/pccard.conf.
   Lealo cuidadosamente y siempre que sea posible compre tarjetas que
   aparezcan en ese fichero. Las que no aparecen es posible que funcionen
   como dispositivos "genericos"; en concreto la mayoria de los modem de 16
   bits deberian funcionar correctamente siempre y cuando no sean winmodems
   (existen tambien como PC Cards, asi que tenga cuidado). Si su sistema
   reconoce su tarjeta como un modem generico tenga en cuenta que el fichero
   pccard.conf especifica por defecto un retardo de 10 segundos para evitar
   bloqueos en algunos modelos; eso puede ser una precaucion excesiva para su
   modem asi que es posible que quiera cambiar ese valor, reducirlo o incluso
   eliminarlo.

   Algunas partes de pccard.conf pueden necesitar un poco de edicion. Busque
   la linea donde figura la irq y asegurese de eliminar cualquier numero que
   este en uso; si tiene una tarjeta de sonido integrada borre irq 5, si no
   puede sufrir bloqueos del sistema al insertar la tarjeta. Consulte tambien
   la memoria disponible para las bahias; si su tarjeta sigue sin ser
   detectada pruebe a cambiar alguno de los valores posibles que aparecen en
   la pagina man de pccardc(8).

   Si aun no funciona puede lanzar el daemon pccardd(8). Para activarlo en el
   arranque anada

 pccard_enable="YES"

   en el fichero /etc/rc.conf. Tras ese paso sus tarjetas deberian ser
   detectadas cuando las inserte y cuando las extraiga; deberian asimismo
   aparecer entradas en ficheros "log" reflejando el momento en el que los
   nuevos dispositivos son activados.

   Ha habido cambios de gran calado en el codigo de pccard, como la inclusion
   de enrutado de interrupciones ISA, muy util en maquinas en las que hasta
   la irrupcion de FreeBSD 4.4 no era posible usar la BIOS PCI. Si tiene
   problemas con esto pruebe a actualizar su sistema.

4. Administracion de energia

   Desgraciadamente no existe un soporte demasiado bueno en FreeBSD. Si tiene
   suerte algunas caracteristicas pueden ser funcionales mientras que otras
   no lo seran en absoluto.

   Para complicar un poco mas las cosas hay dos estandares de administracion
   de energia, APM y ACPI. El segundo se hizo para sustituir el primero e
   incluye nuevas caracteristicas pero tambien mas problemas.

   Algunos portatiles soportan tanto APM como ACPI (hasta cierto punto)
   mientras que otros solo soportan uno de ellos asi que no tendra mas
   remedio que experimentar con ambos para saber si dispone de administracion
   de energia y hasta que punto.

  Nota:

   No puede tener APM y ACPI activados simultaneamente, aunque su portatil
   soporte ambos.

  4.1. APM

   Una BIOS con APM (Advanced Power Management, Administracion Avanzada de
   Energia) provee de soporte para diversas caracteristicas de administracion
   de energia tales como "standby", suspension, hibernacion, reduccion de la
   velocidad del reloj de la CPU, etc. y existe tanto en FreeBSD 4.X como en
   FreeBSD 5.X.

   Para activar el soporte de APM debera compilar su kernel: anada device
   apm0 en FreeBSD 4.X y device apm en FreeBSD 5.X. El soporte APM como
   modulo existe en FreeBSD 5.X; para cargarlo en el arranque anada la linea
   apm_load="YES" al fichero /boot/loader.conf.

   En FreeBSD 5.X tendra que asignar hint.apm.0.disabled="0" en el fichero
   /boot/device.hints.

   APM puede activarse en el arranque anadiendo apm_enable="YES" en el
   fichero /etc/rc.conf. El daemon apmd(8) se puede lanzar anadiendo
   apmd_enable="YES" al fichero /etc/rc.conf, que se encarga de transmitir
   ciertos eventos a la BIOS, de manera que sea posible suspender/reanudar
   presionando alguna tecla concreta o al abrir y al cerrar la pantalla.

   Los comandos APM figuran en la pagina man de apm(8). Por ejemplo apm -b
   suministra el estado de la bateria (o 255 si no esta soportado), apm -Z
   pone el portatil en "standby", apm -z (o zzz) lo suspende. Para apagar el
   sistema use shutdown -p. Le recordamos una vez mas que alguna o incluso
   todas estas funciones pueden no funcionar del todo bien o incluso no
   hacerlo en absoluto.

   Es posible que la suspension o el modo "standby" funcione en consola pero
   no en X (esto es, la pantalla no se recupera). Si usa FreeBSD 5.X una
   posible solucion es anadir options SC_NO_SUSPEND_VTYSWITCH al fichero de
   configuracion de su kernel y que lo recompile. Otra forma de solucionarlo
   es cambiar a otra consola virtual (mediante Ctrl+Alt+F1 u otra tecla de
   funcion) y ejecutar apm(8). Si esta usando apmd(8) puede automatizar esto
   con vidcontrol(1): edite /etc/apmd.conf y cambielo del siguiente modo:

 apm_event SUSPENDREQ {
  exec "vidcontrol -s 1 < /dev/console";
  exec "/etc/rc.suspend";
 }

 apm_event USERSUSPENDREQ {
  exec "vidcontrol -s 1 < /dev/console";
  exec "sync && sync && sync";
  exec "sleep 1";
  exec "apm -z";
 }

 apm_event NORMRESUME, STANDBYRESUME {
  exec "/etc/rc.resume";
  exec "vidcontrol -s 9 < /dev/console";
 }

  4.2. ACPI

   ACPI (Advanced Configuration and Power Management Interface, Interfaz para
   la Administracion de Energia y Configuracion Avanzada) facilita no solo la
   administracion de energia sino tambien la deteccion de hardware
   (sustituyendo la deteccion PnP y PCI). ACPI solo esta disponible en
   FreeBSD 5.X y esta activado por defecto, asi que no tiene que hacer nada
   especial para que funcione. Puede controlar el comportamiento de ACPI con
   acpiconf(8).

   Desgraciadamente los fabricantes ponen a la venta sus portatiles con
   implementaciones ACPI defectuosas, haciendo que habilitar ACPI algunas
   veces genere mas problemas que ventajas, hasta el punto de no poder
   siquiera arrancar FreeBSD en algunas maquinas con ACPI habilitado.

   Si ACPI le esta causando problemas deberia comprobar si el fabricante de
   su portatil ha liberado una nueva version de la BIOS que solucione alguno
   de esos problemas. Dado que la implementacion de ACPI en FreeBSD esta en
   constante evolucion deberia tambien actualizar su sistema; tal vez asi sus
   problemas se solucionen.

   Si desea deshabilitar ACPI anada hint.acpi.0.disabled="1" al fichero
   /boot/device.hints. ACPI puede deshabilitarse temporalmente en el "prompt"
   del arranque tecleando unset acpi_load en caso de tener problemas para
   arrancar una maquina con ACPI habilitado. FreeBSD 5.1-RELEASE y
   posteriores disponen de un menu en el arranque que controla como FreeBSD
   arranca. Una de las opciones que se suministran es la de dehabilitar ACPI.
   Para hacerlo simplemente seleccione 2. Boot FreeBSD with ACPI disabled
   (Arrancar FreeBSD con ACPI deshabilitado) en el menu.

  4.3. Administracion de Energia de la Pantalla

   El sistema X window (XFree86) incluye administracion de energia de la
   pantalla (consulte la pagina man de xset(1) y busque en ella "dpms").
   Tendra que investigar. Sin embargo tenga en cuenta que tambien esto
   funciona de manera muy poco fiable en portatiles: con frecuencia apaga la
   pantalla pero no apaga la retroiluminacion.
