Respaldar tu Blackberry con Fedora 12 (como usuario común)

Realmente no hay ninguna novedad en este tema de respaldar/restaurar configuraciones de tu RIM Blackberry en Linux, desde hace bastante tiempo existe la suite de aplicaciones «barry» (antes bcharge) que incialmente sólo permitía poder cargarlo al conectar el handheld a la PC. Hoy trae un programa bastante minimalista llamado barrybackup, el problema es que al ejecutarlo desde el ícono en Aplicaciones -> Accesorios -> Barry Backup, se produce una excepción que indica que no tienes los suficientes privilegios para acceder al dispositivo:

Luego de «googlear» un rato y otro buen rato de moneos, encontré varias soluciones, de las cuales la que más me gustó es esta:

Primero obtenemos el ID de dispositivo:

[root@dv4-1413 ~]# lsusb | grep 0fca
Bus 001 Device 015: ID 0fca:8004 Research In Motion, Ltd.

0fca es el ID del fabricante (RIM) y el 8004 es el ID de mi dispositivo.

Con esta información editamos el archivo:

/etc/udev/rules.d/10-blackberry.rules

Dentro de él buscamos la línea que contenga el ID del dispositivo (8004 en mi caso):

BUS=="usb", ENV{DEVTYPE}=="usb_device", ACTION=="add", SYSFS{idVendor}=="0fca", SYSFS{idProduct}=="8004", RUN="/usr/sbin/bcharge"

Y la modificamos añadiendo lo marcado con negrita:

BUS=="usb", ENV{DEVTYPE}=="usb_device", ACTION=="add", SYSFS{idVendor}=="0fca", SYSFS{idProduct}=="8004", MODE="0660", GROUP="pbernal", RUN="/usr/sbin/bcharge"

La parte clave es la del GROUP, ahí indicamos el grupo al cual pertenezca nuestro usuario (pbernal en mi caso).

¿Porqué?

De la parte donde determinábamos el ID del dispoditivo, recordemos la línea:

Bus 001 Device 015: ID 0fca:8004 Research In Motion, Ltd.

Donde he resaltado el 001 (bus) y 015 (#dispositivo)… Estos valores pueden variar de PC a PC… Al enganchar el handhed al PC, el subsistema udev crea una entrada en /dev/bus/usb/<bus>/<#dispositivo> como por ejemplo:

crw-rw-r-- 1 root root 189, 14 mar  6 19:28 /dev/bus/usb/001/015

Aparentemente el usuario que quiera acceder al handheld vía barrybackup necesita permiso de escritura sobre este archivo de dispositivo (char), mismo que como vemos sólo lo tiene root y los miembros del grupo root.

Al aplicar la solución propuesta le pedimos al udev que le asigne el grupo «pbernal» al archivo de dispositivo, con lo cual obtendríamos algo así:

crw-rw-r-- 1 root pbernal 189, 14 mar  6 19:28 /dev/bus/usb/001/015

De esta manera ya mi usuario común pbernal puede acceder al Blackberry a través del Barry Backup!

Espero les sirva, porque es mucho más cómodo que hacer sudo barrybackup ó escalar a root (con su - por ejemplo) para poder respaldar la info de tu backberry.