domingo, agosto 24, 2008

Acceder al dockstation

Para acceder a la unidad de dvd que tenemos en la dockstation y al puerto firewire necesitamos instalar los siguiente módulos:
sbp2
ohci1394
ieee1394

Esto está en Device Drivers -> IEEE 1394 (FireWire) support. Y activamos como módulo:
IEEE 1394 (FireWire) support
OHCI-1394 support
SBP-2 support (Harddisks etc.)

También necesitamos tenemos el soporte SCSI: Device Drivers -> SCSI device support. Y activamos como módulo:
SCSI device support
SCSI CDROM support

Compilamos, instalamos y cargamos... tiene que aparecer en dmesg algo parecido a esto:
ohci1394: fw-host0: OHCI-1394 1.0 (PCI): IRQ=[10] MMIO=[e0202000-e02027ff] Max Packet=[2048] IR/IT contexts=[4/4]
ieee1394: The root node is not cycle master capable; selecting a new root node and resetting...
ieee1394: Node added: ID:BUS[0-00:1023] GUID[0000f041a000b057]
ieee1394: Host added: ID:BUS[0-01:1023] GUID[0000f04120067e39]
SCSI subsystem initialized
scsi0 : SBP-2 IEEE-1394
ieee1394: sbp2: Logged into SBP-2 device
ieee1394: sbp2: Node 0-00:1023: Max speed [S400] - Max payload [2048]
scsi 0:0:0:0: CD-ROM TSSTcorp CD/DVDW TS-L632B TM31 PQ: 0 ANSI: 0
Driver 'sr' needs updating - please use bus_type methods
sr0: scsi3-mmc drive: 24x/24x writer dvd-ram cd/rw xa/form2 cdda tray
Uniform CD-ROM driver Revision: 3.20
sr 0:0:0:0: Attached scsi CD-ROM sr0
sr 0:0:0:0: Attached scsi generic sg0 type 5
Driver 'sd' needs updating - please use bus_type methods

Ahora tenemos la unidad dvd en /dev/sr0

domingo, julio 13, 2008

Bluetooth

Ahora vamos a conectar nuestro bluetooth-usb a nuestro portátil.

El usb es de conceptronic, y lo primero es compilar los módulos:
Networking -> Bluetooth subsystem support -> Aquí activar todas las opciones.
y en Bluetooth device drivers: HCI USB driver y HCI VHCI (Virtual HCI device) driver

Una vez hecho, nos tenemos que instalar las utilidades desde http://www.bluez.org/download/:
bluez-libs
./configure --prefix=/usr/local/bluetooth --localstatedir=/var

bluez-utils
Para instalar este paquete necesitamos libnl; hay que aplicar el siguiente parche:
--- libnl-1.0/lib/route/link/vlan.c.orig 2008-01-16 22:59:21.000000000 -0800
+++ libnl-1.0/lib/route/link/vlan.c 2008-01-16 22:59:36.000000000 -0800
@@ -27,6 +27,9 @@
#include

#include
+#ifndef VLAN_FLAG_REORDER_HDR
+#define VLAN_FLAG_REORDER_HDR 0x01
+#endif

/** @cond SKIP */

#define VLAN_HAS_ID (1<<0)>
./configure --prefix=/usr/local/bluetooth

También necesitamos una versión actual de la glib, porque las utils utilizan una función relativamente nueva "g_timeout_add_seconds"

Ahora instalamos las utils:
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/bluetooth/lib/pkgconfig

CPPFLAGS=-I/usr/local/bluetooth/include LDFLAGS=-L/usr/local/usb/lib ./configure --prefix=/usr/local/bluetooth --localstatedir=/var --enable-alsa --enable-usb --enable-netlink --enable-tools --enable-bccmd --enable-hid2hci --enable-dfutool --enable-hidd --enable-pand --enable-dund --enable-manpages --enable-configfiles --enable-initscripts --enable-pcmciarules --enable-debug --enable-test

Una vez compilado e instalado también debemos copiar del directorio test el programa passkey-agent a /usr/local/bluetooth/bin

bluez-firmware
./configure --prefix=/usr/local/bluetooth

bluez-hcidump
./configure --prefix=/usr/local/bluetooth

Si conectamos nuestro bluetooth debe aparcer en dmesg:
usb 1-1: USB disconnect, address 12
usb 1-1: new full speed USB device using uhci_hcd and address 13
usb 1-1: configuration #1 chosen from 1 choice
Bluetooth: Core ver 2.11
NET: Registered protocol family 31
Bluetooth: HCI device and connection manager initialized
Bluetooth: HCI socket layer initialized
Bluetooth: HCI USB driver ver 2.9
usbcore: registered new interface driver hci_usb

Ahora levantamos el interfaz: hciconfig hci0 up

Si ponemos hciconfig debe aparecer:
hci0: Type: USB
BD Address: 00:80:5A:46:58:97 ACL MTU: 384:8 SCO MTU: 64:8
UP RUNNING
RX bytes:1845 acl:0 sco:0 events:41 errors:0
TX bytes:153 acl:0 sco:0 commands:22 errors:0

Para buscar los dispositivos: hcitool scan; tiene que aparecer una lista de los dispositivos a su alcance.

passkey-agent --default '1234' &

dejando en ejecución el programa que suministra la clave. Como esta solución parece poco elegante voy a utilizar udev para que ejecute el programa "passkey-agent" cada vez que conecte el dispositivo bluetooth usb. udev es un sistema que se encarga de la creación dinámica de dispositivos.

