One of the main features of Barry is the ability to control the charging modes of the Blackberry, as well as changing configuration modes on Pearl-like devices.
In order to achieve proper charging, udev is setup to run the bcharge program every time you plug in your Blackberry.
Recent kernels have a module called berry_charge, which does similar things from the kernel level. These two methods can conflict if both run at the same time.
Due to this conflict, the binary packages are setup to install a blacklist file under /etc/modprobe.d, which will disable berry_charge as long as you have the barry-util package installed.
If you are not using the binary packages, you can use the sample blacklist file that comes with the source tarball.
Recent kernels also have the ability to put the USB bus and its devices into suspend mode. Kernels included in Ubuntu 7.04 and Fedora 7 have this turned on by default.
When bcharge runs, it successfully changes the Blackberry to use 500mA (its normal power level for charging), but then the kernel puts the device into suspend mode. This can have various undefined effects, such as the charge icon disappearing on the device, or having your device lose its charge in an accelerated manner.
Bcharge attempts to work around this by writing to the
control files under /sys/class/usb_device/.../device/power/
to turn autosuspend off. Depending on your kernel version or kernel
config, these files may not be available, but in most cases at
least one of the needed files are there.
If you continue to experience trouble charging your Blackberry:
The Barry toolset performs all its actions through the /proc and/or /sysfs filesystems, using the libusb library. This requires that you have permissions to write to the USB device files setup by the kernel.
This is handled differently on various systems: