RE: USB GADGET: have a question about usb2eth

2016-10-18 Thread Felipe Balbi

Hi,

Lipengcheng <lpc...@hisilicon.com> writes:
>> -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; 
>> linux-kernel@vger.kernel.org
>> Subject: RE: USB GADGET: have a question about usb2eth
>> 
>> 
>> Hi,
>> 
>> (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 code
> 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

why not v4.9-rc1? We can't help you with your kernel in this forum, I
reckon you realise that :-)

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

so you're not using drivers/usb/dwc2?

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

many have tried and succeeded before you :-)

> 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 spends 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 change.I will continue debug the
> problem. If it is valuable, I will submit the kernel community.

Well, if you can reproduce the same problem with v4.8 or v4.9-rc1, then
we'll be happy to review your patch.

Thank you

-- 
balbi


signature.asc
Description: PGP signature


RE: USB GADGET: have a question about usb2eth

2016-10-18 Thread Felipe Balbi

Hi,

Lipengcheng  writes:
>> -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; 
>> linux-kernel@vger.kernel.org
>> Subject: RE: USB GADGET: have a question about usb2eth
>> 
>> 
>> Hi,
>> 
>> (please, avoid top-posting: http://daringfireball.net/2007/07/on_top)
>> 
>> Lipengcheng  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 code
> 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

why not v4.9-rc1? We can't help you with your kernel in this forum, I
reckon you realise that :-)

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

so you're not using drivers/usb/dwc2?

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

many have tried and succeeded before you :-)

> 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 spends 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 change.I will continue debug the
> problem. If it is valuable, I will submit the kernel community.

Well, if you can reproduce the same problem with v4.8 or v4.9-rc1, then
we'll be happy to review your patch.

Thank you

-- 
balbi


signature.asc
Description: PGP signature


RE: USB GADGET: have a question about usb2eth

2016-10-17 Thread Lipengcheng


> -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; 
> linux-kernel@vger.kernel.org
> Subject: RE: USB GADGET: have a question about usb2eth
> 
> 
> Hi,
> 
> (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 
code
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 
spends 
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 
change.I will
continue debug the problem. If it is valuable, I will submit the kernel 
community. 
Thanks very much!
> 
> --
> Balbi

Best Regards
Pengcheng Li


RE: USB GADGET: have a question about usb2eth

2016-10-17 Thread Lipengcheng


> -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; 
> linux-kernel@vger.kernel.org
> Subject: RE: USB GADGET: have a question about usb2eth
> 
> 
> Hi,
> 
> (please, avoid top-posting: http://daringfireball.net/2007/07/on_top)
> 
> Lipengcheng  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 
code
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 
spends 
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 
change.I will
continue debug the problem. If it is valuable, I will submit the kernel 
community. 
Thanks very much!
> 
> --
> Balbi

Best Regards
Pengcheng Li


RE: USB GADGET: have a question about usb2eth

2016-10-17 Thread Felipe Balbi

Hi,

(please, avoid top-posting: http://daringfireball.net/2007/07/on_top)

Lipengcheng  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.

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

-- 
balbi


signature.asc
Description: PGP signature


RE: USB GADGET: have a question about usb2eth

2016-10-17 Thread Felipe Balbi

Hi,

(please, avoid top-posting: http://daringfireball.net/2007/07/on_top)

Lipengcheng  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.

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

-- 
balbi


signature.asc
Description: PGP signature


RE: USB GADGET: have a question about usb2eth

2016-10-17 Thread Lipengcheng
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
and USB_CDC_PACKET_TYPE_PROMISCUOUS is same, then the linux ping the win7 is
normal speed.

Best Regards
Pengcheng Li

> -Original Message-
> From: Peter Chen [mailto:hzpeterc...@gmail.com]
> Sent: Monday, October 17, 2016 9:56 AM
> To: Lipengcheng
> Cc: ba...@ti.com; gre...@linuxfoundation.org; linux-...@vger.kernel.org; 
> linux-kernel@vger.kernel.org
> Subject: Re: USB GADGET: have a question about usb2eth
> 
> On Sat, Oct 15, 2016 at 09:19:33AM +, Lipengcheng wrote:
> > Hi,
> > 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.
> >
> 
> The Felipe's email has changed, please check MAINTAINERS.
> Besides, would you wrap up line to 75 characters please?
> 
> --
> 
> Best Regards,
> Peter Chen


RE: USB GADGET: have a question about usb2eth

2016-10-17 Thread Lipengcheng
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
and USB_CDC_PACKET_TYPE_PROMISCUOUS is same, then the linux ping the win7 is
normal speed.

Best Regards
Pengcheng Li

> -Original Message-
> From: Peter Chen [mailto:hzpeterc...@gmail.com]
> Sent: Monday, October 17, 2016 9:56 AM
> To: Lipengcheng
> Cc: ba...@ti.com; gre...@linuxfoundation.org; linux-...@vger.kernel.org; 
> linux-kernel@vger.kernel.org
> Subject: Re: USB GADGET: have a question about usb2eth
> 
> On Sat, Oct 15, 2016 at 09:19:33AM +, Lipengcheng wrote:
> > Hi,
> > 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.
> >
> 
> The Felipe's email has changed, please check MAINTAINERS.
> Besides, would you wrap up line to 75 characters please?
> 
> --
> 
> Best Regards,
> Peter Chen


Re: USB GADGET: have a question about usb2eth

2016-10-16 Thread Peter Chen
On Sat, Oct 15, 2016 at 09:19:33AM +, Lipengcheng wrote:
> Hi,
>   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.
> 

The Felipe's email has changed, please check MAINTAINERS.
Besides, would you wrap up line to 75 characters please?

-- 

Best Regards,
Peter Chen


Re: USB GADGET: have a question about usb2eth

2016-10-16 Thread Peter Chen
On Sat, Oct 15, 2016 at 09:19:33AM +, Lipengcheng wrote:
> Hi,
>   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.
> 

The Felipe's email has changed, please check MAINTAINERS.
Besides, would you wrap up line to 75 characters please?

-- 

Best Regards,
Peter Chen


USB GADGET: have a question about usb2eth

2016-10-15 Thread Lipengcheng
Hi,
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.

Best Regard
Pengcheng Li


USB GADGET: have a question about usb2eth

2016-10-15 Thread Lipengcheng
Hi,
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.

Best Regard
Pengcheng Li