> -----Original Message-----
> From: Felipe Balbi [mailto:ba...@kernel.org]
> Sent: Monday, October 17, 2016 5:29 PM
> To: Lipengcheng; Peter Chen
> Cc: gre...@linuxfoundation.org; linux-...@vger.kernel.org;
> Subject: RE: USB GADGET: have a question about usb2eth
> (please, avoid top-posting: http://daringfireball.net/2007/07/on_top)
> Lipengcheng <lpc...@hisilicon.com> writes:
> > Hi,
> > thank you for your suggestion.
> > I have a question about usb2eth. In the function gen_ndis_set_resp of
> > the rndis.c, the value of *params->filter may be 0x20 from the pc set
> > command; Howerver the value is used cdc_filter =
> > dev->port_usb->cdc_filter in the function eth_start_xmit of the u_ether.c.
> > If we do not judge the RNDIS_PACKET_TYPE_PROMISCUOUS and the value is
> > 0x20, the broadcast packet can not send the pc win7; At the result,
> > the linux ping the win7 is slow an the first. At the same time, Why
> > are different value between RNDIS_PACKET_TYPE_PROMISCUOUS and
> > USB_CDC_PACKET_TYPE_PROMISCUOUS? If the value of
> > RNDIS_PACKET_TYPE_PROMISCUOUS
> because they are defined by different specifications. You should read both
> CDC specification from USB.org and RNDIS spec from Microsoft to
> understand the details of that.
Ok. I will understand the different both CDC specification from USB.org and
RNDIS spec from Microsoft. They should have transformational rule in the linux
between CDC spe and RNDIS spe. Through debugging, I found there has been no
conversion about the filter. I feel a little problem. I will find the rule.
> > and USB_CDC_PACKET_TYPE_PROMISCUOUS is same, then the linux ping the
> > win7 is normal speed.
> I don't understand what's going on here. Care to describe which kernel you're
> using, which USB peripheral controller, what is the actual
> problem you're trying to solve?
VERSION = 3.18.20
USB peripheral controller: Synopsys HS OTG Linux Software Driver. It's not the
standard linux code. But I think the controller do not have problem.
The probem is that I am using one controller board with Linux running on it. I
want to interface my device to the Host computer (Windows OS) through USB.
I have driver ready at device side (linux) and the bridge has been established.
The device side ping the Host computer is very slow at the first time. It
a few minutes. The problem is the first ping takes too long time. Now I have a
way to quickly ping at the first , but I do not know the risk about the
continue debug the problem. If it is valuable, I will submit the kernel
Thanks very much!