Mostrando las entradas con la etiqueta Soporte. Mostrar todas las entradas
Mostrando las entradas con la etiqueta Soporte. Mostrar todas las entradas

viernes, febrero 02, 2007

[Bluetooth] Transferencia de archivos PC/Cel.

Configuración KERNEL

A lo que vamos..

Necesitamos lo siguiente en el kernel:



CONFIG_BT=y
CONFIG_BT_L2CAP=y
CONFIG_BT_SCO=y
CONFIG_BT_RFCOMM=y
CONFIG_BT_RFCOMM_TTY=y
CONFIG_BT_BNEP=y
CONFIG_BT_BNEP_MC_FILTER=y
CONFIG_BT_BNEP_PROTO_FILTER=y
CONFIG_BT_HIDP=y

#
# Bluetooth device drivers
#
CONFIG_BT_HCIUSB=m
CONFIG_BT_HCIUSB_SCO=y
CONFIG_BT_HCIUART=m
CONFIG_BT_HCIUART_H4=y
CONFIG_BT_HCIUART_BCSP=y
CONFIG_BT_HCIBCM203X=m
CONFIG_BT_HCIBPA10X=m
CONFIG_BT_HCIBFUSB=m
CONFIG_BT_HCIVHCI=m


Para esto vamos a modificar la imagen del kernel (pueden dejarlos cómo módulos)..

cd /usr/src/linux && make menuconfig


Networking --->
<*> Bluetooth subsystem support --->
│--- Bluetooth subsystem support
<*> L2CAP protocol support
<*> SCO links support
<*> RFCOMM protocol support
[*] RFCOMM TTY support
<*> BNEP protocol support
[*] Multicast filter support
[*] Protocol filter support
<*> HIDP protocol support
Bluetooth device drivers --->
HCI USB driver
[*] SCO (voice) support
HCI UART driver
[*] UART (H4) protocol support
[*] BCSP protocol support
HCI BCM203x USB driver
HCI BPA10x USB driver
HCI BlueFRITZ! USB driver
HCI VHCI (Virtual HCI device) driver


Generalmente todas las distros ya traén integrado el soporte para dispositivos USB (tengo un adaptador de bluetooth), asi que no meto mi cuchara en ese plato :P

Detectando el dispositivo Bluetooth

Antes de irse como locos XD a modificar el kernel, primero confirmemos si por gloria del espiritu santo nos detecta el dispositivo :lol:

Para esto, necesitamos:


[I] net-wireless/bluez-utils
Available versions: 2.22-r1 2.24 2.25-r1
Installed: 2.25-r1(09:16:26 16/01/07)(alsa cups dbus gtk -pcmcia udev)
Homepage: http://bluez.sourceforge.net/
Description: Bluetooth Tools and System Daemons for Linux


Usamos emerge para bajar sus dependencias: emrge net-wireless/bluez-utils

nota: busca el paquete correspondiente a tu distribución

Miramos si está detectado:


/etc/init.d/bluetooth



UnderHouse linux # hciconfig -a
hci0: Type: USB
BD Address: 00:13:EF:F1:42:CE ACL MTU: 120:20 SCO MTU: 0:0
UP RUNNING PSCAN ISCAN
RX bytes:345405 acl:17873 sco:0 events:16519 errors:0
TX bytes:3686709 acl:34233 sco:0 commands:30 errors:0
Features: 0xff 0xff 0x05 0x38 0x18 0x18 0x00 0x00
Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3
Link policy: RSWITCH HOLD SNIFF PARK
Link mode: SLAVE ACCEPT
Name: 'BlueZ (0)'
Class: 0x3e0100
Service Classes: Networking, Rendering, Capturing
Device Class: Computer, Uncategorized
HCI Ver: 1.2 (0x2) HCI Rev: 0x0 LMP Ver: 1.2 (0x2) LMP Subver: 0x757
Manufacturer: Silicon Wave (11)


Correcto :)

Configurando dispositivo

Los archivos que vamos a configurar s eencuentran en /etc/bluetooth

Les dejo mis archivos de configuración:

Archivo: hcid.conf


UnderHouse linux # more /etc/bluetooth/hcid.conf
#
# HCI daemon configuration file.
#

# HCId options
options {
# Automatically initialize new devices
autoinit yes; #Inicializa el demonio cuando es detectado el disposiivo

# Security Manager mode
# none - Security manager disabled
# auto - Use local PIN for incoming connections
# user - Always ask user for a PIN
#
security user; #Nivel de seguridad

# Pairing mode
# none - Pairing disabled
# multi - Allow pairing with already paired devices
# once - Pair once and deny successive attempts
pairing multi;

# PIN helper
pin_helper /etc/bluetooth/pin-helper; #Archivo donde se encuentra nuestro PIN por si es necesario

# D-Bus PIN helper
#dbus_pin_helper;
}