Editamos un fichero llamado:

/etc/udev/rules.d/60-reglasmias.rules


y le añadimos la siguiente línea:

ACTION=="add", SUBSYSTEM=="usb_device", SYSFS{idVendor}=="0a12", SYSFS{idProduct}=="0001", RUN+="/usr/bin/passkey-agent --default '1234'
"

En resumidas cuentas, le estamos diciendo a udev que cuando de conecte el dispositvo con los idVendor e idProduct especificados ejecute el programa "passkey-agent".
Los valores de IdVendor e idProducto corrresponden a un adaptador bluetooth Conceptronics. Para averiguar los valores concretos en tu caso deberías ejecutar:

lsusb

para averiguar tus identificadores de dispositivo concretos.

Una vez creado o modificado el fichero ejecutamos:

start_udev

para reiniciar los servicios udev. Ahora cada vez que conectamos el dispositivo USB bluetooth tendremos el programa "passkey-agent" en ejecución.


Audio:
En /usr/local/sonido/lib/alsa-lib, ln -s /usr/local/bluetooth/lib/alsa-lib/libasound_module_* .
En $HOME/.asoundrc
pcm.bluetooth {
type bluetooth
device 00:1A:80:45:AC:57
profile "hifi"
}

mplayer -ao alsa:device=bluetooth file.mp3

martes, julio 08, 2008

viernes, julio 27, 2007

Creative Zen V Plus

Para que linux pueda leer/escribir en el Zen V, necesitamos instalar la librería libmtp. Para que la librería compile y funcione necesitas: primero que tengas montado el sistema de ficheros usbfs. Mira en /etc/fstab si tiene la siguiente línea:
none /proc/bus/usb usbdevfs noauto,devmode=0666 0 0

También necesitas la librerías libusb:
tar xf libusb-0.1.12.tar.gz
cd libusb-0.1.12
./configure --prefix=/usr/local/usb
make
#Como root
make install

Para que el configure de la libmtp encuentre bien la libusb:
export LDFLAGS=-L/usr/local/usb/lib
export CPPFLAGS=-I/usr/local/usb/include

Ahora compilamos la libmtp:
tar xf libmtp-0.1.5.tar.gz
cd libmtp-0.1.5
./configure --prefix=/usr/local/zen
make
#Como root
make install
cp libmtp.rules /etc/udev/rules.d/82-mtp.rules
udevcontrol reload_rules

Si ahora conectamos el Zen en /dev se crearán varios enlaces simbólicos mtp -> usbdev. Lo puedes ver poniendo ls -lrt /dev

Vamos a probar si le detecta nuestro Zen. /usr/local/zen/bin/mtp-detect. Tiene que salir info del Zen.

Para instalar un entorno gráfico busca en la página de libmtp sección Downstream el que más te guste.

miércoles, enero 17, 2007

wifi con WPA III

Me he comprado la Wii y la he configurado con WPA, para hacerlo compatible he puesto el router utilice wpa y wpa2, y encripción TKIP y AES...

Ademas he modificado el fichero de configuración /usr/local/wifi/etc/wpa:
ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=0

ap_scan=1

network={
ssid="MISSSID"
scan_ssid=1
psk="XXXXXXXX"
}

Para que el propio wpa_supplicant decida que utlizar.

miércoles, enero 03, 2007

wifi con WPA II

Con mi router wireless Comtrend HG536+ tengo problemas para identificarme mediante WPA, he configurado el router a WPA2 y en /usr/local/wifi/etc/wpa modifica a proto=WPA2.

Y parece que funciona.

sábado, diciembre 23, 2006

wifi con WPA

Nos bajamos wpa_supplicant. Editamos el fichero defconfig y descomentamos la línea CONFIG_DRIVER_IPW=y. También he añadido la lineas:
CFLAGS += -I/usr/local/ssh/include
LIBS += -L/usr/local/ssh/lib

Porque en /usr/local/ssh es donde tengo el OpenSSL y por último sed -i "s:-lcrypto:/usr/local/ssh/lib/libcrypto.a -ldl:g" Makefile

y copiamos el fichero defconfig a .config

Ahora make, después copiaremos los ejecutables wpa_cli y wpa_supplicant a el directorio /usr/local/wifi/sbin

Ahora creamos el archivo de configuración /usr/local/wifi/etc/wpa:
ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=0

#Si ocultamos el SSID en el router
ap_scan=2

network={
ssid="MISSSID"
scan_ssid=1
proto=WPA
key_mgmt=WPA-PSK
pairwise=TKIP
group=TKIP
psk="XXXXXXXX"
}

Y lo lanzamos: /usr/local/wifi/sbin/wpa_supplicant -c /usr/local/wifi/etc/wpa -i eth1 -D wext -dd

Para comprobar que estamos conectados: /usr/local/wifi/sbin/wpa_cli status
Selected interface 'eth1'
bssid=00:16:38:c4:b9:51
ssid=MISSSID
pairwise_cipher=TKIP
group_cipher=TKIP
key_mgmt=WPA-PSK
wpa_state=COMPLETED
ip_address=192.168.1.20

Ya podemos levantar el interfaz: ifup eth1 ipv4

Para parar wpa_supplicant, /usr/local/wifi/sbin/wpa_cli terminate