RNDIS behaviour in USB composite mode

2,640 views
Skip to first unread message

Praveena Nadahally

unread,
Feb 14, 2011, 1:15:41 AM2/14/11
to Android Linux Kernel Development, m.naza...@samsung.com, lock...@android.com, ajayj...@gmail.com
Hello All,

I need some help on RNDIS and USB Tethering using RNDIS.

As windows doesn't support any other interfaces when RNDIS is enabled.
So, How should be the behaviour of RNDIS in the USB composite mode? Is
there any details available on this?

1) When the Tethering is enabled from the android menu, the following
actions are taken
a. Enable RNDIS
b. Disable Mass Storage and MTP (Why ACM (serial) and ADB are not
disabled?)
c. Soft Re-connect the USB so that the new configuration with RNDIS
is made available to PC.

2) When the Tethering is disabled from the MMI, the following actions
are taken
a. Disable RNDIS
b. Enable Mass Storage and MTP (Why ACM (serial) and ADB are not
enabled?)
c. Soft Re-connect the USB so that the new configuration with old
classes are made available to PC.

The following has been observed while doing the 1.c
1) Pre-Condition: Only RNDIS Class has been enabled in response to
Enable Tethering.
2) Do Soft-Disconnect.
3) Disconnect event is propagated to android.
4) Android disables Tethering option thinking that USB cable has been
removed.
5) RNDIS gets disabled as part of Tethering disable action. And Old
classes are enabled again.


Regards,
-Praveena Nadahally

Steve Modica

unread,
Feb 14, 2011, 7:01:03 AM2/14/11
to android...@googlegroups.com

On Feb 14, 2011, at 12:15 AM, Praveena Nadahally wrote:

> Hello All,
>
> I need some help on RNDIS and USB Tethering using RNDIS.
>
> As windows doesn't support any other interfaces when RNDIS is enabled.
> So, How should be the behaviour of RNDIS in the USB composite mode? Is
> there any details available on this?
>


Hi Praveena,

All this is detailed in the Android gadget in usb/gadgets. All of these actions come from that one driver.
You can actually rebuild the kernel to turn some of those actions off. We had to do that for my project.
We moved to the cdc ethernet gadget.

Steve

--
Steve Modica
CTO - Small Tree Communications
www.small-tree.com
phone: 651-209-6509 ext 301

Maulik Mankad

unread,
Feb 15, 2011, 9:15:49 AM2/15/11
to android...@googlegroups.com, m.naza...@samsung.com, lock...@android.com, ajayj...@gmail.com


Which AFS are you using?
Is this Disconnect UMS event captured in Tethering.java?

I saw such a behaviour while adding UMS connect and DISCONNECT event
notifications, in onReceive() function in Tethering.java.

In our case USB connect event is based on ACTION_BATTERY_CHANGED intent.
Is it the same case for you?

Regards,
Maulik

Thirupathi ch

unread,
Aug 9, 2011, 7:03:02 AM8/9/11
to android...@googlegroups.com, m.naza...@samsung.com, lock...@android.com, thirupa...@gmail.com
Hi All,
 
RNDIS USB composite mode issue in Windows xp sp3 Windows Driver Tree shows Andriod USB Ethernet/RNDIS.even after disconnecting the Cable.Please find the attached image shows the same.
 
Since the the Windows XP drivers Tree Not getting updated,Re-enumeration fails.Gadget not getting detected by Windows PC.
 
Is any one seen this same kind of issue.Please let me know.
 
Regards,
Thirupathi.ch
 

RNDIS_Window_Driver_Tree.bmp

Thirupathi ch

unread,
Aug 10, 2011, 7:33:58 AM8/10/11
to android...@googlegroups.com, m.naza...@samsung.com, lock...@android.com, thirupa...@gmail.com
Hi All,

The issue is not seen in Linux OS.From the bus logs,Windows Host does not sending the Set_Configuration Control Request.

Regards,
Thirupathi.ch
Reply all
Reply to author
Forward
0 new messages