# Default settings for HCI devices
device {
# Local device name
# %d - device id
# %h - host name
name "BlueZ (%d)"; #Nombre que le daremos a nuestro pc para ser visualizada en otros dispositivos

# Local device class
class 0x3e0100;

# Default packet type
#pkt_type DH1,DM1,HV1;

# Inquiry and Page scan
iscan enable; pscan enable;

# Default link mode
# none - no specific policy
# accept - always accept incoming connections
# master - become master on incoming connections,
# deny role switch on outgoing connections
lm accept;

# Default link policy
# none - no specific policy
# rswitch - allow role switch
# hold - allow hold mode
# sniff - allow sniff mode
# park - allow park mode
lp rswitch,hold,sniff,park;

# Authentication and Encryption (Security Mode 3)
#auth enable;
#encrypt enable;
}


Archivo: pin-helper (especificado en hcid.conf)


# Este número nos servira para realizar una conexión con el celular o acoplar los dos dispositivos..
1234


Archivo : rfcomm.conf

El protocolo RFCOMM nos srive para establecer conexiones con varios dispositivos bluetooth (acoplar)..


#
# RFCOMM configuration file.
#

# Cada configuración se encontrará encerrada por llaves { }


rfcomm0 {
# Automatically bind the device at startup
bind yes; #Crea el dispositivo en /etc/rfcomm0

# Bluetooth address of the device
device 00:16:4E:C5:09:32; #MAC del dispositivo a conectar

# RFCOMM channel for the connection
channel 1; #Via que utilizaremos para la conexión (canal)

# Description of the connection
comment "Example Bluetooth device";
}


Trabajando con las heramientas de Bluez

Antes que nada debemos correr a nuestro celular y activar el soporte Bluetooth correspondiente y que sea visible para los demás dispositivos..

Buscamos dispositivos cerca:


UnderHouse linux # hcitool scan
Scanning ...
00:16:4E:C5:09:32 Nokia 6125



Información del celular:

UnderHouse linux # hcitool info 00:16:4E:C5:09:32
Requesting information ...
BD Address: 00:16:4E:C5:09:32
Device Name: Nokia 6125
LMP Version: 2.0 (0x3) LMP Subversion: 0x6cc
Manufacturer: Cambridge Silicon Radio (10)
Features: 0xbf 0xee 0x0f 0xc6 0x9a 0x39 0x00 0x00
<3-slot> <5-slot>





<3-slot>
<5-slot>




Verificamos los servicios disponibles en nuestro celular (útil para saber el nombre y número de canal que ocupan los servicios):


UnderHouse linux # sdptool browse 00:16:4E:C5:09:32

Browsing 00:16:4E:C5:09:32 ...

Service Name: Dial-up networking
Service RecHandle: 0x10020
Service Class ID List:
"Dialup Networking" (0x1103)
"Generic Networking" (0x1201)
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 1
Language Base Attr List:
code_ISO639: 0x656e
encoding: 0x6a
base_offset: 0x100
Profile Descriptor List:
"Dialup Networking" (0x1103)
Version: 0x0100

Service Name: Nokia PC Suite
Service RecHandle: 0x10021
Service Class ID List:
"Serial Port" (0x1101)
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 15
Language Base Attr List:
code_ISO639: 0x656e
encoding: 0x6a
base_offset: 0x100

Service Name: COM 1
Service RecHandle: 0x10022
Service Class ID List:
"Serial Port" (0x1101)
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 3
Language Base Attr List:
code_ISO639: 0x656e
encoding: 0x6a
base_offset: 0x100

Service Name: Voice Gateway
Service RecHandle: 0x10023
Service Class ID List:
"Handfree Audio Gateway" (0x111f)
"Generic Audio" (0x1203)
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 13
Language Base Attr List:
code_ISO639: 0x656e
encoding: 0x6a
base_offset: 0x100
Profile Descriptor List:
"Handsfree" (0x111e)
Version: 0x0105

Service Name: Audio Gateway
Service RecHandle: 0x10024
Service Class ID List:
"Headset Audio Gateway" (0x1112)
"Generic Audio" (0x1203)
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 12
Language Base Attr List:
code_ISO639: 0x656e
encoding: 0x6a
base_offset: 0x100
Profile Descriptor List:
"Headset" (0x1108)
Version: 0x0100

