Linux kernel USB调制解调器的Linux内核代码

Linux kernel USB调制解调器的Linux内核代码,linux-kernel,usb,modem,Linux Kernel,Usb,Modem,我曾尝试在Ubuntu11.04上使用标准的3G USB调制解调器,它的linux内核版本为2.38.8。在分析tcpdump捕获的数据包间隔时,观察到以下模式 8094 14 4. 6. 3. 3985 我们可以看到非常短的数据包间隔 对于7 Mbps 3G连接,上述间隔以微秒为单位。将内核更改为2.6.39时,将不再观察到数十微秒的短间隔,而是被数百微秒的间隔所取代。 我已经确定在2.6.39 rc 1更新中引入了更改。但是有太多的变化,所以很难确定是什么导致了这种行为 因此,您需要了解li

我曾尝试在Ubuntu11.04上使用标准的3G USB调制解调器,它的linux内核版本为2.38.8。在分析tcpdump捕获的数据包间隔时,观察到以下模式 8094 14 4. 6. 3. 3985 我们可以看到非常短的数据包间隔

对于7 Mbps 3G连接,上述间隔以微秒为单位。将内核更改为2.6.39时,将不再观察到数十微秒的短间隔,而是被数百微秒的间隔所取代。 我已经确定在2.6.39 rc 1更新中引入了更改。但是有太多的变化,所以很难确定是什么导致了这种行为


因此,您需要了解linux内核源代码的哪一部分,或者3G USB调制解调器使用哪些驱动程序或模块。感谢您在查找代码更改方面提供的任何帮助。

您可以在drivers/USB/serial中找到Linux USB串行驱动程序,那里有一个通用驱动程序generic.c,但您可能正在使用一个特定于设备的驱动程序,例如option。

这取决于它是什么类型的设备。您使用的是PPP over-it(即,PPP over-tty、CDC ACM)还是网络适配器(即,设备使用CDC ECM)?您可能还需要检查其他接口上的数据包定时,然后再假设它是USB调制解调器驱动程序独有的。对这种流量的一个显而易见的解释是,数据块混合在一个数据包中,而那些数据块必须在多个数据包中传输。