1 <?
include ("barry.inc"); ?
>
3 <?
createHeader("barry - Requirements"); ?
>
5 <?
createSubHeader("::::::: Linux ::::::::::::::"); ?
>
7 <?
createSubHeader("Charging and the Kernel"); ?
>
9 <p
>One of the main features of Barry is the ability to control the charging
10 modes of the Blackberry
, as well
as changing configuration modes on
11 Pearl
-like devices
.</p
>
13 <p
>In order to achieve proper charging
, udev is setup to run the bcharge
14 program every time you plug in your Blackberry
.</p
>
16 <p
>Kernels older than
2.6.34 have a module called berry_charge
, which does
17 similar things from the kernel level
. These two methods can conflict
if both
18 run at the same time
.</p
>
20 <p
>Due to this conflict
, the binary packages are setup to install
21 a blacklist file under
/etc
/modprobe
.d
, which will disable berry_charge
22 as long
as you have the barry
-util package installed
.</p
>
24 <p
>If you are not using the binary packages
, you can
use the sample
25 blacklist file that comes with the source tarball
.</p
>
30 <?
createSubHeader("Power and the Kernel"); ?
>
32 <p
>Recent kernels also have the ability to put the USB bus
and its devices
33 into suspend mode
. Distros often have this turned on by
default.</p
>
35 <p
>When bcharge runs
, it successfully changes the Blackberry to
use 500mA
36 (its normal power level
for charging
), but then the kernel puts the device
37 into suspend mode
. This can have various undefined effects
, such
as
38 the charge icon disappearing on the device
, or having your device lose
39 its charge in an accelerated manner
.</p
>
41 <p
>Bcharge attempts to work around this by writing to the
42 control files under
<code
>/sys
/class/usb_device
/.../device
/power
/</code
>
43 to turn autosuspend off
. Depending on your kernel version
or kernel
44 config
, these files may not be available
, but in most cases at
45 least one of the needed files are there
.</p
>
47 <p
>If you
continue to experience trouble charging your Blackberry
:
49 <li
> consider upgrading your
kernel (Ubuntu
7.10 Gutsy
50 patches their
2.6.22 kernel to fix this
,
52 <li
> recompile your kernel with CONFIG_USB_SUSPEND disabled
</li
>
57 <?
createSubHeader("Device Ownership and Permissions"); ?
>
59 <p
>The Barry toolset performs all its actions through the
/proc
and/or
60 /sysfs filesystems
, using the libusb library
. This requires that you
61 have permissions to write to the USB device files setup by the kernel
.</p
>
63 <p
>This is handled differently on various systems
:</p
>
66 <li
>On Debian based systems
, there is a group called plugdev
, which
67 is used to control permissions
for pluggable devices
.
68 When the barry
-util deb package is installed
, udev is
69 configured to set Blackberry device permissions to
70 the plugdev group
. Make sure your user is in the plugdev
72 <li
>On Fedora based systems
, ownership is controlled by the
73 ConsoleKit package
. This changes ownership of pluggable
74 devices to the user currently logged into the console
,
75 on the theory that anyone at the console should have
76 control of the devices he plugs in
. </li
>
81 <?
createSubHeader("::::::: OpenBSD ::::::::::::::"); ?
>
83 <?
createSubHeader("Uberry Module and Ugen"); ?
>
85 <p
>The uberry kernel module conflicts with the ugen
interface that
86 libusb uses to talk to the device
. To work around this
, you will
87 need to boot your kernel with
"boot -c" and disable the uberry module
.<p
>
89 <p
>Suggestions
for better ways to work around this conflict are welcome
.</p
>