Service Name: OBEX Object Push
Service RecHandle: 0x1002b
Service Class ID List:
"OBEX Object Push" (0x1105)
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 9
"OBEX" (0x0008)
Language Base Attr List:
code_ISO639: 0x656e
encoding: 0x6a
base_offset: 0x100
Profile Descriptor List:
"OBEX Object Push" (0x1105)
Version: 0x0100

Service Name: OBEX File Transfer
Service RecHandle: 0x1002c
Service Class ID List:
"OBEX File Transfer" (0x1106)
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 10
"OBEX" (0x0008)
Language Base Attr List:
code_ISO639: 0x656e
encoding: 0x6a
base_offset: 0x100
Profile Descriptor List:
"OBEX File Transfer" (0x1106)
Version: 0x0100

Service Name: SyncML Client
Service RecHandle: 0x1002e
Service Class ID List:
"Error: This is UUID-128" (0x00000002-0000-1000-8000-0002ee000002)
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 11
"OBEX" (0x0008)
Language Base Attr List:
code_ISO639: 0x656e
encoding: 0x6a
base_offset: 0x100

Service Name: SIM ACCESS
Service RecHandle: 0x1002f
Service Class ID List:
"SIM Access" (0x112d)
"Generic Telephony" (0x1204)
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 4
Language Base Attr List:
code_ISO639: 0x656e
encoding: 0x6a
base_offset: 0x100
Profile Descriptor List:
"SIM Access" (0x112d)
Version: 0x0101


Verifica la conexión con el dispositivo

UnderHouse linux # l2ping -i hc0 00:16:4E:C5:09:32
Ping: 00:16:4E:C5:09:32 from 00:13:EF:F1:42:CE (data size 44) ...
0 bytes from 00:16:4E:C5:09:32 id 0 time 55.88ms
0 bytes from 00:16:4E:C5:09:32 id 1 time 8.80ms
0 bytes from 00:16:4E:C5:09:32 id 2 time 8.84ms
3 sent, 3 received, 0% loss


Integración con GNOME

Paquetes necesarios:


UnderHouse linux # eix gnome-bluetooth
[I] net-wireless/gnome-bluetooth
Available versions: 0.7.0-r1 (~)0.8.0
Installed: 0.8.0(08:24:26 30/01/07)(debug)
Homepage: http://live.gnome.org/GnomeBluetooth
Description: Gnome2 Bluetooth integration suite




UnderHouse linux # eix libbtctl
[D] net-wireless/libbtctl
Available versions: 0.6.0-r1 (~)0.8.1
Installed: 0.8.2(08:38:43 30/01/07)(debug doc -mono)
Homepage: http://live.gnome.org/GnomeBluetooth
Description: A GObject wrapper for Bluetooth functionality


Con esto ya es mucho más fácil enviar y recivir archivos de la pc al celular y vicevrza..

Para pasar archivos a la pc

Ejecutamos: gnome-obex-server

Nos aparecerá un icono en la barra de notificación de GNOME, quiere decir que estamos listo para recibir archivos. Tenemos que marcar nuestros(as) imagenes/videos/música/tonos/juegos, después:
enviar > Vía Bluetooth > Seleccionamos el dispositivo Bluez 0 > Seleccionar/Aceptar/Enviar > Esperamos a que termine la barra de progreso y tendrá que aparecer una ventana de notificación como la siguiente:



Para enviar archivos

Ejecutamos: gnome-obex-send file.mp3

Aparecerá una ventana donde nos pide elegir el dispositivo a enviar, seleccionamos el nuestros y vemos la barra de progreso mienras finaliza..





Integración con NAUTILUS

Paquete necesario:


[I] gnome-extra/nautilus-sendto
Available versions: (~)0.8 (~)0.8-r1
Installed: 0.8-r1(08:44:16 30/01/07)(bluetooth debug -eds -gaim -gajim -sylpheed -thunderbird)
Homepage: http://www.gnome.org/
Description: A nautilus extension for sending files to locations


Nota: A mí me surgieron problemas usando algunas versiones de los paquetes, para que todo salga correcto tuvé que tener gnome-bluetooth-0.8.0 y libbtctl-0.8.2

Con esto el envio de archivos es mucho más fácil con ayuda del explorador de archivos, sólo damos clic derecho en el archivo que queremos enviar y confirmar el archivo a enviar y el dispositivo correspondiente.






Espero les seá de útilidad.

Referencias usadas (muchas xD): http://www.google.com.mx/linux

sábado, agosto 19, 2006

