netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* USB rndis_host - slow download transfers, RX errors
       [not found] ` <1518039563.2617.15.camel@decadent.org.uk>
@ 2018-02-08 14:16   ` Tomasz Janowski, Ph.D.
       [not found]     ` <BL2PR05MB2196BF871003A1E636D714B883F30-OPySxP7SCtAm5UMXViuLsLJUF9Gbu2OwvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>
  0 siblings, 1 reply; 5+ messages in thread
From: Tomasz Janowski, Ph.D. @ 2018-02-08 14:16 UTC (permalink / raw)
  To: USB list, netdev@vger.kernel.org; +Cc: 889831@bugs.debian.org

[-- Attachment #1: Type: text/plain, Size: 1201 bytes --]

Dear USB developers,

Based on my google research, the problem I experience seems to happen
with some newer smartphones. My test case is Samsung Galaxy S8 (SM-950U1). I am
trying to use USB tethering and everything seems to work as expected (modules
are loaded, Ethernet devices are up and running, dhcp works fine). I can connect to
the external world using both LTE or wireless network on the phone.

Now, the problem is that the download speeds are terrible, around 64 KB/s,
while uploads are fast, the order of 15 MB/s. These speeds do not depend
on the wireless service provider: the results are similar when I tether wi-fi.
The USB Ethernet interface on the Linux host reports a lot of receive errors (attached:
device_state.txt), while kernel reports bad rndis messages (attached: kernel.log.txt).

Windows 10 works great with the same hardware (same PC and same phone), with
uploads and downloads in the order of 150 Mbit/s, which is probably as fast as my
wireless network can do. But some people reported issues with older Windows drivers too.
Is possible that some newer version of RNDIS protocol is around and Linux hasn't updated
its RNDIS module yet?

Best,
Tomasz

[-- Attachment #2: kernel.log.txt --]
[-- Type: text/plain, Size: 10336 bytes --]

[77979.936526] usb 3-9: new high-speed USB device number 7 using xhci_hcd
[77980.089137] usb 3-9: New USB device found, idVendor=04e8, idProduct=6860
[77980.089143] usb 3-9: New USB device strings: Mfr=7, Product=8, SerialNumber=9
[77980.089146] usb 3-9: Product: SAMSUNG_Android
[77980.089148] usb 3-9: Manufacturer: SAMSUNG
[77980.089151] usb 3-9: SerialNumber: 98882945364a434f46
[78019.597479] usb 3-9: USB disconnect, device number 7
[78020.037162] usb 3-9: new high-speed USB device number 8 using xhci_hcd
[78020.187529] usb 3-9: New USB device found, idVendor=04e8, idProduct=6863
[78020.187534] usb 3-9: New USB device strings: Mfr=7, Product=8, SerialNumber=9
[78020.187537] usb 3-9: Product: SAMSUNG_Android
[78020.187539] usb 3-9: Manufacturer: SAMSUNG
[78020.187542] usb 3-9: SerialNumber: 98882945364a434f46
[78020.191979] rndis_host 3-9:1.0 usb0: register 'rndis_host' at usb-0000:00:14.0-9, RNDIS device, 82:70:61:5c:9d:4f
[78020.238719] rndis_host 3-9:1.0 enp0s20u9: renamed from usb0
[78213.555001] rndis_host 3-9:1.0 enp0s20u9: bad rndis message 1/1298/36/1254, len 750
[78213.555027] rndis_host 3-9:1.0 enp0s20u9: bad rndis message -2013127152/-84731529/-93394684/315651350, len 548
[78213.555035] rndis_host 3-9:1.0 enp0s20u9: bad rndis message 1/1298/36/1254, len 750
[78213.555243] rndis_host 3-9:1.0 enp0s20u9: bad rndis message -910707548/1362693399/1098054912/-1158698644, len 2048
[78213.555254] rndis_host 3-9:1.0 enp0s20u9: bad rndis message 453773253/1322224416/1773410520/1734735583, len 2048
[78213.555258] rndis_host 3-9:1.0 enp0s20u9: bad rndis message 1847997430/-1292764570/-1075768035/-1173448098, len 1644
[78213.580893] rndis_host 3-9:1.0 enp0s20u9: bad rndis message 1/1298/36/1254, len 750
[78213.580928] rndis_host 3-9:1.0 enp0s20u9: bad rndis message 1374746855/1872717209/1627961749/1446196293, len 2048
[78213.581007] rndis_host 3-9:1.0 enp0s20u9: bad rndis message 2014317876/-1802985385/1741271276/985318156, len 2048
[78213.581272] rndis_host 3-9:1.0 enp0s20u9: bad rndis message 315472595/1240463481/1199472260/-1304836767, len 346
[78213.606421] rndis_host 3-9:1.0 enp0s20u9: bad rndis message 1/1298/36/1254, len 750
[78213.606700] rndis_host 3-9:1.0 enp0s20u9: bad rndis message 1971266818/603214195/-1554415893/513330975, len 548
[78213.678067] rndis_host 3-9:1.0 enp0s20u9: bad rndis message 1/1298/36/1254, len 750
[78213.678094] rndis_host 3-9:1.0 enp0s20u9: bad rndis message 1971266818/603214195/-1554415893/513330975, len 548
[78213.755151] rndis_host 3-9:1.0 enp0s20u9: bad rndis message 1/1298/36/1254, len 750
[78213.755178] rndis_host 3-9:1.0 enp0s20u9: bad rndis message -960915119/-1414823780/-1725858181/-1936328995, len 548
[78213.781899] rndis_host 3-9:1.0 enp0s20u9: bad rndis message 1/1298/36/1254, len 750
[78213.782511] rndis_host 3-9:1.0 enp0s20u9: bad rndis message 484952970/955066952/-390686949/1110830164, len 548
[78213.832185] rndis_host 3-9:1.0 enp0s20u9: bad rndis message 1/1298/36/1254, len 750
[78213.832375] rndis_host 3-9:1.0 enp0s20u9: bad rndis message -289948698/1791367026/1725404901/949556424, len 2048
[78213.832383] rndis_host 3-9:1.0 enp0s20u9: bad rndis message 2071042143/-2017854031/-1092884323/1270254088, len 2048
[78213.832405] rndis_host 3-9:1.0 enp0s20u9: bad rndis message -1454388581/-113380006/-2064914356/-1946942086, len 346
[78213.832412] rndis_host 3-9:1.0 enp0s20u9: bad rndis message 1/1298/36/1254, len 750
[78213.833306] rndis_host 3-9:1.0 enp0s20u9: bad rndis message -26919620/597103012/-1245814449/-1439889729, len 548
[78213.858455] rndis_host 3-9:1.0 enp0s20u9: bad rndis message 1/1298/36/1254, len 750
[78213.858651] rndis_host 3-9:1.0 enp0s20u9: bad rndis message 484952970/955066952/-390686949/1110830164, len 548
[78213.958295] rndis_host 3-9:1.0 enp0s20u9: bad rndis message 1/1298/36/1254, len 750
[78213.958320] rndis_host 3-9:1.0 enp0s20u9: bad rndis message 2084747672/-1159076936/-1149113043/-1678125283, len 548
[78213.982941] rndis_host 3-9:1.0 enp0s20u9: bad rndis message 1/1298/36/1254, len 750
[78213.983693] rndis_host 3-9:1.0 enp0s20u9: bad rndis message 2102180585/730447672/-1110358447/1834872825, len 548
[78214.031769] rndis_host 3-9:1.0 enp0s20u9: bad rndis message 1/1298/36/1254, len 750
[78214.031793] rndis_host 3-9:1.0 enp0s20u9: bad rndis message -1246805200/-557540988/-550708953/333388587, len 2048
[78214.032540] rndis_host 3-9:1.0 enp0s20u9: bad rndis message -1124897987/-1560016508/601048935/912680915, len 1096
[78214.103210] rndis_host 3-9:1.0 enp0s20u9: bad rndis message 1/1298/36/1254, len 750
[78214.103823] rndis_host 3-9:1.0 enp0s20u9: bad rndis message 103489251/430730633/-2041888464/-650965517, len 548
[78214.126584] rndis_host 3-9:1.0 enp0s20u9: bad rndis message 1/1298/36/1254, len 750
[78214.127271] rndis_host 3-9:1.0 enp0s20u9: bad rndis message 1851988335/-877252773/695546869/-225934220, len 548
[78214.210238] rndis_host 3-9:1.0 enp0s20u9: bad rndis message 1/1298/36/1254, len 750
[78214.210271] rndis_host 3-9:1.0 enp0s20u9: bad rndis message 1277412514/-2057844218/-1021179555/-91396667, len 548
[78214.260735] rndis_host 3-9:1.0 enp0s20u9: bad rndis message 1/1298/36/1254, len 750
[78214.261045] rndis_host 3-9:1.0 enp0s20u9: bad rndis message 1231413152/-214797924/-1481816745/-1376191182, len 548
[78214.386311] rndis_host 3-9:1.0 enp0s20u9: bad rndis message 1/1298/36/1254, len 750
[78214.387063] rndis_host 3-9:1.0 enp0s20u9: bad rndis message 338469046/-1799009170/-96509089/-1013991521, len 548
[78214.513760] rndis_host 3-9:1.0 enp0s20u9: bad rndis message 1/1298/36/1254, len 750
[78214.514041] rndis_host 3-9:1.0 enp0s20u9: bad rndis message -431436533/-539194042/2034659576/-244068548, len 548
[78214.642687] rndis_host 3-9:1.0 enp0s20u9: bad rndis message 1/1298/36/1254, len 750
[78214.642974] rndis_host 3-9:1.0 enp0s20u9: bad rndis message -927689477/948732430/26418062/76175373, len 548
[78214.772365] rndis_host 3-9:1.0 enp0s20u9: bad rndis message 1/1298/36/1254, len 750
[78214.772866] rndis_host 3-9:1.0 enp0s20u9: bad rndis message -1684956545/-172899499/1725123600/662171655, len 548
[78214.896142] rndis_host 3-9:1.0 enp0s20u9: bad rndis message 1/1298/36/1254, len 750
[78214.896904] rndis_host 3-9:1.0 enp0s20u9: bad rndis message 84076119/796841153/1020965658/-1286461757, len 548
[78215.018380] rndis_host 3-9:1.0 enp0s20u9: bad rndis message 1/1298/36/1254, len 750
[78215.018972] rndis_host 3-9:1.0 enp0s20u9: bad rndis message 930597881/-1791002248/-1397559056/-134399856, len 548
[78215.217262] rndis_host 3-9:1.0 enp0s20u9: bad rndis message 1/1298/36/1254, len 750
[78215.217282] rndis_host 3-9:1.0 enp0s20u9: bad rndis message 1443753985/486728441/320106976/-987512689, len 548
[78215.342544] rndis_host 3-9:1.0 enp0s20u9: bad rndis message 1/1298/36/1254, len 750
[78215.343209] rndis_host 3-9:1.0 enp0s20u9: bad rndis message 609819453/-1575160936/-1030019640/1971513523, len 548
[78215.454935] rndis_host 3-9:1.0 enp0s20u9: bad rndis message 1/1298/36/1254, len 750
[78215.455560] rndis_host 3-9:1.0 enp0s20u9: bad rndis message -1146348536/12542297/-1181341947/173064767, len 548
[78215.554938] rndis_host 3-9:1.0 enp0s20u9: bad rndis message 1/1298/36/1254, len 750
[78215.555157] rndis_host 3-9:1.0 enp0s20u9: bad rndis message -1586701922/2105434844/67968484/478009949, len 548
[78215.656964] rndis_host 3-9:1.0 enp0s20u9: bad rndis message 1/1298/36/1254, len 750
[78215.657764] rndis_host 3-9:1.0 enp0s20u9: bad rndis message -2010532499/-428777225/-913106362/1700629661, len 1846
[78215.759102] rndis_host 3-9:1.0 enp0s20u9: bad rndis message 1/1298/36/1254, len 750
[78215.759273] rndis_host 3-9:1.0 enp0s20u9: bad rndis message 8957911/-55399652/254481186/781267956, len 548
[78215.886991] rndis_host 3-9:1.0 enp0s20u9: bad rndis message 1/1298/36/1254, len 750
[78215.887236] rndis_host 3-9:1.0 enp0s20u9: bad rndis message 283345402/-393017851/622211229/-1621938810, len 548
[78216.039975] rndis_host 3-9:1.0 enp0s20u9: bad rndis message 1/1298/36/1254, len 750
[78216.040593] rndis_host 3-9:1.0 enp0s20u9: bad rndis message -774067577/740327363/1394717201/1870184950, len 548
[78216.064995] rndis_host 3-9:1.0 enp0s20u9: bad rndis message 1/1298/36/1254, len 750
[78216.065019] rndis_host 3-9:1.0 enp0s20u9: bad rndis message -1488794099/949017101/563058816/1234612065, len 548
[78216.140773] rndis_host 3-9:1.0 enp0s20u9: bad rndis message 1/1298/36/1254, len 750
[78216.141196] rndis_host 3-9:1.0 enp0s20u9: bad rndis message 973637352/-1676660256/-643859106/-293988447, len 548
[78216.264113] rndis_host 3-9:1.0 enp0s20u9: bad rndis message 1/1298/36/1254, len 750
[78216.264231] rndis_host 3-9:1.0 enp0s20u9: bad rndis message -1355004786/67511672/-1208103326/832735088, len 548
[78216.388451] rndis_host 3-9:1.0 enp0s20u9: bad rndis message 1/1298/36/1254, len 750
[78216.389260] rndis_host 3-9:1.0 enp0s20u9: bad rndis message 740504757/-2049838369/-1422332143/-1592920764, len 548
[78216.512919] rndis_host 3-9:1.0 enp0s20u9: bad rndis message 1/1298/36/1254, len 750
[78216.513297] rndis_host 3-9:1.0 enp0s20u9: bad rndis message -909651332/507143459/1375928092/1522993659, len 548
[78216.640219] rndis_host 3-9:1.0 enp0s20u9: bad rndis message 1/1298/36/1254, len 750
[78216.640251] rndis_host 3-9:1.0 enp0s20u9: bad rndis message 1582522928/-2082421907/-627775921/-41785296, len 548
[78216.765491] rndis_host 3-9:1.0 enp0s20u9: bad rndis message 1/1298/36/1254, len 750
[78216.766264] rndis_host 3-9:1.0 enp0s20u9: bad rndis message -521012456/1374598223/-231299891/970638541, len 548
[78216.890022] rndis_host 3-9:1.0 enp0s20u9: bad rndis message 1/1298/36/1254, len 750
[78216.890324] rndis_host 3-9:1.0 enp0s20u9: bad rndis message 89130958/-1530942909/-1649415967/105176461, len 548
[78217.016836] rndis_host 3-9:1.0 enp0s20u9: bad rndis message 1/1298/36/1254, len 750
[78217.017283] rndis_host 3-9:1.0 enp0s20u9: bad rndis message -1600313178/106169254/-101967744/1398600788, len 548
[78217.171928] rndis_host 3-9:1.0 enp0s20u9: bad rndis message 1/1298/36/1254, len 750
[78217.172568] rndis_host 3-9:1.0 enp0s20u9: bad rndis message 1846001878/-755765346/181816545/558429318, len 548
[78217.196710] rndis_host 3-9:1.0 enp0s20u9: bad rndis message 1/1298/36/1254, len 750
[78217.196945] rndis_host 3-9:1.0 enp0s20u9: bad rndis message 1769762164/-1018178086/1137941038/-1153695535, len 548

[-- Attachment #3: device_state.txt --]
[-- Type: text/plain, Size: 879 bytes --]

enp0s20u9: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.42.166  netmask 255.255.255.0  broadcast 192.168.42.255
        inet6 fe80::890:3fff:fe0e:d2c6  prefixlen 64  scopeid 0x20<link>
        ether 0a:90:3f:0e:d2:c6  txqueuelen 1000  (Ethernet)
        RX packets 716  bytes 859199 (839.0 KiB)
        RX errors 459  dropped 0  overruns 0  frame 459
        TX packets 731  bytes 86682 (84.6 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: USB rndis_host - slow download transfers, RX errors
       [not found]     ` <BL2PR05MB2196BF871003A1E636D714B883F30-OPySxP7SCtAm5UMXViuLsLJUF9Gbu2OwvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>
