I have tried using standard 3G USB modems on Ubuntu 11.04 which has linux kernel version 2.38.8. On analyzing packet spacings of a tcpdump capture, following pattern is observed 8094 14 4 6 3 3985 where we see very short packet spacing.
Above spacings is in microseconds for a 7 Mbps 3G connection. On changing the kernel to 2.6.39 , short spacings in tens of microseconds is no longer observed and is replaced by spacings in hundreds of microseconds. I have identified that changes were brought in 2.6.39 rc 1 update. But there are so many changes, that it is difficult to identify which caused this behavior.
So need information on what part of linux kernel source code to look for or which drivers or modules are used by 3G USB modem. Any help in locating code change is appreciated.