[Howto] Soporte a escaners en GNU/Linux (Multifuncional Epson Stylus CX1500)

[Howto] Soporte a escaners en GNU/Linux (Multifuncional Epson Stylus CX1500)

Andaba como si nada navegando por google hasta que me tope con esto: http://stargeizer.blogspot.com/2006/01/epson-cx-1500-bajo-linux.html , enseguida me di la tarea de investigar si el soporte ya estaba mejor que antes, lo cuál habia un soporte clasificado como bueno y no completo, pero que funciona a las mil maravillas :D

Bueno voy a tratar de orientar a los usuarios a poder dar soporte a sus escanners así como yo lo he realizado con la multifuncional Epson Stylus CX1500 (escaner, impresora y copiadora)..

La parte del soporte para la impresora la dejo a un lado ya que no es objetivo del tema, simplemente decir que esta soportada por el paquete guteprint..


http://www.linuxprinting.org/show_printer.cgi?recnum=Epson-Stylus_CX1500

Para dar soporte a la mayoria de escaners necesitamos sane (http://www.sane-project.org/) que es una API.

Como sabes si mi escaner es soportado?

Dirígete a: http://www.sane-project.org/sane-mfgs.html
También esta la versión cvs http://www.sane-project.org/lists/sane-mfgs-cvs.html

Antes de instalar Sane

Si una vez que aseguramos que el dispositivo esta soportado, vamos a verifícar si el escaner es detectado por el kernel. En mi caso es un dispositivo conectdo por USB y el kernel no lota como impresora (será por es impresora también).

Para resumir, si tu impresora se conecta para USB tienes que tener el soporte en el Kernel, al igual forma con SCSI..

Para esto disponemos de varias herramientas como veremos en seguida:


UnderHouse # cat /proc/bus/usb/devices
T: Bus=01 Lev=01 Prnt=01 Port=01 Cnt=02 Dev#= 2 Spd=12 MxCh= 0
D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
P: [b]Vendor=04b8 ProdID=080c[/b] Rev= 1.00
S: Manufacturer=EPSON
S: Product=USB MFP
S: SerialNumber=N05060409192322050
C:* #Ifs= 2 Cfg#= 1 Atr=c0 MxPwr= 2mA
I: If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
E: Ad=02(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms
E: Ad=82(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms
I: If#= 1 Alt= 0 #EPs= 2 Cls=07(print) Sub=01 Prot=02 Driver=usblp
E: Ad=01(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms
E: Ad=81(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms

UnderHouse # lshal | less
udi = '/org/freedesktop/Hal/devices/usb_device_4b8_80c_N050604
09192322050_if1_printer_noserial'
info.udi = '/org/freedesktop/Hal/devices/usb_device_4b8_80c_N05060409192
322050_if1_printer_noserial' (string)
printer.description = 'EPSON Stylus CX1500' (string)
printer.product = 'Stylus CX1500' (string)
printer.vendor = 'EPSON' (string)
info.vendor = 'EPSON' (string)
linux.device_file = '/dev/usb/lp0' (string)
linux.subsystem = 'usb' (string)
linux.hotplug_type = 2 (0x2) (int)
printer.physical_device = '/org/freedesktop/Hal/devices/usb_device_4b8_80c_N05060409192322050_if1' (string)
printer.device = '/dev/usb/lp0' (string)
info.product = 'Stylus CX1500' (string)
info.capabilities = {'printer'} (string list)
info.category = 'printer' (string)
info.parent = '/org/freedesktop/Hal/devices/usb_device_4b8_80c_N05060409192322050_if1' (string) linux.sysfs_path_device = '/sys/devices/pci0000:00/0000:00:1d.0/usb1/1-2/1-2:1.1' (string)
linux.sysfs_path = '/sys/class/usb/lp0' (string)



UnderHouse ~ # lsusb
Bus 004 Device 001: ID 0000:0000
Bus 001 Device 002: ID 04b8:080c Seiko Epson Corp.
Bus 001 Device 001: ID 0000:0000
Bus 002 Device 001: ID 0000:0000
Bus 003 Device 001: ID 0000:0000
Si se fijan en lo de arriba ahora ya sabemos con exactitud el nombre del disposituvo y la ruta: /dev/usb/lp0 , además los códigos que identifican al proveedor y el ID del producto..

Instalación de Sane

Primero hay que darnos cuenta que sane maneja dos tipos de paquetes principalmente, uno es el API para los dispositivos llamado sane-backendsy otro es un par de utilerías para el usuario llamado sane-frontends.

Sane-frontends - Algunas de las herramientas que nos proporciona es:

xcam Un GUI para escanear desarrolado en GTK+ me parece.

sane-find-scanner Como su nombre lo dice, es para ver si detecta el escaner, pero como ya vimos que si está soportado no lo considero muy importante. Un ejemplo:


UnderHouse # sane-find-scanner

# sane-find-scanner will now attempt to detect your scanner. If the
# result is different from what you expected, first make sure your
# scanner is powered up and properly connected to your computer.

# No SCSI scanners found. If you expected something different, make sure that
# you have loaded a kernel SCSI driver for your SCSI adapter.

found USB scanner (UNKNOWN vendor and product) at device /dev/usbscanner
found USB scanner (vendor=0x0ac8 [V Micro. Corp.], product=0x0302 [PC Camera]) at libusb:001:003
found USB scanner (vendor=0x04b8 [EPSON], product=0x080c [USB MFP]) at libusb:001:002
# Your USB scanner was (probably) detected. It may or may not be supported by
# SANE. Try scanimage -L and read the backend's manpage.
# `UNKNOWN vendor and product' means that there seems to be a scanner at this
# device file but the vendor and product ids couldn't be identified.
# Currently identification only works with Linux versions >= 2.4.8. You may
# need to configure your backend manually, see the backend's manpage.

# Not checking for parallel port scanners.

# Most Scanners connected to the parallel port or other proprietary ports
# can't be detected by this program.


Más información: man sane-find-scanner

scanadf Esta es una que me ha gustado xD, no es necesario ajustar absolutamente nada, solo la ejecutas y te escanea la imagen y la coloca en tu home de tu usuario (Asi de simple, asi de sencillo :P)

Sobre sane-frontends: http://www.sane-project.org/sane-frontends.html


Instalando bajo las fuentes: Baja el paquete en el formato que más te convenga de aquí http://www.sane-project.org/source.html

La instalación de fuentes es normalmente como siempre..

Si tu dispositivo tiene soporte en la versión en desarrollo, tienes las instrucciones para CVS: http://www.sane-project.org/cvs.html

Instalando en gentoo:


# echo "media-gfx/sane-backends ~x86" >> /etc/portage/package.keywords

# echo "media-gfx/sane-frontends ~x86" >> /etc/portage/package.keywords

# echo "media-gfx/sane-frontends gimp" >> /etc/portage/package.use

# emerge sane-backends sane-frontends

Configurando dispositivo scanner:

Kerel >= 2.6.3 + Hotplug

Debemos verificar que el scanner este en la lista de sane, debemos buscar con el código del ID del producto que obtuvimos al inicio


UnderHouse ~ # grep 080c /etc/hotplug/usb/libsane.usermap
libusbscanner 0x0003 0x04b8 0x080c 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x00000000



Ahora nos dirigimos a /etc/sane.d/ donde buscaremos el fabricante de nuestro escaner y es el que contendra la configuración del dispositivo

# epson.conf
#
# here are some examples for how to configure the EPSON backend
#
# SCSI scanner:
scsi EPSON
# for the GT-6500:
scsi "EPSON SC"
#
# Parallel port scanner:
#pio 0x278
#pio 0x378
#pio 0x3BC
#
# USB scanner:
# There are two different methods of configuring a USB scanner: libusb and the kernel module
# For any system with libusb support (which is pretty much any recent Linux distribution) the
# following line is sufficient. This however assumes that the connected scanner
(or to be more
# accurate, it's device ID) is known to the backend.

## Especificamos el id del producto y del dispositivo

usb 04b8 080c

# For libusb support for unknown scanners use the following command
# usb
# e.g.:
# usb 0x4b8 0x110
# And for the scanner module, use the following configuration:
usb /dev/usbscanner0
usb /dev/usb/scanner0


Ya solo falta agregar nuestro usuario al grupo scanner


UnderHouse ~ # gpasswd -a soullost scanner
Añadiendo al usuario soullost al grupo scanner


En gentoo hay que modificar el archivo /etc/hotplug/usb/libusbscanner, quedando de esta manera:

#!/bin/sh

# This file is part of sane-backends.
#
# This script changes the permissions and ownership of a USB device under
# /proc/bus/usb to grant access to this device to users in the scanner group.
#
# Ownership is set to root:scanner, permissions are set to 0660.
#
# Arguments :
# -----------
# ACTION=[add|remove]
# DEVICE=/proc/bus/usb/BBB/DDD
# TYPE=usb


if [ -z "$DEVICE" ] ; then
IF=$(echo $DEVPATH | sed 's:\(bus/usb/devices/\)\(.*\)-\(.*\):\2:')
DEV=$(echo $DEVPATH | sed 's:\(bus/usb/devices/\)\(.*\)-\(.*\):\3:')
DEV=$(expr $DEV + 1)
DEVICE=$(printf '/proc/bus/usb/%.03d/%.03d' $IF $DEV)
fi

if [ "$ACTION" = "add" -a "$TYPE" = "usb" ]; then
chown root:scanner "$DEVICE"
chmod 0660 "$DEVICE"
fi


# That's an insecure but simple alternative
# Everyone has access to the scanner

# if [ "$ACTION" = "add" -a "$TYPE" = "usb" ]; then
# chmod 0666 "$DEVICE"
# fi


Si tienes el demonio hotplug iniciado, habrá que reiniciarlo

service hotplug restart
/etc/init.d/hotplug restart

Y listo! ya puedes verificar con las herramientas de sane-forntends que todo este funcionando como debe de ser..

Más programas para escanear

- Xsane Este GUI de sane es lo mejor que hay, es bastante configurable y además permite la edición de las imagenes..


UnderHouse ~ # eix xsane
* media-gfx/xsane
Available versions: 0.991
Installed: 0.991
Homepage: http://www.xsane.org/
Description: graphical scanning frontend

Free Image Hosting at www.ImageShack.us

Free Image Hosting at www.ImageShack.us

- Xcam ( sane-frontends) No me gusto tanto como xsane, además al escanear, la aplicación se deforma por que la imagen es demasiado grande :lol:

Free Image Hosting at www.ImageShack.us

- Integración en Gimp

Free Image Hosting at www.ImageShack.us

- Integración en OpenOffice

Free Image Hosting at www.ImageShack.us

Mucha más información en:

SANE - Frontends (Applications) - http://www.sane-project.org/sane-frontends.html
The Scanner HOWTO - http://tldp.org/HOWTO/Scanner-HOWTO/index.html

Saludos!!

sáb 19 ago 2006 11:25:10 MDT

viernes, junio 09, 2006

Soporte Webcams en GNU/Linux

¿Quién dice que no puedes charlar en messenger con webcam o similares?

Esto falso desde hace tiempo :D..

Hace un par de días compré dos camaras web con las siguientes características:

Creative Wecam Instant $375


* Sensor CMOS 352 x 288 (CIF)
* Captura de vídeo de hasta 352 x 288
* Captura de imágenes fijas a 640 x 480 (software mejorado)
* Botón de instantáneas
* Conexión USB 1.1
* Una base flexible de tres patas se coloca sobre una superficie
plana y se fija a un panel plano o a la pantalla de un portátil
* Compatible con Yahoo!® Messenger, AIM, MSN® Messenger,
Windows® Messenger y otras aplicaciones de mensajería instantánea


Samsung Webcam Pleomax $649


# 300k píxeles, color VGA (640 x 480) sensor CMOS
# Micrófono incorporado
# Compatible con archivos MPEG
# No necesita ninguna tarjeta de captura ni adaptador.
# Soporta aplicaciones de video conferencia tipo
Yahoo, Messenger, NetMeeting...
# Plug and Play.
# Disponible en color blanco y negro
# Windows 98/ME/NT/2000/XP
# Puerto USB


Para darle soporte en nuestro Linux necesitamos instalar el driver Spca5xx, con este driver trabajan las dos camaras web..

Antes de instalar debemos asegurarnos de tener la siguiente opción habilitada en el kernel o levantar el módulo vdeodev:

Device Drivers --->
Multimedia devices --->
Video For Linux


Tambíen asegurarse que la versión de gcc que usen seá la misma con la que fue compilado el kernel ( mirar en /proc/version)..

Código Fuente

wget http://mxhaard.free.fr/spca50x/Download/spca5xx-20060501.tar.gz
tar -xvzf spca5xx-20060501.tar.gz
cd spca5xx-20060501
make clean
make
su -c "make install"
modprobe spca5xx


Mi querido Gentoo xD

emerge --sync
emerge spca5xx


Debian y similares

apt-get install spca5xx-source



Paquetes para otras distribuciones

http://mxhaard.free.fr/download.html


Levantar el módulo con modprobe y agregar ese mismo módulo para que inicie desde el arranque del sistema de tu distribución preferida =)
Ya sólo falta colocar nuestra webcam al puerto USB y listo XD

Para tomar fotografías pueden usar camorama de gnome.

* media-video/camorama
Available versions: 0.16 0.17
Installed: 0.17
Homepage: http://camorama.fixedgear.org/
Description: A GNOME 2 Webcam application featuring various image filters.


Found 1 matches

Videoconferencias

* net-im/gnomemeeting
Available versions: 0.98.0 0.98.5 0.98.5-r1 1.00 1.0.2
1.0.2-r1 1.2.1 1.2.2
Installed: 1.2.2
Homepage: http://www.gnomemeeting.org/
Description: H.323 videoconferencing and VoIP softphone


Found 1 matches


Un ejemplo de fotografía de la segunda camara (tienes mucha mejor calidad que la primera)..
Free Image Hosting at www.ImageShack.us
Free Image Hosting at www.ImageShack.us

Usar el messenger con webcam

Mas sencillo, sólo hay que bajarse la última versión del amsn y después enviar una invitación para que tus contactos puedan ver la webcam:

* net-im/amsn
Available versions: 0.94 0.95-r2
Installed: 0.95-r2
Homepage: http://amsn.sourceforge.net
Description: Alvaro's Messenger client for MSN


Ha por cierto, olvidaba xD, hay que abrir el siguiente rango de puertos en tu router o firewall:

Application: aMSN
Start: 6890
End: 6900
Protocol: Both(TCP & UDP)
IP: xxx.xxx.x.xxx
Enabled: X (Yes/True)


Además pueden configurar el contraste, brillo, etc, en el amsn desde Acciones > Configurar Webcam

Bastante sencillo no? =)

Saludos!!

sábado, marzo 11, 2006

Montando imagenes *.ISO,*.NRG, en red

Este es un pequeño truco para poder montar imagenes de CDROM (iso9660) como carpetas para compartir mediante samba =) ó el uso que ustedes le den ( en mi caso fue el que mencioné)..

Pues habia bajado el Autocad 2006 y no tenia CD-R para grabarlo xD asi que me puse a investigar un poco y la solución es esta:

Para montar una imagen *.ISO


mkdir FIFACD1
su -c "mount -t iso9660 -o loop FIFA2006.iso FIFACD1
ls FIFACD1


Para montar una imagen *.NRG (nero)

Las imagenes *.nrg son imagenes con formato iso9060 pero con informaxión extra en la cabecera..
Para poder montar una imagen necesitamos pasar el parametro offset, el cuál se calcula de la siguiente manera:

Necesitamos saber el offset de la imagen (que será el primer valor)

od -Ax -s Autodesk.Autocad.2006.Español_Spanish.by_ZaPateroDimision.nrg | head
053008 AutoCAD 2006 Esp ACAD2006esp
053857 @%/@
055065 gpmain.lsp
056060 qqd)e
057065 Bin,
057089 acadcd.mid
0570b5 autorun.inf*
0570e1 setup.exe*
05710b setup.ini
0589d8 .text


Este valo se lo restaremos a 008008, el cuál es el valor hexadecimal de una imagen *.ISO estandar, para esto podemos utilizar la calculador de gnome y hacer lo siguiente:

Inciar la calculadora
Vista > Cientifico
Establecer en modo Hexadecimal ( Hex ) y efectuar la operación. Una vez teniendo el resultado cambiar a modo decimal xD

Por lo regular siempre será el valor 307200 que dará como resultado en decimal pero si algún dia una imagen da un problema, ps ya saben como solucionarlo =D

Después a montar la imagen:


mkdir AutoCad2006
su -c "mount -t iso9660 -o loop,offset=307200 Autodesk.Autocad.2006.Español_Spanish.by_ZaPateroDimision.nrg AutoCad2006"

soullost@UnderHouse ~/compartir $ ls AutoCad2006/
acadcd.mid autorun.inf Bin setup.exe setup.ini


Y es todo ya puedes poner esas carpetas creadas en red para poder instalar en cualquier pc =)

Un screenshot:

Free Image Hosting at www.ImageShack.us

Free Image Hosting at www.ImageShack.us

Free Image Hosting at www.ImageShack.us

Saludos!!

jueves, febrero 02, 2006

Des/montaje de Memoria USB en Caliente


Apenas hice una compra de una memoria USB Kingston de 512 MB (mas que necesario XD, ya es una necesidad no un lujo)..
Para sopresa el gnome 2.12 ahora estable en gentoo me monto y desmonto automaticamente el dispositivo y la reconocio correctamente =), al parecer no realizé nada por que antes habia dado soporte a un impresora USB EPSON CX 1500 para que la detectara de la mismo forma..



