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
[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
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

Reply via email to