@ 2018-02-08 14:43       ` Greg KH
       [not found]         ` <20180208144305.GA20594-U8xfFu+wG4EAvxtiuMwx3w@public.gmane.org>
  0 siblings, 1 reply; 5+ messages in thread
From: Greg KH @ 2018-02-08 14:43 UTC (permalink / raw)
  To: Tomasz Janowski, Ph.D.
  Cc: USB list, netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	889831-61a8vm9lEZVf4u+23C9RwQ@public.gmane.org

On Thu, Feb 08, 2018 at 02:16:08PM +0000, Tomasz Janowski, Ph.D. wrote:
> Dear USB developers,
> 
> Based on my google research, the problem I experience seems to happen
> with some newer smartphones. My test case is Samsung Galaxy S8 (SM-950U1). I am
> trying to use USB tethering and everything seems to work as expected (modules
> are loaded, Ethernet devices are up and running, dhcp works fine). I can connect to
> the external world using both LTE or wireless network on the phone.
> 
> Now, the problem is that the download speeds are terrible, around 64 KB/s,
> while uploads are fast, the order of 15 MB/s. These speeds do not depend
> on the wireless service provider: the results are similar when I tether wi-fi.
> The USB Ethernet interface on the Linux host reports a lot of receive errors (attached:
> device_state.txt), while kernel reports bad rndis messages (attached: kernel.log.txt).
> 
> Windows 10 works great with the same hardware (same PC and same phone), with
> uploads and downloads in the order of 150 Mbit/s, which is probably as fast as my
> wireless network can do. But some people reported issues with older Windows drivers too.
> Is possible that some newer version of RNDIS protocol is around and Linux hasn't updated
> its RNDIS module yet?