Hay que tener soporte en el kernel de la siguiente forma:


Loadable module support --->
[*] Enable loadable module support
[*] Module unloading
[*] Automatic kernel module loading

Device Drivers

[*] Plug and Play support

USB support

[*] USB device filesystem
Support for Host-side USB
EHCI HCD (USB 2.0) support
OHCI HCD support
UHCI HCD (most Intel and VIA) support
USB Mass Storage support

File systems --->
DOS/FAT/NT Filesystems --->
VFAT (Windows-95) fs support


En gentoo hay dos demonios que cargan los modulos al inicio del sistema (claro si tienes un kernel modular): Coldplug y Hotplug
En mi caso uso coldplug y lo arranco al iniciar el sistema. También en vez de usar supermount uso ivman + hald + coldplug (seguir esta guia Ivman, sustituto de supermount)

La unica desventaja de ivman es que no funciona con los disquettes XD (ya casí obsoletos), si quieren usar supermount los usuarios de gentoo deberan usar las sources originales del kernel (vainilla creo se llaman). Aqui esta una guia Supermount

El unico problema que se me presento es que no tenia permisos para leer, escribir ni ejecutar nada en /media/Kingston, para esto miré que sucede y solo bastaba con agregar mi usuario al grupo plugdev


soullost@UnderHouse ~ $ ls -l /media
total 16
drwxrwx--- 3 ivman plugdev 16384 Dec 31 1969 Kingston

