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
>Recent kernels have a module called berry_charge
, which does similar
17 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
. Kernels included in Ubuntu
7.04 and
34 Fedora
7 have this turned on by
default.</p
>
36 <p
>When bcharge runs
, it successfully changes the Blackberry to
use 500mA
37 (its normal power level
for charging
), but then the kernel puts the device
38 into suspend mode
. This can have various undefined effects
, such
as
39 the charge icon disappearing on the device
, or having your device lose
40 its charge in an accelerated manner
.</p
>
42 <p
>Bcharge attempts to work around this by writing to the
43 control files under
<code
>/sys
/class/usb_device
/.../device
/power
/</code
>
44 to turn autosuspend off
. Depending on your kernel version
or kernel
45 config
, these files may not be available
, but in most cases at
46 least one of the needed files are there
.</p
>
48 <p
>If you
continue to experience trouble charging your Blackberry
:
50 <li
> consider upgrading your
kernel (Ubuntu
7.10 Gutsy
51 patches their
2.6.22 kernel to fix this
,
53 <li
> recompile your kernel with CONFIG_USB_SUSPEND disabled
</li
>
58 <?
createSubHeader("Device Ownership and Permissions"); ?
>
60 <p
>The Barry toolset performs all its actions through the
/proc
and/or
61 /sysfs filesystems
, using the libusb library
. This requires that you
62 have permissions to write to the USB device files setup by the kernel
.</p
>
64 <p
>This is handled differently on various systems
:</p
>
67 <li
>On Debian based systems
, there is a group called plugdev
, which
68 is used to control permissions
for pluggable devices
.
69 When the barry
-util deb package is installed
, udev is
70 configured to set Blackberry device permissions to
71 the plugdev group
. Make sure your user is in the plugdev
73 <li
>On Fedora based systems
, ownership is controlled by the
74 ConsoleKit package
. This changes ownership of pluggable
75 devices to the user currently logged into the console
,
76 on the theory that anyone at the console should have
77 control of the devices he plugs in
. No special
78 support is needed by Barry
if you have this package
84 <?
createSubHeader("::::::: OpenBSD ::::::::::::::"); ?
>
86 <?
createSubHeader("Uberry Module and Ugen"); ?
>
88 <p
>The uberry kernel module conflicts with the ugen
interface that
89 libusb uses to talk to the device
. To work around this
, you will
90 need to boot your kernel with
"boot -c" and disable the uberry module
.<p
>
92 <p
>Suggestions
for better ways to work around this conflict are welcome
.</p
>