Hey, I was _just_ talking to someone at Google about this same issue
yesterday, you beat him sending this same type of report to the mailing
list, nice job :)

Yes, this is not good, and we should work to resolve this, but first,
what kernel version are you using?  I think some fixes for the rndis
driver went in recently to 4.15, but it would be good to verify that
this isn't already resolved.

thanks,

greg k-h
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: USB rndis_host - slow download transfers, RX errors
       [not found]         ` <20180208144305.GA20594-U8xfFu+wG4EAvxtiuMwx3w@public.gmane.org>
@ 2018-02-08 15:53           ` Tomasz Janowski
  2018-02-08 16:37             ` Greg KH
  0 siblings, 1 reply; 5+ messages in thread
From: Tomasz Janowski @ 2018-02-08 15:53 UTC (permalink / raw)
  To: Greg KH
  Cc: USB list, netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	889831-61a8vm9lEZVf4u+23C9RwQ@public.gmane.org

On Thursday, February 8, 2018 3:43:05 PM EST Greg KH wrote:
> On Thu, Feb 08, 2018 at 02:16:08PM +0000, Tomasz Janowski, Ph.D. wrote:
> > Dear USB developers,
> > 
> > Based on my google research, the problem I experience seems to happen
> > with some newer smartphones. My test case is Samsung Galaxy S8 (SM-950U1).
> > I am trying to use USB tethering and everything seems to work as expected
> > (modules are loaded, Ethernet devices are up and running, dhcp works
> > fine). I can connect to the external world using both LTE or wireless
> > network on the phone.
> > 
> > Now, the problem is that the download speeds are terrible, around 64 KB/s,
> > while uploads are fast, the order of 15 MB/s. These speeds do not depend
> > on the wireless service provider: the results are similar when I tether
> > wi-fi. The USB Ethernet interface on the Linux host reports a lot of
> > receive errors (attached: device_state.txt), while kernel reports bad
> > rndis messages (attached: kernel.log.txt).
> > 
> > Windows 10 works great with the same hardware (same PC and same phone),
> > with uploads and downloads in the order of 150 Mbit/s, which is probably
> > as fast as my wireless network can do. But some people reported issues
> > with older Windows drivers too. Is possible that some newer version of
> > RNDIS protocol is around and Linux hasn't updated its RNDIS module yet?
> 
> Hey, I was _just_ talking to someone at Google about this same issue
> yesterday, you beat him sending this same type of report to the mailing
> list, nice job :)
> 
> Yes, this is not good, and we should work to resolve this, but first,
> what kernel version are you using?  I think some fixes for the rndis
> driver went in recently to 4.15, but it would be good to verify that
> this isn't already resolved.

The error messages which I have attached were produced by a precompiled Debian 
kernel: "Linux version 4.14.0-0.bpo.3-amd64 (debian-kernel-0aAXYlwwYIJuHlm7Suoebg@public.gmane.org) 
(gcc version 6.3.0 20170516 (Debian 6.3.0-18)) #1 SMP Debian 4.14.13-1~bpo9+1 
(2018-01-14)".

But I have downloaded the most recent version of the kernel from the official 
git repository (last commit: Jan 31, 2018) and it had exactly the same 
problem. Unless a patch was submitted within the last week, the issue is still 
there.

Should I get the version as of today and test it again?

Thanks!
Tomasz


--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: USB rndis_host - slow download transfers, RX errors
  2018-02-08 15:53           ` Tomasz Janowski
