Re: HS isochronous transfer on musb_otg

2013-08-12 Thread SAITOU Toshihide
In message: <20130811.193740.226802057.to...@ruby.ocn.ne.jp>
SAITOU Toshihide  writes:
> In message: <20130808.220939.219630261.to...@ruby.ocn.ne.jp>
> SAITOU Toshihide  writes:
>> I have confirmed the scattering is fixed by modifying the
>> mustbotg_host_data_rx(), althought the modification I have
>> made breaks other transfer type at the moment.
> 
> This is a Logitec C920 and realize that the only device that
> is working among I have tried.

Maybe the differences of the device is related to how the device can
handle the transactions per micro frame. This link tells that the 
existence of the undocumented bits and the default may be one
transaction per frame:
http://e2e.ti.com/support/embedded/wince/f/353/t/68966.aspx.
So I tried to set the bits to the MUSB2_REG_RXMAXP, but no change.

SAITOU Toshihide
___
freebsd-usb@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-usb
To unsubscribe, send any mail to "freebsd-usb-unsubscr...@freebsd.org"


Re: HS isochronous transfer on musb_otg

2013-08-11 Thread SAITOU Toshihide
In message: <20130808.220939.219630261.to...@ruby.ocn.ne.jp>
SAITOU Toshihide  writes:
> I have confirmed the scattering is fixed by modifying the
> mustbotg_host_data_rx(), althought the modification I have
> made breaks other transfer type at the moment.

This is a Logitec C920 and realize that the only device that
is working among I have tried.

SAITOU Toshihide
___
freebsd-usb@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-usb
To unsubscribe, send any mail to "freebsd-usb-unsubscr...@freebsd.org"


Re: HS isochronous transfer on musb_otg

2013-08-08 Thread SAITOU Toshihide
In message: <5202502d.20...@bitfrost.no>
Hans Petter Selasky  writes:
> On 08/07/13 14:02, SAITOU Toshihide wrote:
>> In message: <51fb5230.3000...@bitfrost.no>
>>  Hans Petter Selasky  writes:
>>> On 08/01/13 16:07, SAITOU Toshihide wrote:
 My UVC cam is not working with the musb_otg driver and
 libusb(3) on the BeagleBone Black.

>>>
>>> Hi,
>>>
>>> It might be that the packet multiplier is not set
>>> correctly. Try to figure out which register this is, and
>>> simply set the bits correctly.
>>>
>>> Thank you!
>>>
>>> --HPS
>>>
 With the following changes to the musb_otg.c, it feels like
 the transaction is performed as expected but the data
 doesn't pass to the libusb_transfer's buffer. Does anyone
 know what is wrong?
>>
>>
>> Thank you for your information, but still I don't understand
>> what is the packet multiplier. Fortunately, there is a
>> progress.
>>
>> With the patch at the end, the data from the UVC camera is
>> arrived into the libusb_transfer's buffer. Now the problem
>> is
>> that the data of each transaction is scattered into the
>> buffer
>> of the packet.
>>
>>   (now)
>>
>>| packet size | packet size | packet size | packet size |
>>|DATA0|DATA1|DATA2|DATA0|...
>>
>>
>>   (expected)
>>
>>| packet size | packet size | packet size |
>>|  DATA0,1,2  |  DATA0,1,2  |  DATA0,1,2  |...
>>
>>
>> I think if the length of the packet is set using
>> libusb_set_iso_packet_length, all transaction data for the
>> packet should be packed into it, at this time, max packet
>> size
>> is declared in the device descriptor so the device doesn't
>> send the packet larger than that.  Are these right?  If so,
>> is
>> the musbotg_host_data_rx of musb_otg.c need to modify?
>>
> 
> Hi,
> 
> The scattering is a bug in the MUSB driver's handling of
> incoming data. It should collect more data before advancing
> to the next frame!
> 
> See:
> 
> mustbotg_host_data_rx() function.

I have confirmed the scattering is fixed by modifying the
mustbotg_host_data_rx(), althought the modification I have
made breaks other transfer type at the moment.

Thank you,

SAITOU Toshihide
___
freebsd-usb@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-usb
To unsubscribe, send any mail to "freebsd-usb-unsubscr...@freebsd.org"


Re: HS isochronous transfer on musb_otg

2013-08-07 Thread Hans Petter Selasky

On 08/07/13 14:02, SAITOU Toshihide wrote:

In message: <51fb5230.3000...@bitfrost.no>
 Hans Petter Selasky  writes:

On 08/01/13 16:07, SAITOU Toshihide wrote:

My UVC cam is not working with the musb_otg driver and
libusb(3) on the BeagleBone Black.



Hi,

It might be that the packet multiplier is not set
correctly. Try to figure out which register this is, and
simply set the bits correctly.

