On Fri, Jul 08, 2011 at 03:28:00PM +0200, Michal Hybner wrote: > Hi all, > I am connected to internet with IPWireless modem (it's using UMTS-TDD > technology) using 1Mb/s tariff. But on Linux, its bandwidth never gets > over 56 kB/s. I tried it on Windows and it works on full speed, > sometimes even over 110 kB/s. I searched a lot about this issue > because I am using Linux 99% of time. I found some posts aged approx. > 5 years ago, that some people had this issue with 3G modems and it was > due to low buffer size in 'usb-serial' driver which wasn't meant for > those speed. As workaround was often recommended some dirty hack to > increase buffer size by patching usb-serial or they advise to use > 'option' driver. But 'option' didn't work for me - I used the 'echo > 0bc3 0001 > /sys/.../new_id' thing and it didn't even connect. I think > that 'option' driver is really for classic 3G FDD modems, but not TDD. > I had opportunity to try it on 5 kernel versions - from 2.6.26 to > 3.0.0-rc5 and it's always the same. > > Any advices how to solve this? If the bottleneck is really the buffer > size, isn't it possible to set it somehow in the 'ipw' driver? Maybe > it is simple to find, but I can't code :-(. Few days ago I found this > patch[1] - maybe something similar could be done for 'ipw' driver too? > 'lsusb -v' and 'lspci -v' attached. Yes, a patch like that one should help out a lot here, are you able to test patches? If so, can you try the one below and let me know if it helps you out or not? thanks, greg k-h diff --git a/drivers/usb/serial/ipw.c b/drivers/usb/serial/ipw.c index ca77e88..eaeb450 100644 --- a/drivers/usb/serial/ipw.c +++ b/drivers/usb/serial/ipw.c @@ -297,6 +297,8 @@ static struct usb_serial_driver ipw_device = { .usb_driver = &usb_ipw_driver, .id_table = usb_ipw_ids, .num_ports = 1, + .bulk_in_size = 256, + .bulk_out_size = 256, .open = ipw_open, .close = ipw_close, .dtr_rts = ipw_dtr_rts, -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html