@ 2018-02-08 16:37             ` Greg KH
  2018-02-08 17:02               ` Tomasz Janowski
  0 siblings, 1 reply; 5+ messages in thread
From: Greg KH @ 2018-02-08 16:37 UTC (permalink / raw)
  To: Tomasz Janowski; +Cc: USB list, netdev@vger.kernel.org, 889831@bugs.debian.org

On Thu, Feb 08, 2018 at 10:53:20AM -0500, Tomasz Janowski wrote:
> On Thursday, February 8, 2018 3:43:05 PM EST Greg KH wrote:
> > On Thu, Feb 08, 2018 at 02:16:08PM +0000, Tomasz Janowski, Ph.D. wrote:
> > > Dear USB developers,
> > > 
> > > Based on my google research, the problem I experience seems to happen
> > > with some newer smartphones. My test case is Samsung Galaxy S8 (SM-950U1).
> > > I am trying to use USB tethering and everything seems to work as expected
> > > (modules are loaded, Ethernet devices are up and running, dhcp works
> > > fine). I can connect to the external world using both LTE or wireless
> > > network on the phone.
> > > 
> > > Now, the problem is that the download speeds are terrible, around 64 KB/s,
> > > while uploads are fast, the order of 15 MB/s. These speeds do not depend
> > > on the wireless service provider: the results are similar when I tether
> > > wi-fi. The USB Ethernet interface on the Linux host reports a lot of
> > > receive errors (attached: device_state.txt), while kernel reports bad
> > > rndis messages (attached: kernel.log.txt).
> > > 
> > > Windows 10 works great with the same hardware (same PC and same phone),
> > > with uploads and downloads in the order of 150 Mbit/s, which is probably
> > > as fast as my wireless network can do. But some people reported issues
> > > with older Windows drivers too. Is possible that some newer version of
> > > RNDIS protocol is around and Linux hasn't updated its RNDIS module yet?
> > 
> > Hey, I was _just_ talking to someone at Google about this same issue
> > yesterday, you beat him sending this same type of report to the mailing
> > list, nice job :)
> > 
> > Yes, this is not good, and we should work to resolve this, but first,
> > what kernel version are you using?  I think some fixes for the rndis
> > driver went in recently to 4.15, but it would be good to verify that
> > this isn't already resolved.
> 
> The error messages which I have attached were produced by a precompiled Debian 
> kernel: "Linux version 4.14.0-0.bpo.3-amd64 (debian-kernel@lists.debian.org) 
> (gcc version 6.3.0 20170516 (Debian 6.3.0-18)) #1 SMP Debian 4.14.13-1~bpo9+1 
> (2018-01-14)".
> 
> But I have downloaded the most recent version of the kernel from the official 
> git repository (last commit: Jan 31, 2018) and it had exactly the same 
> problem. Unless a patch was submitted within the last week, the issue is still 
> there.
> 
> Should I get the version as of today and test it again?

