PDA

View Full Version : Modem Software - Appears to be a feature of OS 4.0


Mark Rejhon
08-25-2004, 12:49 PM
It works now! Allow me to present the first official:
HOWTO: Use BlackBerry As Modem For Laptop (http://www.blackberryforums.com/viewtopic.php?t=2277)

________________________

Old Post Below

Hi!

Several of us are interested in using a Blackberry as a modem for laptop. Blackberries hardware are intrisinically capable of doing this today, but RIM has not yet provided this feature in the software. Rumors exist that this feature may arrive on the 7290 or future BlackBerries, however, RIM may not make this feature available for older BlackBerries even though it is possible in software.

I will now call this vaporware software program "BlackberryModem" for simplicity's sake. BlackberryModem does not exist [Update: This appears to be feature in newer Blackberry 4.0 software/Blackberry Desktop 4.0], but I am going to argue in favour of why it is indeed possible:

Proof: BlackberryModem is simply a router. Router can be written in pure software.
Writing BlackBerryModem is really little different from the well-established principle of routing from one port to another. It doesn't even need to modulate/demodulate as a real modem would. One method is this could just be a fake modem running a software interpretor that accepts Hayes AT commands and all dial commands would simply display a fake CONNECT message and then turn on the routing feature. In this case, routing from Blackberry's Internet connectivity (coming from BES/MDS) to the USB port via the use of a Blackberry application. Because of the dozens of open-source TCP/IP redirection implementations available for Linux and BSD, and Linksys also provides the source code for routing TCP/IP, and also, two clients for routing TCP/IP from the Treo 600/610 GPRS connection to the serial port. Because so many solutions exists, that is my justification for calling it "easy", because of the huge amount of available source code that demonstrates routing Internet from one port to another port (with and without NAT, etc) It also confirms that this can be done in 100% software. There just needs to be a way to get it out of the USB port (Mind you, application control of the USB port will require BlackberryModem to be signed by RIM. That may, indeed, of course, be a barrier that you rightfully argue. But the point stands, is that once the permission for that hook is accomplished, it is indeed definitely possible. A tunnel layer may be required if the link is non-TCP/IP, but it is possible to tunnel IP over almost any communications link, even morse code or carrier pigeon! (Google RFC1149 (http://www.google.ca/search?hl=en&ie=UTF-8&q=RFC1149&meta=) for that silliness, and shockingly, a successful test (http://www.blug.linux.no/rfc1149/) (Slashdot (http://slashdot.org/articles/01/04/30/0555218.shtml)). Funny!)

Proof: Blackberry hardware already has the minimum hardware capabilities to allow software routing.
BlackberryModem can pretty much be squeezed into the simple routing principle:
(A) There must be a way to communicate between the Blackberry and the Internet (even non TCP/IP)
(B) There must be a way to communicate between the Blackberry and the laptop (even non TCP/IP)
The answer to both of the above is yes, and therefore routing is possible in an appropriate software program. Elementary routing physics, elementary. Thereby, I have proven without a doubt that it is possible in software. The hard part is getting RIM to get an app signed to be able to access the USB port. Or getting RIM to write this software program. Now, let me try to simplify this further so that this is beyond a shadow of doubt. Blackberry routinely communicates to the Internet, and Blackberry routinely communicates to Blackberry Desktop on a laptop. That's why I say yes to both (A) and (B) above. As a crude example, it is possible to send a text file as a Note from Microsoft Outlook to the Blackberry over the USB port, then email the text file from your Blackberry. You've essentially routed a text file. Now pretend this text file is an Internet packet instead (even base64 encoded if you can't get a transparent 8-bit link). For the (B) link, a driver for the laptop may be needed to convert the non-TCP/IP to TCP/IP in realtime, and in order to bypass Blackberry Desktop. Instead of doing it in inefficient ways like routing TCP/IP packets inside Outlook Notes text, optimize the software program to do the routing to be as direct as possible, avoiding hacks, layers and other overhead as much as technically possible, and as low-latency as possible. This is possible if the app is authorized access to the USB port, which obviously means RIM needs to authorize the app. For the (A) link, the conversion to TCP/IP is already being done by BES/MDS. The Blackberry only need to route a mere 5000 bytes per second to keep up with GPRS and the Blackberry CPU is more than fast enough to keep up. Just not web browser rendering at the same time on the Blackberry screen itself. This discredits your allegation that it is potentially not possible in software. You should have left your argument to "RIM will not authorize such an app" rather than suggesting that something that's obviously technically possible is not possible (assuming you have technical knowledge of routing). Non-TCP/IP tunnels may be required, but as I've said, you can tunnel TCP/IP through almost anything, even carrier pigeons (http://slashdot.org/articles/01/04/30/0555218.shtml).

Proof: The Blackberry CPU is fast enough for this task.
Even though the Blackberry CPU is very slow but we only need to route data at a mere 50 kilobits per second or so. Routing uses far less CPU than web browsing. Modem simulation would simply be routing, as I've explained. The Blackberry is able to go at maximum GPRS speed during OTA downloads, while having enough CPU leftover to do other things. Routing, just like downloads/uploads, has no display-rendering requirements, which greatly speeds up things. You're just merely routing. Essentially uploading and downloading packets, in a manner of speaking. A small amount of CPU per packet is necessary for packet inspection and possibly NAT, but in this particular case NAT is not necessary since we'll rely on the gateway to do the NAT for us. This saves CPU, and the CPU utilization may be the same as a mere OTA download. The worse-case scenario would still be faster than Blackberry Browser displaying. Blackberry Browser and Blackberry WAP displays at only 10 to 15 kilobits per second because of the slow CPU, while OTA downloads actually manage to download at 50 kilobits per second or about 5 kilobytes per second.

Proof #2: The Blackberry CPU is fast enough for this task.
Did you know you only need a 386 Linux computer to route between a few ports at full Ethernet Broadband (high speed)? (Linux can be used as a NAT router (http://networking.earthweb.com/netos/article.php/1141271) using ipchains, or formerly ipmasq) But that you need a Pentium II or faster to display web graphics at full Ethernet speed? The Blackberry CPU is faster than many of the earlier versions of 386's. But the good news is that we just need to route at a mere 50 kilobits per second, not full Ethernet speed!

Proof: This has already been done for other cellphones in 100% software.
There are more than one modem simulators already available for the TREO cellphones now. They include WirelessModem (http://www.notifymail.com/palm/wmodem/) and PDANet (http://www.junefabrics.com/palmnet/index.php). This is done in 100% pure software.

Proof: There is a market.
The market is growing, especially among prosumers. The more valid question "is it big enough to be profitable?". Even 100 people might be enough if each of them pay $50 for a program that took only one programmer only 1 week to write and doesn't require much tech support or maintenance. On the other hand, even 1000 people won't be enough if it takes a big company to write the software. Now, that aside, let me argue that the market is getting big enough. Anybody evaluating the feasibility of writing a BlackberryModem can use the following to help their market analysis:
(1) Doing a forum search for the three words "Blackberry Modem Laptop" on RIMROAD, HowardForums, and even smaller forums such as PDAPhoneHome, you will see there is demand for this software.
(2) It is feasible for a third party to attempt this software. RIM has permitted the signed of even free open source applications such as BlackChat ICQ (http://sourceforge.net/projects/blackchat/), and RIM has already demonstrated an increased general willingness to sign useful applications that will make more people use BlackBerry. (Note: Signing isn't necessary for plain midlets; just for BlackberryOS hooks, required to access the USB port)
(3) Test out WirelessModem (http://www.notifymail.com/palm/wmodem/) or PDANet (http://www.junefabrics.com/palmnet/index.php) on a TREO phone if you have access to one. You'll see they're surprisingly rudimentary-looking and tiny applications that adds a very powerful feature to Treo's. Apparently the market is big enough for Treo's that multiple modem programs exist!
(4) Blackberries will have TCP/IP stacks built into them, thanks to the 4.0 release. This would reduce the barriers required to run BlackberryModem because you would not need BES/MDS. As a result, it is a given that demand for BlackberryModem would go up even further.
(5) If no third party comes forward and RIM later decides to make this component available for existing BlackBerries and is concerned about carrier complaints, they could make it optional only for BES/MDS users, or for carriers who request this feature for advertising (not all of them may want this feature). This would allay complaints by carriers about introducing unauthorized built-in features.

Title and sticky, edited by Guess

Mark Rejhon
08-26-2004, 03:47 AM
Appears that there's some buzz (four requests in less than 24 hours alone for BlackberryModem -- or six if you include mine and Guess's request) and interest in these threads:
http://www.blackberryforums.com/viewtopic.php?t=120&start=0
http://www.blackberryforums.com/viewtopic.php?t=120&start=15
Demand is indeed increasing, the average number of BlackberryModem requests have gone up (About 10 requests in 5 different forums in the last 1 week alone).

If a good developer familiar with TCP/IP programming is reading this thread, they will quickly recognize that the harder part is finding the most efficient way to route data from the Blackberry to the USB port. It can be done in all sorts of arcane and silly ways (embedding packets in notes, or saving packets as disk files that javaloader copies off, etc.), but you really want a more direct routing mechanism, preferably simply opening a socket of some kind between the Blackberry and the laptop more directly -- hopefully this is already possible after the application is signed. Obviously, it's preferable to have the software on the Blackberry have direct access to the USB port if possible.

Reverse engineering using a USB sniffer would do wonders (run JAVALOADER.EXE while using a USB sniffer, for simplicity) to determine what the capabilities of transmitting the data over USB is. If the USB connection cannot act as a standard USB modem, writing a virtual modem driver with a virtual compor, or a simulated USB network card driver, if one wanted to treat the Berry like a super-slow external Ethernet adaptor rather than as a modem.

One of the first focus would probably be to determine what the options are for routing between the laptop and the Blackberry with as little overhead as possible. This one factor will probably determine the majority of the development time for a BlackberryModem program. This will go a long way to determining if writing a BlackberryModem would only take a week, or take a month, or take much longer.

If after analyzing this, and only inefficent methods of routing data between the Blackberry and the laptop is found, then a request may need to be made to RIM to allow a signed-application API to at least allow third party programs to transmit of data between the Blackberry and a laptop.

Mark Rejhon
08-29-2004, 02:19 PM
Through Scoobydoo from BlackberryClub, I just found out that this feature MAY be a part of BlackberryOS 4.0. I am not sure if this is limited to certain Blackberries (ie the upcoming new 7290, or if this works with 7280) or if this is definitely BlackberryModem, but there are now a few points of evidence.

There is the existence of this directory clearly suggestive of a modem:C:\program files\Common Files\Research In Motion\Modem Drivers
File: rimserial.cat
File: RimSerial.inf
File: RmSerial.sys

To verify that this is indeed for USB Blackberries and not something for older serial Blackberries, I checked the files. Inside the RimSerial.inf file at the top, shows; Virtual COM port tunnel driver
; Copyright (c) 2004, Research in Motion, Inc.

Then, I checked Device Manager, and sure enough, a virtual COM port inside the Ports tree:[quote]|-# Ports (COM & LPT)
| |-# Communications Port (COM1)
| |-# Communications Port (COM2)
| |-# ECP Printer Port (LPT1)
| |-# RIM Virtual Serial Port (COM6)

Mark Rejhon
08-29-2004, 02:23 PM
Attempts to talk to COM6 (using AT commands) results in no modemlike response at 9600, 38400, 57600 or 115200, even when Blackberry Desktop is connected.

(In HyperTerminal, transmitting AT followed by Enter should display an 'OK' prompt.)

stanton
08-29-2004, 02:27 PM
My guess is that it won't/shouldn't be treated like a telephone modem (ie, no AT commands), but rather as a TCP/IP link. Try pinging.

Mark Rejhon
08-29-2004, 02:30 PM
Good point. I'd have to try to test that. How would I setup a serial TCP/IP networking link under Windows XP? It's been about 10 years since I last tried that under any other operating system, during the SLIP days.

Mark Rejhon
08-29-2004, 02:34 PM
I just got an error message when trying to configure in Blackberry Desktop. Another point of confirmation that this is BlackberryModem, and that all I need is a software update.Blackberry Handheld Manager.

The connected handheld does not have the necessary
software required for modem functionality installed.
Please contact your carrier for the required handheld
software update.

stanton
08-29-2004, 02:40 PM
For clarification, have you only installed the PC part of it, and nothing new on the BB? Where does 4.0 get installed? PC? BB? Both?

Again, guessing here, but the closest example I'm thinking of is a USB cable or DSL modem. Just plug it in and it "finds" the network/internet. A quick test would be to determine the address of the BB and ping it. You probably have to go to a dos prompt to do that. Not sure about XP.

-edit-
Once you figure that error on the BB side out, and if it still doesn't work, I wonder if rebooting the PC would help reset IP address. I don't know how to release/renew IP addresses of USB ports - or if you even need to.

Mark Rejhon
08-29-2004, 02:45 PM
It appears that this is supposed to a DUN modem, because when I try a DUN or HyperTerminal, Blackberry Desktop displays that error message the instant I try to talk to COM6. If someone wanted to make this a TCP/IP link like a USB DSL modem, they would have not used a virtual COM driver, but used a virtual Ethernet/network driver or similiar instead.

I have 4.0.0.100 on my Blackberry but nothing new was installed. I have not installed anything new on my Blackberry other than the stock 4.0.0.100 that's already on my Blackberry. I only installed the virtual COM port driver on the PC side of things.

ScOObydoo
08-29-2004, 03:16 PM
Mark, have you checked the options in the new "handheld manager"?

Mark Rejhon
08-29-2004, 03:21 PM
Yep. But it doesn't seem to provide a way to add the modem software on the Blackberry end. It does mention stuff about router configuration though.

Skive
08-29-2004, 03:37 PM
Router configuration most likely refers to the blackberry router stuff that was mentioned in the 4.0 presentations at wes.

As far as adding modem software to the device, don't you think that would be intrinsically part of the radio code for the devices that will support that feature i.e the new ones and then its just a case of needing the modem driver installed on the pc itself just like any other modem?

Tom
08-29-2004, 03:43 PM
Router configuration most likely refers to the blackberry router stuff that was mentioned in the 4.0 presentations at wes.

As far as adding modem software to the device, don't you think that would be intrinsically part of the radio code for the devices that will support that feature i.e the new ones and then its just a case of needing the modem driver installed on the pc itself just like any other modem?

No, I think its going to be a service book that is sent down by the provider. I also have a small sneaky feeling that it may be an extra few bucks a month for this said feature.

Mark Rejhon
08-29-2004, 03:44 PM
We still need to figure out if this is a 7290-specific feature (there are several rumors from several sources saying that the 7290 has modem capability), or if this will work on older BlackBerries. This may be due to hardware support for serial-over-USB.

In that case, a custom third-party modem driver may still need to be written if older Blackberries do not support serial-over-USB operation, then routing must be done via a proprietary method as mentioned in this thread, which is something that a third party company may or may not bother doing. (At least, until everybody's switched to the 7290 and the complaining stops :D )

Time will tell before this is confirmed.

MrCynical
08-29-2004, 10:00 PM
Well, when I get up and running on my 7510 with 4.0, I'll let you know :wink:

This would be just simply fantastic news, and I'm disappointed that I didn't know this before!

bb_tech
08-29-2004, 11:37 PM
I will try to find out for you guys tomorrow and I will let you know.

Skive
08-30-2004, 10:48 AM
No, I think its going to be a service book that is sent down by the provider. I also have a small sneaky feeling that it may be an extra few bucks a month for this said feature.

I don't think you are wrong about modem support on the new devices costing a bit more, its another reason to think that it won't be available on existing hardware. I doubt it will be due to a service book though since they have other means of controlling access as bwc users in the uk among others have already seen.

Since its new hardware they'll be able to sign you up to a new tariff, they won't want people on an 'unlimited' tariff having the ability to use at least 10x as much traffic without paying accordingly.

Mark Rejhon
08-30-2004, 02:03 PM
Time will tell who is right (you or bb_tech) but it appears the carriers does have the option of selling this feature for older Blackberries too, according to bb_tech who has his own insider connections. Be warned, this may be an error.

It's possible both of you might be right: It might be possible that RIM has the Blackberry modem software installable for all Blackberries internally but only will publicly release it for the 7290, if the carriers request it. Or the information is still so unclear at these levels, that nobody can say for sure until the 7290 comes out and the 4.0 infrastructure is deployed. But one thing that is increasingly becoming certain, BlackberryModem is alive on at least a future model of Blackberry.

I, for one, am hoping I can get BlackberryModem for a 7280, rather than having to upgrade my device so soon.UPDATE: I just found out that it will be possible to use the BlackBerry as a modem. However, the device needs to be provisioned on the carrier side to allow for such traffic to pass. The carrier may charge a monthly fee for it, not sure though.Is this limited to the model 7290 or will this work on older Blackberries?

Any model as far as I know.

MrCynical
08-31-2004, 07:00 PM
I'm hoping Nextel provides this service! Actually, this makes me wonder whether the upcoming model will be WiDEN capable!!

HaTaX
09-01-2004, 08:29 PM
I'm hoping Nextel provides this service! Actually, this makes me wonder whether the upcoming model will be WiDEN capable!!

Forget WiDEN, go right to Flarion!!! :D

Tom
09-01-2004, 08:40 PM
I'm hoping Nextel provides this service! Actually, this makes me wonder whether the upcoming model will be WiDEN capable!!

Forget WiDEN, go right to Flarion!!! :D
haah :D

Mark Rejhon
09-02-2004, 04:09 AM
Another user requesting BlackberryModem:
http://www.blackberryclub.com/viewtopic.php?t=288

It seems to be a much more popular request these days! (On top of the approx 10 earlier requests made so far in the last two weeks throughout this forum site!)

HaTaX
09-10-2004, 12:28 PM
I think it's a HUGE thing for people... I used to use my i730 as a dialout device just so I could get email, it was slow, but it did work... And with my upgrade to a BB I now have to figure out a different way to get it done...

headtailgrep
09-12-2004, 07:34 PM
I would find it very useful from time to time to have the option to go full-internet on a laptop. Say i needed terminal services to log into my servers. No need to carry a second device and modem..

I just doubt that my unlimited rogers data plan would be able to handle too much of this data use. I would suppose the definition of 'unlimited' may have to change??

cold13
09-30-2004, 07:02 PM
does anyone have anymore info on this?!

cold13
10-01-2004, 01:21 AM
In the phone options there is a TTY mode. You can set that to yes and no? What's that do?

Mark Rejhon
10-01-2004, 01:36 AM
It just changes the voice codec to allow TTY tones transmitted through the handsfree headset jack, to maintain baudot 45.45 bps Frequency-Shift-Keying (FSK) integrity without being mucked up by the GSM/CDMA codec.

In Plain English, this is a feature that enables an external TTY to work properly while being connected to BlackBerry. A TTY is a teletypewriter usually used for the deaf, which is like a 1970s version of chatting over instant messaging.

cold13
10-01-2004, 01:43 AM
I see. Thanks!

thewebrock
10-04-2004, 04:44 PM
8)

I currently have about 100 BlackBerry users. Those same users also have GPRS cards. If I could integrate the 2, my life (and cellular) bill would be better off!

R

Mark Rejhon
10-07-2004, 03:23 PM
A report of a person successfully using 7100 series as a modem:
first off,

i want to comment on the BES server. i have 2 installs of it. randomly they both lead to the same thing, memory leak, auto restart. RIM/ATT ( att where i bought it from ) says they dont know whats wrong and basically refuses to help. i have gone over the entire system, and it still wont go away.....

as for the modem support , its NOT through the bluetooth support, its through USB. when you first install the software then plug in the phone it installs drivers for your phone/rim device. if you look under your modems youll see "Standard modem" listed under the devices. open and query the modem, it will look like this:

ATQ0V1E0 - OK
AT+GMM - BlackBerry IPmodem
AT+FCLASS=? - OK
AT#CLS=? - OK
AT+GCI? - OK
AT+GCI=? - OK

"Blackberry IPmodem"

i have used the modem 2 ways, through t-mo's IP network, and through a local dialup provider i somtimes use. both work 100%, through windows default dialup protocol.

SO, you CAN use the modem like you would use those laptop mobile cards. i "asume" if you got a BT adapter for your notebook it would work the same, will test it once i get approval for testing from the company.
( how i wish 7100's had IrDA. )

I have NOT been able to do this with prior RIm's inculding the 6270's and below ( we mainly used 6270's from ATT before switching to 7100's from t-mo )
Another person, bollar, successfully got the 7100 talking in "Hayes commands" (AT commands) which means the 7100 genuinely behaves like simulated modem hardware in principle. bollar, however, wasn't successful in dialing (yet, as of October 5th, 2004).

Mark Rejhon
10-12-2004, 06:40 PM
Anybody who can provides updates about modeming on a non-71XX series BlackBerry device?

jibi
10-13-2004, 02:09 AM
6710 model. no modem driver is installed, however the RIM OS i'm using is 3.6.0.73 (somewhat dated, but latest avail).

bfrye
10-13-2004, 08:03 AM
I'm still having trouble getting 3.8 loaded on my 7210. I think it's the rim7200g.bin file that's killing it. I've tried using one from 2 different 3.7xxx and 4.0.0.100 OS and all crash before the device can even boot with JVM 523 errors. I'm still not sure :(

hnwosu
11-04-2004, 07:58 PM

hnwosu
11-04-2004, 10:42 PM

WorldIRC
11-05-2004, 12:19 AM

hnwosu
11-05-2004, 12:28 AM

WorldIRC
11-05-2004, 12:34 AM

Mark Rejhon
11-05-2004, 02:08 PM

hnwosu
11-05-2004, 02:13 PM

Mark Rejhon
11-05-2004, 02:17 PM

bfrye
11-05-2004, 02:40 PM

Mark Rejhon
11-09-2004, 12:40 AM

Mark Rejhon
11-09-2004, 01:26 AM

WorldIRC
11-09-2004, 01:32 AM

Mark Rejhon
11-09-2004, 01:42 AM