Instalación y configuración de Computadores y Periféricos
Escuela Técnica de Ingeniería Informática de Gijón
3º Ingeniería Técnica en Informática de Sistemas

Configuración de una impresora bluetooth en Linux

Autores: Víctor García González, Cándido Morilla Morilla, Javier Álvarez Valle

Fecha: 5 de mayo de 2004

Ver o hacer comentarios sobre este trabajo
Índice de todos los trabajos

Objetivos

Configurar una impresora bluetooth en un sistema Linux utilizando CUPS.

Teoría básica

Configuración de partida

Hardware utilizado:

Software ultilizado:

Desarrollo

1. Configuración del kernel

El primer paso es compilar el kernel para dar soporte al bluetooth. Hemos preferido configurarlo como built-in (no como módulo) ya que en este equipo se va a utilizar habitualmente (no solo para imprimir). El driver especifico lo hemos configurado como modulo, ya que podríamos querer usar más de un dispositivo como: usb, pcmcia, etc. La configuración elegida es la siguiente:

Para ilustrar la configuración vamos a utilizar la opción make menuconfig. En primer lugar nos dirigimos a la ruta Device Drivers > Networking Support > Bluetooth Support

Pantalla de CUPS al añadir la impresora Pulsar para ver en grande

Donde elegimos las opciones:

Pantalla de CUPS al añadir la impresora Pulsar para ver en grande

Una vez hecho esto, debemos instalar el driver específico para nuestro adaptador bluetooth. Para ello accedemos a:
Device Drivers > Networking Support > Bluetooth Support > Bluetooth Device Drivers --->

Hemos decidido seleccionar todos los drivers para ilustrar que podríamos alternar entre distintos tipos de adaptadores con solo cargar el módulo adecuado. En la práctica sería suficiente compilar los módulos estríctamente necesarios.

Pantalla de CUPS al añadir la impresora Pulsar para ver en grande

Una vez realizados todos los pasos de la configuración, procederemos a compilar el kernel. Como estamos utilizando un kernel 2.6, es suficiente con hacer make; make modules_install.

Una vez compilado el kernel, procedemos a su instalación siguiendo los pasos 6 al 10 de los explicados al principio del documento y procedemos a cargar el módulo asociado a nuestro adaptador bluetooth. Como vamos a utilizar el dispositivo integrado en el portatil, cargaremos el módulo hci-usb. Esto lo hacemos mediante la orden:

modprobe hci-usb

Si vamos a utilizar asiduamente el adaptador, podría ser interesante incluir el módulo en el archivo /etc/modules para que se cargue automáticamente al iniciar el sistema.

2. Instalación de BlueZ

BlueZ es una implementación de la pila del protocolo Bluetooth. En la actualidad es el más usado. En el momento de la elaboración de este documento, no todos los paquetes de bluez están disponibles en Debian, por lo que tendremos que descargarnos alguno de la web de BlueZ.

Primero debemos instalar el paquete libbluetooth1 ya que si no no nos dejará instalar BlueZ. Para ello procedemos de la forma habitual:

apt-get install libbluetooth1

A continuación instalamos los paquetes de bluez (todos con apt-get). Los nombres de los paquetes a instalar son los siguientes:

Aparte de estos, deberemos descargarnos el paquete bluez-libs de la web oficial de BlueZ o en SourceForge ya que lo necesitaremos más adelante para la instalación del backend.

El proceso es el habitual para archivos tar.gz:

  1. tar -xzvf paquete.tar.gz
  2. cd paquete
  3. ./configure
  4. make
  5. make install

Una vez hecho, el sistema de bluetooth debería estar funcionando correctamente. Para comprobarlo podemos activar un dispositivo capacitado con bluetooth dentro de nuestro rango y utilizar la herramienta hcitool para descubrirlo. Para ello llamaremos a hcitool pasándole el parámetro 'scan'.

3. Instalación de CUPS

