![]() |
Linux USB charging? I have a laptop at home, dual boot with WinXP and Linux. When in WinXP with the Pearl plugged into USB, the phone charges as you'd expect since the Desktop software is installed. When I boot back to Linux though, the phone complains about insufficient juice to charge or a missing driver (duh). Anyone know the trick to get this thing charging over USB with your generic Linux machine? On my main workstation here at work I get the same BB message, but I know the USB ports on this beast can do it (other USB-charging phones work just fine). Thanks! Of course I'm at work, the battery is dying and my charger is at home. *sigh* :) |
AFAIK the usb port in passive mode (which it most likely is in) only delivers 100mAh, to put it into its high/active mode there might be a command to send to the kernel to drive it high but I dont know the usb code so not much help beyond that |
Hi, Yeah - some googling and help on another forum and a little poking at "lsusb -v" tells me that the way this device is built, when it plugs in it announces to the PC that it draws 100mA only. Then, some sort of communication (nobody's debugged it yet) happens between the Windows driver and the device; the device then switches into 500mA draw mode, announces it to the PC and the juice flows. OSX users have the same problem -- what has to happen is that someone (I may attempt :) ) has to use snoop to debug the USB port during plugin and watch the query/response flow between the two ends (or get specs from RIM). Then we can fake the funk in non-Windows systems to tell the device to crank up the heat. |
Do a google search or search on sourceforge.net for barry. That utility uses libusb to change the charging rate from 100mA to 500mA. There are packages in .deb, rpm, and tgz formats. Happy charging without rebooting! |
Quote:
SourceForge.net: Barry's bcharge version 1.0 released It doesn't work out-of-the-box with the Pearl, since the idProduct is different; I made a quick patch and it's at least now trying to work: Code: $ bcharge Code: --- barry-0.1/10-blackberry.rules.orig 2007-01-01 11:23:09.000000000 -0800 |
I had already built my version of barry before posting and made a deb for it. It works fine with my 7130c. Now, if I can find a way to have the DM functionality on linux like Pocketmac for the Mac, then I'm all set. I would be able to finally get rid of dual-booting into windows and reclaim the space for virtual machines in its place. |
I will be printing this page out as soon as I finish posting. I am one more step away from Windoze and one more step towards Ubuntu Edgy. |
Quote:
I do my installs OTA from my own webserver (JAD-based), wrote a quick script to generate missing JAD files from jarballs (see >>here<<), the next step is to write a script that converts an ALX to a JAD, allowing OTA .cod installs as well. |
Pretty much the ability to back up my blackberry to a file like DM does. That's a huge deal to me. and some files dont install ota correctly. So I end up booting into windows, just for those. Ugh. I really don't like booting into windows if I can't help it. |
Great, this worked for me! I have to attach the Pearl, get the error message, run bcharge, and then disconnect and reconnect it, and it charges. Also, it works as a USB mass storage device for me so I can browse the microSD card. |
Hey guys -- been working a little with Chris (barry/bcharge author) feeding him USB snoop logs and such. He gave me a one-line addition to the patch (as well as a new bcharge.cc that support Pearl *and* non-Pearl) which makes it work on first plug-in; you no longer need to plug it in, unplug, then plug again. With this fix it'll flash that initial "non enough power" message on your Pearl but then go away after a second (i.e. after bcharge fires up and adjusts the power flow). Code: diff -uNr barry-0.1-orig/10-blackberry.rules barry-0.1/10-blackberry.rulesQuote:
|
Quote:
I'm sure they could use some help if you want to email and offer up some logs or something.... (see the SourceForge project page) The more of us helping them out, the better tool we'll get. :) |
I got annoyed having to run bcharge manually every time I connected my Pearl, so I hacked something up. Unfortunately, it really is a hack. This will work if you use gnome-volume-manager to automount devices (most GNOME desktop systems use that these days). It should also work with any system that uses pmount-hal to mount devices, as gvm does. Move /usr/bin/pmount-hal to a new file. Code: sudo mv /usr/bin/pmount-hal /usr/bin/pmount-hal-binCode: sudo echo #!/bin/sh > /usr/bin/pmount-halCode: sudo chmod a+x /usr/bin/pmount-halCode: sudo chmod +s /usr/local/bin/bchargeEdit: Forgot to mention that for this to work, the Pearl needs to be set up to always go into mass storage mode when connected to a computer. |
metsfan - what distro are you using? The barry project bcharge tarball includes a udev script that works perfectly on my Fedora Core system; it launches bcharge when the Pearl is plugged in and does it's thing. I did have to reboot though for it to be recognized - I'm not very familiar with udev to know how to do a runtime reload (or even if it's possible). My bcharge RPM is at home to look for certain, but I think it goes into /etc/udev/rules.d/ and was a simple 1-liner; note my patch above patches that udev rule to support the Pearl (product = 0x0006). It works regardless of mass storage mode setting, as it's based on the RIM product simply showing up on the bus (lsusb -v). |
Hmm.. yeah, of course. I had no idea what that file is when I first installed cause I hadn't looked into udev first... and then I forgot about it when I started looking into how to actually get this done. I made the change to the file, but never put it where it needed to be. I'm using Ubuntu 6.10, I'll give it a try. Also, the path to the binary in the udev file doesn't match the location the default install puts bcharge. Edit: this worked, using the .Debian rules file included with barry. |
| All times are GMT -5. The time now is 04:36 PM. |
Powered by vBulletin® Version 3.6.12
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.