Here is the third release. It has better stability, performance, and new features, so what the hell I'll call it version .9. It might be the last version as it works very well now and I'm really burned out on this.
New/Changed Features:
- Improved Speed. Downloading a single file from a fast site should see 20-30kBytes/s. When downloading multiple files at once I was able to reach 40-50kBytes/s.
- Improved Stability. It used to disconnect for reasons other than a phone app opening a data connection. It doesn't do that anymore.
- Delay at startup no longer needed. It detects when it is safe to load.
- You can now exit the program. Just run BTModem.exe a second time and it will ask if you want to stop it.
- You can safely place BTModem.exe or a shortcut to it in \Windows\Startup. It will not enable your Bluetooth radio automatically. If you use a shortcut, I recommend using the /q command line argument to disable the startup message. If you use the .exe, remember that to delete it you must stop the program as mentioned above.
- Added the /noauth command line parameter if you would like to enable modem sessions from unpaired bluetooth devices. Not sure why anyone would want to do this, but if you really want to make your phone a public internet gateway, allbeit a single-user and very obscure one, you technically could do it.
- Disconnecting is usually faster than it was before but sometimes still takes a long time. It's complicated.
Features:
- Bluetooth Dial-Up-Networking Profile.
- Safely runs in background and opens the modem as-needed.
- Operates independently of the Bluetooth radio. It will not turn the BT radio on or off, and turning the BT radio on or off will not start or stop BTModem.exe. As long as BTModem.exe is running, the modem services will be available whenever the BT radio is on.
- Bluetooth Serial Port Profile, for accessing the modem directly and typing AT commands, etc. Note that if you already have an incoming serial port set up that you use for something else, this port will override that one, so you need to specify the /ns option to disable the modem serial port.
- Bluetooth Fax Profile, but it doesn't work yet, at least not for me. If anyone has success with this, let me know.
INSTRUCTIONS:
Download the .zip file at the end of this post and extract BTModem.exe. Place it on your PDA anywhere you want, and run it. You will see a message that it has started. The new Bluetooth profiles are now available on your i730. You must now go to your PC and pair with your i730 if you have not done so already. Then, on your PC, discover or rediscover/refresh the services offered by the i730. You should see the Dial-Up Networking profile. You should be able to double-click on that and connect. Use the standard Verizon dialup settings (phone number #777, username your10digitnumber@vzw3g.com, password vzw). The baud rate and flow control settings will normally have no effect, but it depends on the bluetooth software you are using. In the event that they do matter on your system, you will see better results using no flow control and the highest baud rate you can select.
COMMAND-LINE SWITCHES:
/q - Quiet mode, disables the startup message. This is useful if you want to place a shortcut in /Windows/Startup
/ns - No serial. Disables Serial Port Profile, this is for people who are using the built-in Incoming Serial Port feature for some other purpose.
/noauth - Allows unpaired devices to connect.
KNOWN PROBLEMS:
- Sometimes if you try to reconnect too soon after a disconnect, the modem won't respond yet. Just cancel the attempt and try again. You probably would have done that anyway.
DONATIONS
If you find this program useful and would like to send me money, you can donate via PayPal here.
Last edited by sarcasmsra : 09-09-2005 at 06:18 AM.
I am putting this as a sticky until all the bugs are worked out of it, then I will copy the conents of this into the FAQ and move it back down to a "above average" thread...
__________________
-Michael
Need help setting up your i730/i830 or other WM2003/WM5 Phone, as well as the other hacks I have done, check out the MRailing Guides and Links
Well... I gave it a try and I thought it was going well. The pc detects the bluetooth COM port svc. I added a standard 56K modem on the COM 6 that the bluetooth sw created. I copied the Dialup settings from an old Verizon Expess Network USB cable setup from my old phone(dialing #777) and changed the device to the standard modem on COM port 6.
When dialing in WinXP It says 'port opened' and then I get an 'error 692: There was a hardware failure in the modem or other connecting device'.
I ran hyperterminal pointed to port 6 and it responded to standard modem AT commands OK.
The Samsung does not seem to be trying to dial. Sometimes the Pocket PC screen will light up. Does the Pocket PC indicate the dialup connection in any way?
The modem probably doesn't like the AT commands that the 56k profile is sending. Change the modem profile to something simpler like "Standard Modem 19200". It won't actually limit you to that speed.
Awesome! I have just installed it following the instructions (I had to assign a standard 19200 modem to the virtual COM port) and it works like a champ. I am getting speeds around 130kbps up and download. BTW, I am also using it to post my reply.
Regarding speed, it's already as fast as it's going to get. Found this regarding the bluetooth SPP profile:
"This profile requires support for one-slot packets only. This means that this profile ensures that data rates up to 128 Kbps can be used. Support for higher rates is optional."
So the bottleneck isn't btmodem, it's the SPP implementation. Looks like they didn't decide to support speeds over 128k.
I solved it myself. I removed the Bluetooth stacks completely -- turns out that I installed the MS BT Enumerator/Stack on my laptop a while ago, and finally it gave up... Piece of sh*t... I uninstalled the WIDCOMM stack, manually removed everything MS in safe mode, then rebooted and installed WIDCOMM again, and it works...
Quote:
Originally posted by jkehlet So I tried this, and my PC (IBM laptop running the WIDCOMM BT stack) won't recognize the COM port.
I'm rather frustrated right now, as I KNOW that the COM port has been working before. I could seriously use a hint or 2 why this may not work.
Hey, speaking of speed, mine constantly changes from 1X/EV to 1X only when I connect. Is there a modem setting that I should use? Anybody seen this happen before?
Quote:
Originally posted by sarcasmsra I'll probably release an update later tonight.
Regarding speed, it's already as fast as it's going to get. Found this regarding the bluetooth SPP profile:
"This profile requires support for one-slot packets only. This means that this profile ensures that data rates up to 128 Kbps can be used. Support for higher rates is optional."
So the bottleneck isn't btmodem, it's the SPP implementation. Looks like they didn't decide to support speeds over 128k.
Originally posted by sarcasmsra I'll probably release an update later tonight.
Regarding speed, it's already as fast as it's going to get. Found this regarding the bluetooth SPP profile:
"This profile requires support for one-slot packets only. This means that this profile ensures that data rates up to 128 Kbps can be used. Support for higher rates is optional."
So the bottleneck isn't btmodem, it's the SPP implementation. Looks like they didn't decide to support speeds over 128k.
The highest rate of transfer a Bluetooth connection supports is around 220k. It just can't handle much more than that. I would say that you're probably getting around the top end speed supported with the workaround you are using. If you could figure out a way to add the complete profile back in to the phone, the max you are going to hit is that 220k mark, so even though this will be nice to use in a pinch, the USB modem connection is still the way to go in an EVDO area, as you can achieve speeds greater than what Bluetooth maxes out on.
Great job on this workaround, and I have added it to the FAQ, with a direct link here. Once you finalize this, I will move it off of sticky, but I will leave it there for a while longer until more people see it and ask questions about it.
__________________
-Michael
Need help setting up your i730/i830 or other WM2003/WM5 Phone, as well as the other hacks I have done, check out the MRailing Guides and Links
The next release will be within the next few days, and it should:
- Be able to run all the time and not interfere with normal operations
- No longer require the Incoming Serial Port
- Show up as an actual DUN profile available on the phone.
- Still not be closeable or have any sort of GUI other than error messages.
- Really piss Verizon off.
The maximum throughput for any transfer on a Pocket PC device using bluetooth according to the Bluetooth specification for Windows CE is 768 kbps. But you also have to take into account overhead for other profiles, and other devices possibly connected, so in reality the maximum you would probably see is more along the lines of 640-680 kbps. Now since DUN is used as a serial device on Windows CE, you won't see those kinds of speeds. This also depends on your settings on the device you are connecting to the i730 with. The maximum throughput achieved over the serial connections should be around 220 kbps, if settings on the computer's serial connection were set to 230400.
This is from information I have been reading during the research for Bluetooth DUN on Windows CE devices. If 220 kbps is the maximum we can expect out of the i730's bluetooth connection, then it doesn't even come close to using the maximum speeds that people are getting with EVDO (300-800 kbps). So this would be good for the 1x system, but not that good for EVDO, although using it if you don't have a cable, or your cable was broken, lost, forgotten, etc. it could help you out. So with using any Bluetooth DUN connections, we are in reality stuck to a 1x connection speed, not because of the way you are doing your work, but a limitation of Bluetooth itself, as you posted above.
__________________
-Michael
Need help setting up your i730/i830 or other WM2003/WM5 Phone, as well as the other hacks I have done, check out the MRailing Guides and Links
Originally posted by sarcasmsra Are you saying 220kbytes or kbits?
The next release will be within the next few days, and it should:
- Be able to run all the time and not interfere with normal operations
- No longer require the Incoming Serial Port
- Show up as an actual DUN profile available on the phone.
- Still not be closeable or have any sort of GUI other than error messages.
- Really piss Verizon off.
For the new release, funtion 5: ie: Really piss Verizon Off.
Is that the technical term? Will this be a button on the phone that I can hit repeatedly that just pisses off Verizon? Cause I am willing to pay for that!!
In all honesty, great work Sarcasma. Your time and knowledge on this is truely appreciated. Cant wait for the next release.
__________________
Your Complete Computer Systems Management Solution:
And the test that I use on the Pocket PC PIE (www.2wire.net - does not require scripts but their data center seems to be connected to a somewhat slow link, good to test EvDO speeds though).
We're both wrong. Actually it is possible to do much better than 220 over SPP with the i730 and I can prove it. Check our your Activesync speed over Bluetooth. It uses SPP, which uses RFCOMM, which many bluetooth profiles use including DUN, LAP, Headset, and Fax. I just copied a 1.083 mbyte file to my i730 over bluetooth via Activesync's file explorer and it took 13 seconds, for a total after-overhead throughput of about 660kbps. SPP is required to allocate 1 slot of on-air bandwidth giving an air speed of 128kbs, but more slots can be allocated and higher speeds can be reached. I just need to figure out how to tell the bt stack to allocate more slots to the connection. It does look like 768kbps will be the limit.