If you find a 4.15 tree, that would be great to test, but odds are, the
issues are still there.

I'll try to carve out some time to look at this tomorrow, as I have a
bunch of Android devices to test with, and there's no good reason why
Windows should be slower than Linux for stuff like this.  We should be
able to go as fast as the device lets us.  Most likely we are doing
something "stupid" in the rndis driver somewhere :)

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: USB rndis_host - slow download transfers, RX errors
  2018-02-08 16:37             ` Greg KH
@ 2018-02-08 17:02               ` Tomasz Janowski
  0 siblings, 0 replies; 5+ messages in thread
From: Tomasz Janowski @ 2018-02-08 17:02 UTC (permalink / raw)
  To: Greg KH; +Cc: USB list, netdev@vger.kernel.org, 889831@bugs.debian.org

On Thursday, February 8, 2018 5:37:25 PM EST Greg KH wrote:
> On Thu, Feb 08, 2018 at 10:53:20AM -0500, Tomasz Janowski wrote:
> > On Thursday, February 8, 2018 3:43:05 PM EST Greg KH wrote:
> > > On Thu, Feb 08, 2018 at 02:16:08PM +0000, Tomasz Janowski, Ph.D. wrote:
> > > > Dear USB developers,
> > > > 
> > > > Based on my google research, the problem I experience seems to happen
> > > > with some newer smartphones. My test case is Samsung Galaxy S8
> > > > (SM-950U1).
> > > > I am trying to use USB tethering and everything seems to work as
> > > > expected
> > > > (modules are loaded, Ethernet devices are up and running, dhcp works
> > > > fine). I can connect to the external world using both LTE or wireless
> > > > network on the phone.
> > > > 
> > > > Now, the problem is that the download speeds are terrible, around 64
> > > > KB/s,
> > > > while uploads are fast, the order of 15 MB/s. These speeds do not
> > > > depend
> > > > on the wireless service provider: the results are similar when I
> > > > tether
> > > > wi-fi. The USB Ethernet interface on the Linux host reports a lot of
> > > > receive errors (attached: device_state.txt), while kernel reports bad
> > > > rndis messages (attached: kernel.log.txt).
> > > > 
> > > > Windows 10 works great with the same hardware (same PC and same
> > > > phone),
> > > > with uploads and downloads in the order of 150 Mbit/s, which is
> > > > probably
> > > > as fast as my wireless network can do. But some people reported issues
> > > > with older Windows drivers too. Is possible that some newer version of
> > > > RNDIS protocol is around and Linux hasn't updated its RNDIS module
> > > > yet?
> > > 
> > > Hey, I was _just_ talking to someone at Google about this same issue
> > > yesterday, you beat him sending this same type of report to the mailing
> > > list, nice job :)
> > > 
> > > Yes, this is not good, and we should work to resolve this, but first,
> > > what kernel version are you using?  I think some fixes for the rndis
> > > driver went in recently to 4.15, but it would be good to verify that
> > > this isn't already resolved.
> > 
> > The error messages which I have attached were produced by a precompiled
> > Debian kernel: "Linux version 4.14.0-0.bpo.3-amd64
> > (debian-kernel@lists.debian.org) (gcc version 6.3.0 20170516 (Debian
> > 6.3.0-18)) #1 SMP Debian 4.14.13-1~bpo9+1 (2018-01-14)".
> > 
> > But I have downloaded the most recent version of the kernel from the
> > official git repository (last commit: Jan 31, 2018) and it had exactly
> > the same problem. Unless a patch was submitted within the last week, the
> > issue is still there.
> > 
> > Should I get the version as of today and test it again?
> 
> If you find a 4.15 tree, that would be great to test, but odds are, the
> issues are still there.
> 
> I'll try to carve out some time to look at this tomorrow, as I have a
> bunch of Android devices to test with, and there's no good reason why
> Windows should be slower than Linux for stuff like this.  We should be
> able to go as fast as the device lets us.  Most likely we are doing
> something "stupid" in the rndis driver somewhere :)
> 
Thanks a lot!