A continuación vamos a instalar los paquetes necesarios para utilizar CUPS en nuestra computadora. Para ello pedimos a apt que instale el paquete cupsys y él se encarga de instalar todos los paquetes de que éste dependa:

apt-get install cupsys

Una vez hecho esto, debemos instalar el driver de la impresora si éste no viene por defeo en CUPS. En nuestro caso, como vamos a utilizar una HP DeskJet 450, instalaremos el driver para las nuevas impresoras HP Deskjet. Esto lo hacemos mediante la orden:

apt-get install hpijs

4. Instalación del Bluetooth Printing Backend for CUPS

En el momento de escribir este documento, CUPS no soporta de por sí la impresión mediante Bluetooth por lo que es necesaria la instalación de un backend que gestione la comunicación con la impresora.

Marcel Holtmann ha desarrollado este backend. Podemos descargarlo desde su web, concretamente siguiendo el enlace: http://www.holtmann.org/linux/bluetooth/cups.html

Procedemos a descargarnos la ultima versión. Y seguimos el proceso de instalacion como de costumbre:

  1. tar -xzvf cups-bluetooth-X.X.tar.gz
  2. cd paquete
  3. ./configure
  4. make

En este caso no hacemos el make install ya que al ser una versión no final, aún no ha sido implementado por lo que tendremos que copiar los archivos a mano.

El primer archivo es el propio backend. Se encuentra en el directorio src dentro del directorio donde hicimos el make. La orden para copiarlo es:

cp ./src/bluetooth /usr/lib/cups/backend

El segundo y último archivo, también en el directorio src, es el printers.conf que deberemos copiar al directorio /etc/bluetooth, por tanto:

cp ./src/printers.conf /etc/bluetooth

Para que el backend esté disponible en cups, debemos reiniciar el servicio de impresión mediante la orden

/etc/init.d/cupsys restart

5. Configuración de la impresora

Para que la impresora pueda ser reconocida por CUPS, debemos agregarla al fichero /etc/bluetooth/printers.conf

Editamos el fichero e introducimos la siguiente información:

default {
# Bluetooth address of the device (dirección MAC de dispositivo)
device 08:00:17:1E:69:F3;
# RFCOMM channel for the connection (Canal de conexión)
channel 1;
# Description of the connection
comment "HPdj450";
}

Ya solo nos queda configurar la impresora en CUPS.

Para ello accederemos mediante el interfaz web (http://localhost:631) y elegiremos la opción "Do Administration Tasks".

Nos solicitará la cuenta de root y nos permitirá acceder al área de administración donde seleccionaremos "Add Printer". Rellenaremos el nombre de la impresora (Hpdj450) y continuamos.

Pantalla de CUPS al pedirnos autenticación Pulsar para ver en grande

Ahora tenemos que seleccionar el dispositivo. Elegiremos Hpdj450 (08:00:17:1E:69:F3) que se corresponde con el dispositivo que acabamos de instalar. Continuamos y nos pide el driver. Seleccionamos HP y en la siguiente ventana, elegimos "HP New DeskJet Series CUPS v1.1(en)".

Pantalla de CUPS al añadir la impresora Pulsar para ver en grande

Con esto terminamos la configuración y estamos listos para imprimir una página de prueba.

Enlaces

Conclusiones

Cuando decidimos realizar el trabajo, no contábamos con la posibilidad de que CUPS no soportara la impresión por medio de bluetooth. Por tanto ha sido éste el principal problema con el que nos hemos encontrado. Tras varios días de búsqueda fuimos a parar a la web de Marcel Holtmann (al que estaremos eternamente agradecidos).

Además no estabamos seguros al 100% del soporte que Linux ofrecía a bluetooth y tras la realización del trabajo hemos quedado muy satisfechos. Aunque lógicamente suponemos que aún habrá un amplio conjunto de periféricos sin soporte, pero no fue el caso para la impresora.

Licencia

Creative Commons License
Este trabajo utiliza una Licencia Creative Commons.

Valid XHTML 1.0!