Hate to admit it, but it's the real truth
Categories: Tarros, GNU/Linux, HacksDebo admitir una cosa : tengo suerte en algunos aspectos no-cotidianos. Pero suerte, al fin y al cabo.
Voy a partir por una conversación con un compañero de pensión hace mas de dos años acerca de la pelicula The Matrix. No los voy a aburrir con los detalles, pero tenía que ver con "Navras", una canción que aparece en la banda sonora de la película. El me contó que parte de las letras del tema provienen de las Upanishads, escrituras hindues (de hecho, el es hindú ). Me prestó además un libro con algunas de ellas, que ya no recuerdo.
Desde esa vez, sólo me he topado unas cuantas veces con libros que contengan algunas de ellas. Hoy fue uno de ellos.
Pero volvamos al principio del dia.
Compré este juguete hace unos dias. Y recien lo recibí hoy.
![]()
Si no saben que es, no pregunten ![]()
(Es una interfaz USB-Midi. No tengo ningún computador con interfaz midi y mis tarjetas de sonido PCI/ISA están en estado de Kaput).
Estaba justo en medio del orden de una oficina cuando pensé que sería una buena idea tratar de hacerlo funcionar. En Linux. Primero partí por lo obvio, conectarlo.
[ 1687.870000] usb 3-2: new full speed USB device using uhci_hcd and address 3
[ 1688.374000] usb 3-2: configuration #1 chosen from 1 choice
Hmmm. Nada de dispositivos de audio. Ni tampoco una coqueta luz encendida en el gizmo este. Pensé que la mejor solución podría ser Google. Pero por alguna extraña razón no lo hice. Vamosle offline.
Partí por buscar algo similar a la marca en los paquetes de Ubuntu:
# apt-cache search midisport
midisport-firmware - firmware for most MidiSport USB MIDI interfaces
Y el dispositivo estaba en la lista de lsusb:
$ lsusb
...
Bus 003 Device 003: ID 0763:1001 Midiman
...
Aun así, no había nada. Instalar el paquete de midisport-firmware. Ni eso lo resolvió.
Mirando dentro del paquete de midisport, vi algo que me llamó la atención:
# dpkg -L midisport-firmware
...
/etc/udev/rules.d/85-midisport-firmware.rules
Un archivo de opciones para udev. Interesante.
Y mirando dentro...
...
ACTION=="add", SUBSYSTEM=="usb_device", ATTRS{idVendor}=="0763", ATTRS{idProduct}=="1001", RUN+="/sbin/fxload -s /lib/firmware/maudio/MidiSportLoader.ihx -I /lib/firmware/maudio/MidiSport2x2.ihx"
Los valores correspondían, pero esto no andaba ni pa elante ni pa tras.
Se me ocurrió ejecutar la sentencia RUN que estaba ahí. Sorpresa! No funcionaba. Error.
fxload requería que cargara un dispositivo a mano (/dev/algo), pero como no sabía nada de udev, sólo encontré que podría crear un enlace simbólico a este dispositivo recien creado usando la sentencia SYMLINK. E indicar a fxload que cargara el firmware con el dispositivo recien creado...
...
ACTION=="add", SUBSYSTEM=="usb_device", ATTRS{idVendor}=="0763", ATTRS{idProduct}=="1001", SYMLINK="midisport", RUN+="/sbin/fxload -s /lib/firmware/maudio/MidiSportLoader.ihx -I /lib/firmware/maudio/MidiSport2x2.ihx -D /dev/midisport"
Aunque funcionó, no lo consideré una opción elegante. Pero el midi output funcionaba. Leyendo un poco mas, lo de SYMLINK era demasiado, sólo con reemplazar con $dev{DEVNAME} habría sido suficiente.
...
ACTION=="add", SUBSYSTEM=="usb_device", ATTRS{idVendor}=="0763", ATTRS{idProduct}=="1001", RUN+="/sbin/fxload -s /lib/firmware/maudio/MidiSportLoader.ihx -I /lib/firmware/maudio/MidiSport2x2.ihx -D $dev{DEVNAME}"
Conectar y ver un lindo mensaje en el kernel...
[ 3094.100000] usbcore: registered new interface driver snd-usb-audio
Hey! Funciona. Incluso, detecta los dos ports!
Un par de minutos después, despejando una maraña de cables de red de un rack, encuentro una copia de bolsillo del Sri Isopanisad.
Suerte, no?
Y este es un nuevo dispositivo a la lista que ha funcionado. Entre esos...
- Un procesador con aires de temperatura
- Una Flyvideo 2000 que funciono por pura casualidad
- ...y su correspondiente control infrarojo
- Un dongle Irda
- Una palm para usar como disparador remoto para una Canon
- Una tarjeta inalambrica Broadcom
- Una webcam Genius que recibi de regalo en una charla
- Un tablet genius (en realidad, dos)
- Un scanner Canon que funciono a la primera
Deben haber mas, pero no los recuerdo por ahora.
Me siento bastante bien por el puerto Midi. Y por encontrar el libro.
Además, encontré otro bug en Openoffice al tratar de cambiar de plantillas.
Yo lo llamo un dia productivo. Pero sigo con insomnio.