Thank you!

--HPS


With the following changes to the musb_otg.c, it feels like
the transaction is performed as expected but the data
doesn't pass to the libusb_transfer's buffer. Does anyone
know what is wrong?



Thank you for your information, but still I don't understand
what is the packet multiplier. Fortunately, there is a
progress.

With the patch at the end, the data from the UVC camera is
arrived into the libusb_transfer's buffer. Now the problem is
that the data of each transaction is scattered into the buffer
of the packet.

  (now)

   | packet size | packet size | packet size | packet size |
   |DATA0|DATA1|DATA2|DATA0|...


  (expected)

   | packet size | packet size | packet size |
   |  DATA0,1,2  |  DATA0,1,2  |  DATA0,1,2  |...


I think if the length of the packet is set using
libusb_set_iso_packet_length, all transaction data for the
packet should be packed into it, at this time, max packet size
is declared in the device descriptor so the device doesn't
send the packet larger than that.  Are these right?  If so, is
the musbotg_host_data_rx of musb_otg.c need to modify?



Hi,

The scattering is a bug in the MUSB driver's handling of incoming data. 
It should collect more data before advancing to the next frame!


See:

mustbotg_host_data_rx() function.

--HPS

___
freebsd-usb@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-usb
To unsubscribe, send any mail to "freebsd-usb-unsubscr...@freebsd.org"


Re: HS isochronous transfer on musb_otg

2013-08-07 Thread SAITOU Toshihide
In message: <51fb5230.3000...@bitfrost.no>
Hans Petter Selasky  writes:
> On 08/01/13 16:07, SAITOU Toshihide wrote:
>> My UVC cam is not working with the musb_otg driver and
>> libusb(3) on the BeagleBone Black.
>>
> 
> Hi,
> 
> It might be that the packet multiplier is not set
> correctly. Try to figure out which register this is, and
> simply set the bits correctly.
> 
> Thank you!
> 
> --HPS
> 
>> With the following changes to the musb_otg.c, it feels like
>> the transaction is performed as expected but the data
>> doesn't pass to the libusb_transfer's buffer. Does anyone
>> know what is wrong?


Thank you for your information, but still I don't understand
what is the packet multiplier. Fortunately, there is a
progress.

With the patch at the end, the data from the UVC camera is
arrived into the libusb_transfer's buffer. Now the problem is
that the data of each transaction is scattered into the buffer
of the packet.

 (now)

  | packet size | packet size | packet size | packet size |
  |DATA0|DATA1|DATA2|DATA0|...


 (expected)

  | packet size | packet size | packet size |
  |  DATA0,1,2  |  DATA0,1,2  |  DATA0,1,2  |...


I think if the length of the packet is set using
libusb_set_iso_packet_length, all transaction data for the
packet should be packed into it, at this time, max packet size
is declared in the device descriptor so the device doesn't
send the packet larger than that.  Are these right?  If so, is
the musbotg_host_data_rx of musb_otg.c need to modify?


1729c1729
<   MUSB2_WRITE_1(sc, MUSB2_REG_RXNAKLIMIT, 0);
---
>   MUSB2_WRITE_1(sc, MUSB2_REG_RXNAKLIMIT, MAX_NAK_TO);
3162c3162
<   frx = 12;   /* 4K */
---
>   frx = 10;   /* 1K */
3164c3164
<   MUSB2_VAL_FIFOSZ_4096 |
---
>   MUSB2_VAL_FIFOSZ_512 |
4046c4046
<   parm->hc_max_frame_size = 0xc00;
---
>   parm->hc_max_frame_size = 0x400;


SAITOU Toshihide
___
freebsd-usb@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-usb
To unsubscribe, send any mail to "freebsd-usb-unsubscr...@freebsd.org"


Re: HS isochronous transfer on musb_otg

2013-08-01 Thread Hans Petter Selasky

On 08/01/13 16:07, SAITOU Toshihide wrote:

My UVC cam is not working with the musb_otg driver and
libusb(3) on the BeagleBone Black.



Hi,

It might be that the packet multiplier is not set correctly. Try to 
figure out which register this is, and simply set the bits correctly.


Thank you!

--HPS


With the following changes to the musb_otg.c, it feels like
the transaction is performed as expected but the data
doesn't pass to the libusb_transfer's buffer. Does anyone
know what is wrong?


1729c1729
hc_max_frame_size = 0x400;
---

parm->hc_max_frame_size = 0xc00;



SAITOU Toshihide
___
freebsd-usb@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-usb
To unsubscribe, send any mail to "freebsd-usb-unsubscr...@freebsd.org"




___
freebsd-usb@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-usb
To unsubscribe, send any mail to "freebsd-usb-unsubscr...@freebsd.org"