It is currently May 7th, 2024, 9:32 am

Slowdown when using RNDIS internet connection

Report bugs with the Rainmeter application and suggest features.
unforgiven512
Posts: 1
Joined: December 2nd, 2009, 5:06 pm

Slowdown when using RNDIS internet connection

Post by unforgiven512 »

So, I've encountered a pretty serious bug.

Rainmeter runs quite well on my machine, except while I am tethering internet through my G1.

It uses the USB RNDIS driver -- The same as Windows Mobile tethering.

When I plug my phone in, and it's just in adb (android debug) mode, it works fine.

Mass storage mode, works fine.

Internet sharing, rainmeter slows to a crawl. Refreshes take about 30 seconds.

I'm running Windows 7 Ultimate x64
2GB RAM
Turion 64 x2 (1600mhz)
nVidia 6150 Mobile -- 128MB Shared GFX Memory

Any ideas?

And I'm sorry if this has been covered before, it just seems like a rather specific, odd issue.
dragonmage
Developer
Posts: 1270
Joined: April 3rd, 2009, 4:31 am
Location: NC, US

Re: Slowdown when using RNDIS internet connection

Post by dragonmage »

Could you describe this "slow down" a bit more? Is it just skins that connect to the internet? What is the speed of your connection on the G1?
JoeOGrant
Posts: 3
Joined: February 21st, 2011, 12:54 am

Re: Slowdown when using RNDIS internet connection

Post by JoeOGrant »

I have the same problem. I can confirm that it is not a system slow down, it is only rain meter which slows down. My rainmeter runs apprx 7mb using <1% of my CPU while I am experiencing the slowdown and when I am not.

The USB RNDIS driver required by many phones to utilize the functionality of USB internet-tethering is most certainly the culprit.

My guess is that rainmeter has difficulty establishing a connection to the internet whenever it needs to update any online-required skins because it thinks that hte NDIS based adapter is a standard LAN adapter.

But NDIS uses "pass-thru" which is basically a very F*** method to communicate with a modem. Instead of resolving any addresses locally on the computer, it is all done inside the phone. The NDIS adapter emulates a LAN adapter for compatibility purposes, but its protocol is much different.

SImply put... Internet>Phone,Resolves adresses and packets, encrypts> NDIS driver> Emulation Daemon (passThruSvr.exe), unencrypts> Application Layer (Rainmeter)

Most internet programs run fine using NDIS. Im no programmer, but I think that Rainmeter is (for some reason) not receiving packets from passthrusvr.exe and is attempting to get them from the hardware layer which doesnt function normally because it is emulated. Thus the packets that rainmeter reads from the hardware layer are then sent immediatly back to the phone without being encrypted and... yeah... some kind of infinite loop is causing rainmeter to lag, a lot!

Because it is a very convoluted way of sending and receiving packets using like 3 different mediums, it doesnt surprise me that Rainmeter is lagging because it doesnt know how to handle it.

Whew!

Im sure it would be an easy fix, but what do i know. :rofl:

There is already a support ticket for this on the bug reporting thing for google code. Heres the link http://code.google.com/p/rainmeter/issues/detail?id=131

Hope this gets fixed, I am sure that a lot of people use this USB tethering protocol to get internet. All android phones use it as do windows 7 phones.

Source: I'm a Cisco Certified Entry Networking Technician

Edit: Sorry for the bump! I meant to post this on a more recent thread