Discussion forum for EVDO users
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups 

View previous topic :: View next topic  
Author Message

Joined: 31 Oct 2006
Posts: 50

PostPosted: Fri Jan 05, 2007 9:57 pm    Post subject: Connection manager vs dialup networking vs linux kppp speeds

This test was run in an area that only has REV 0 speeds with a REV A card (S720), btw.

I don't know if this was previously posted, but maybe it might be helpful to someone. I've read people commenting on how the online speed in linux is much less than when using windows and the connection manager software. I've tried speed tests with xpsp2 and the connection manager software, with making a "normal" dialup connection with xp's built in software, and setting up the card to run in linux with kppp.

The connection mgr in xp is definitely the fastest speeds when compairing all three. The speeds with making a normal dialup connection with xp (not using the software that came with the card, but just using the drivers for the card), and linux's kppp are about the same. What I've concluded with this simple test is that the card's software does help with speed. I'm assuming that it helps with compression and optimizing throughput.

The highest speeds I've seen within xp with the connectin mgr and running utorrent is 207Kbs peak for about ten seconds, to never be repeated again. Sad The average speeds with max signal are around the 120's with the wind at my back and going downhill in a vacuum in space! LOL

The best speeds I've experienced in linux/xp dial up networking are around 70k. Another reason to dislike being stuck with proprietary anything.

Vista performance is a little less than xp and the connection software is flaky sometimes and it drops connections occasionally, but not too often.

This may or may not be true in real life but it's just my personal testing and attempt at figuring out why there's a difference with and without the card's software.

It sure would be sweet if someone figured out a way to reverse engineer it and make "open source" drivers for the cards out there, or even find out a way to run verison's os-x software in linux. Heh, I know, I'm dreaming and grasping at straws here! LOL
Back to top
View user's profile
EVDO Fledgling

Joined: 05 Jan 2007
Posts: 19
Location: Southern Wisconsin

PostPosted: Fri Jan 05, 2007 11:54 pm    Post subject:

I'm running a Pantech 500 card with my Sprint setup, and the Linux thing happens because the usbgeneric.ko and acm-cdc.ko driver have tiny buffers (64 bytes I think) because they were designed for slow-speed modems, not the 1Mbit+connections EVDOrA gets.

They can be patched to allow the user to custom-set the receive buffer size and once done the Pantech card works just as fast in Linux as it does in Windows.

A few words of wisdom:

1) Don't use the acm-cdc driver. Even when patched there seems to be some other bottleneck in the code that limits the download speed to about 700kbits max.

2) Unfortunately, the patches out there right now for the usbgeneric driver only patch the receive buffer, so upload speeds still get bottlenecked.

I'm a programmer so I fixed the usbgeneric driver to work fast in both directions. Unfortunately, after being on Linux all day I'm now on Windows so I can't access my patchfile at the moment. Give me 12 hours and maybe I can put it up. Smile

With the patches (and an external antenna) I consistently get speeds in the 1.5Mbit range down and 400-700k up in my rural area in Linux. So, yes, the cards can run as fast as they do in Windows with a little bit of software upgrades. Smile

EDIT: And here's my version of the patch!

Make sure you load the driver with the new parameters. I use:
usbserial vendor=0x106c product=0x3702 maxRSize=4096 maxWSize=1024

Obviously the vendor and product will be different for your card.
--- linuxold/drivers/usb/serial/usb-serial.c   2006-12-31 17:40:28.000000000 -0600
+++ linux/drivers/usb/serial/usb-serial.c   2007-01-02 23:55:08.000000000 -0600
@@ -58,4 +58,5 @@
+static ushort maxRSize, maxWSize, maxISize;
 static int debug;
 static struct usb_serial *serial_table[SERIAL_TTY_MINORS];   /* initially all NULL */
@@ -817,4 +818,6 @@
       buffer_size = le16_to_cpu(endpoint->wMaxPacketSize);