gpasswd -a soullost plugdev

soullost@UnderHouse ~ $ id
uid=1000(soullost) gid=100(users) groups=10(wheel),11(floppy),18(audio),19(cdrom),27(video),35(games),
80(cdrw),81(apache),85(usb),100(users),409(qemu),410(plugdev),411(vmware)


miércoles, febrero 01, 2006

Intel Pro/100 en Linux XD

Hoy (mas bien dicho ayer, ya es de madrugada xD ) llevó un chavo al curso su super pc (hd de 200 GB creo, RAM 1 GB, etc) para que el maestro le dierá soporte a la tarjeta Ethernet en Linux..

Resulta que fui a mirar que hacian y pum al ultimo termine dandole soporte =), siempre les recomiendo que antes de dar soporte a cualquier cosa en el kernel esten seguros de cual es su dispositivo (nombre, modelo) y de ahi busquen el modulo o "controlador" que use Linux para darle soporte.

Ps como este amigo no sabia ni como se llamaba su tarjeta Ethernet XD, realize algunos comandos para obtener un poco de información, aparte de verificar en windows la información ( vaya idea del maestro ¬¬ xD )

dmesg este manda a pantalla avisos del kernel, por ejemplo, dispositivos conectados recientemente o algún error con el hardware


Intel(R) PRO/100 Network Driver - version 2.3.38-k1


modprobe -l | grep net La primera parte ( separada por "|") muestra absolutamente todos los modulos o "controladores" qie soporta el kernel actual. La segunda parte hace una busqueda por la categoria "net" (la verdad solo busca cualquier cadena con "net") igual pueden poner directamente el nombre del modulo que da soporte a nuestro dispositivo si ya saben cual es (solo para verificar si existe el modulo y lo podemos cargar).
El resultado da una lista algo asi:


/lib/modules/2.6.14-gentoo-r5/kernel/drivers/net/mii.ko
/lib/modules/2.6.14-gentoo-r5/kernel/drivers/net/epro100.ko


modinfo e100 Este da un poco de información sobre el modulo:


escription: Intel(R) PRO/100 Network Driver
author: Copyright(c) 1999-2004 Intel Corporation
license: GPL
parm: debug:Debug level (0=none,...,16=all)
vermagic: 2.6.6-1.435.2.3 686 REGPARM 4KSTACKS gcc-3.3
depends: mii
alias: pci:v00008086d00001029sv*sd*bc02sc00i*
alias: pci:v00008086d00001030sv*sd*bc02sc00i*
alias: pci:v00008086d00001031sv*sd*bc02sc00i*


modprobe modulo Pues una vez sabiendo que esta el modulo que soporta el dispositivo solo queda levantarlo.. Esto se hace con el nombre del modulo quitandole la extención .ko por asi decirlo:

modprobe e100

ifconfig eth0 up mtu 1500 netmask 255.255.255.0 192.x.x.x Con esto le indicamos que levante la interfaz de red y le asigne una ip "192.x.x.x" y una mascara de red "255.255.255.0".

Ps con este es suficiente, ya solo quedo crear un archivo ifcfg-eth0 para que lo arrancará desde el inicio del sistema y no será necesario volver a repetir los datos =). Eso depende en gran medida de la distribución que manejes..

Solo para verificar hagan un ping a algún equipo de la red que pertenesca a la subred correspondiente..