On 2008-05-05 19:06:14, Brandon Mercer <[EMAIL PROTECTED]> wrote:
> I've often wished I could tether my openbsd box on my blackberry.  I'm
> wondering how hard it would be.  I know there has been work to make
> other mobile devices work as a modem.  My 8820 is a workhorse for me
> and this would be great to have.

Hi,

I'm the lead programmer on the Barry project:

        http://sourceforge.net/projects/barry

We were the first to get Blackberries charging natively on non-Windows
machines.  The "bcharge.cc" program was released December 2006.


Anyway, enough introduction. :-)  I want to get tethered modem support
working on OpenBSD.


Todd T. Fries, earlier in this thread, pointed out this link:

        http://wiki.colar.net/tethering_with_blackberry_pearl_on_linux

This shows how to get tethered modem support working with the XmBlackBerry
program on Linux (another Blackberry related project).

I've recently implemented support for this as well in Barry, but I used
a different approach.  I use a "pppob" program, similar to the way
PPPoE works on Linux.  This avoids the need to run a GUI to connect
to the internet.

My intent for Barry is to be as cross-platform as possible, and while I
have a good base for that goal in my current source code, it hasn't been
stressed to the limit.  The most I've tested is on big and little endian
systems, but all Linux so far.

Tonight I installed OpenBSD 4.3 in VMware, to test the compile, and while
I can compile the base Barry utilities just fine, it doesn't detect
the Blackberry.

I use the libusb library for all my USB interface code, so in theory
this should just work, cross-platform.  My tests show that the issue
is somewhere in scanning the busses.  I can see the Blackberry with
"usbdevs -v" but not via libusb.

If you've read this far, thank you.  I'm hoping some folks more familiar
with USB and libusb on OpenBSD can point me in the right direction, or
show me some known-working programs on OpenBSD that make use of the libusb
library, so I can compare how it's done.


Barry takes the approach that, given a working libusb, all Blackberry
functionality can happen in userspace, from charging to backups to
modem support.  But modem support on the newer Blackberries is fairly
simple, and could be implemented in a driver if the OpenBSD kernel folks
were so inclined.  There are 2 USB endpoints that behave like modem
read/write, and this is basically all Barry does in this mode (IpModem mode).
There is a database-oriented serial mode for older devices, but this
is not needed.

The general sequence is:

        - probe the Blackberry, and check for the needed number of endpoints
        - write an initial 8 byte handshake packet
        - start writing AT modem commands to get a PPP connection.
        - if you read a packet with 0x12345678 (little endian) at the
                end, ignore it
        - once you are in PPP mode, every 0x7e ... 0x7e PPP packet must
                begin and end with 0x7e.  The usual method of skipping
                the duplicated 0x7e between packets doesn't work.

Thanks for your time, and thanks for any help and pointers you can provide.
I would be grateful if anyone wanted to help test Barry on OpenBSD
as well.

- Chris


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Barry-devel mailing list
Barry-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/barry-devel

Reply via email to