+      if (buffer_size < maxRSize)
+         buffer_size = maxRSize;
       port->bulk_in_size = buffer_size;
       port->bulk_in_endpointAddress = endpoint->bEndpointAddress;
@@ -841,4 +844,6 @@
       buffer_size = le16_to_cpu(endpoint->wMaxPacketSize);
+      if (buffer_size < maxWSize)
+         buffer_size = maxWSize;
       port->bulk_out_size = buffer_size;
       port->bulk_out_endpointAddress = endpoint->bEndpointAddress;
@@ -866,4 +871,6 @@
          buffer_size = le16_to_cpu(endpoint->wMaxPacketSize);
+         if (buffer_size < maxISize)
+            buffer_size = maxISize;
          port->interrupt_in_endpointAddress = endpoint->bEndpointAddress;
          port->interrupt_in_buffer = kmalloc (buffer_size, GFP_KERNEL);
@@ -1191,2 +1198,8 @@
 module_param(debug, bool, S_IRUGO | S_IWUSR);
 MODULE_PARM_DESC(debug, "Debug enabled or not");
+module_param(maxRSize, ushort, 0);
+MODULE_PARM_DESC(maxRSize, "User specified USB input buffer size");
+module_param(maxWSize, ushort, 0);
+MODULE_PARM_DESC(maxWSize, "User specified USB output buffer size");
+module_param(maxISize, ushort, 0);
+MODULE_PARM_DESC(maxISize, "User specified USB interrupt buffer size");
Back to top
View user's profile
EVDO Newbie

Joined: 06 Jan 2007
Posts: 1

PostPosted: Sat Jan 06, 2007 6:39 pm    Post subject:

This is great! You have no idea how long I've been trying to do this. Can you post instructions for compiling usb-serial.c into a module without recompiling the entire kernel? I'm having a bit of trouble here. Thanks!

Back to top
View user's profile
EVDO Fledgling

Joined: 05 Jan 2007
Posts: 19
Location: Southern Wisconsin

PostPosted: Sun Jan 07, 2007 12:35 am    Post subject:

Yikes, I have no idea how to compile a single module. I use Gentoo, and with that distro just about everything gets compiled from scratch, including the kernel. Smile
What exactly isn't working when you try to compile? You might want to ask on your Linux distro's message boards since they may be able to help better than I can. Or you can PM me since I don't know if the admins want us to get into the long topic of how to compile the kernel. Smile
Back to top
View user's profile

Joined: 28 May 2006
Posts: 55
Location: Trucking around the USA

PostPosted: Fri Feb 16, 2007 2:56 am    Post subject:

I'm using ubuntu 6.01 right now myself and I patched airprime.ko because the article I read thought that might be the problem (I have seen improvements but I'm only in 1xrtt at the moment I'll post tommorrow with other results, as far as patching just the one thing this article might be of some help:


Hope this helps ya Smile

Back to top
View user's profile MSN Messenger
EVDO Newbie

Joined: 11 Mar 2007
Posts: 3

PostPosted: Wed Mar 14, 2007 9:35 pm    Post subject: Speed issues


I used this to get my card working.. hxxp://www.sagrad.com/info/EVDO/ It works but the speed is pretty slow. I am using ubuntu 6.06 ( soon to be 6.10) Any suggestions?
Pantech PX-500
Back to top
View user's profile
EVDO Fledgling

Joined: 05 Jan 2007
Posts: 19
Location: Southern Wisconsin

PostPosted: Thu Mar 15, 2007 8:19 pm    Post subject:

Like I said above, you have to patch the usbserial.c driver and add the new options to the module loader script as described to get rid of the speed bottlenecks. I don't have Ubuntu so I can't say for sure how to do that but I imagine it's like compiling the kernel for any kind of Linux.

If you are using a version of Ubuntu that is compiled for AMD64 and is using kernel 2.6.18 I could probably just email you my Gentoo Linux usbserial driver module and it would work...maybe.
Back to top
View user's profile
Display posts from previous:   
All times are GMT - 6 Hours
Page 1 of 1
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum