Modem Software - Appears to be a feature of OS 3.8/4.0
It works now! Allow me to present the first official:
HOWTO: Use BlackBerry As Modem For Laptop
Old Post Below
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 for that silliness, and shockingly, a successful test (Slashdot). 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.
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 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 and PDANet. 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, 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 or PDANet 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
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:
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.
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:
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.)
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.
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.
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.
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.
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.
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 188.8.131.52 on my Blackberry but nothing new was installed. I have not installed anything new on my Blackberry other than the stock 184.108.40.206 that's already on my Blackberry. I only installed the virtual COM port driver on the PC side of things.
Mark, have you checked the options in the new "handheld manager"?
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.
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?
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.
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!
I will try to find out for you guys tomorrow and I will let you know.
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.
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.
I'm hoping Nextel provides this service! Actually, this makes me wonder whether the upcoming model will be WiDEN capable!!
|All times are GMT -5. The time now is 12:58 PM.|
Powered by vBulletin® Version 3.6.12
Copyright ©2000 - 2015, Jelsoft Enterprises Ltd.