I have tested with kernel downloaded from:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
The version was 4.15.0+, so I guess that was cutting edge kernel as of 
01/31/2018.
Just to clarify, Windows is faster than Linux. 64 KB/s in Linux makes the USB 
tethering not so useful, and if the "PC" is a laptop, one can live with wi-fi 
hotspot, which works fine. Desktop PC must use USB. I also thought that USB has 
a greater potential to deliver better throughput than wifi hotspot.

I have tested another phone, Galaxy J7 Pro (2017 version). That phone uses a 
different hardware, different USB connector, and an older kernel version. J7 
works fine with current Linux kernel, so it is necessary to use as recent 
Android (and possibly hardware) as possible.

Thanks!
Tomasz

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2018-02-08 17:02 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <151801953766.3584.1741662034970121249.reportbug@theory.chem.duke.edu>
     [not found] ` <1518039563.2617.15.camel@decadent.org.uk>
2018-02-08 14:16   ` USB rndis_host - slow download transfers, RX errors Tomasz Janowski, Ph.D.
     [not found]     ` <BL2PR05MB2196BF871003A1E636D714B883F30-OPySxP7SCtAm5UMXViuLsLJUF9Gbu2OwvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>
2018-02-08 14:43       ` Greg KH
     [not found]         ` <20180208144305.GA20594-U8xfFu+wG4EAvxtiuMwx3w@public.gmane.org>
2018-02-08 15:53           ` Tomasz Janowski
2018-02-08 16:37             ` Greg KH
2018-02-08 17:02               ` Tomasz Janowski

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).