Date: Mon, 7 Jun 2010 09:01:16 -0300 From: "Marcelo/Porks" <marcelorossi@gmail.com> To: Hans Petter Selasky <hselasky@c2i.net> Cc: Garrett Cooper <yanefbsd@gmail.com>, freebsd-current@freebsd.org Subject: Re: Fwd: umodem (4) recognize a CDC-ACM device Message-ID: <AANLkTim79iRBjLCxaQgleXAwwXexXto-oZQZg5VSUXMI@mail.gmail.com> In-Reply-To: <AANLkTildmORfr1xk2n1V2mEc4ZvDMxk9J1R1zmWiD5J9@mail.gmail.com> References: <AANLkTinuhcIfsFvowzbsDJWy-gqob40oNxUPN-OvXc2E@mail.gmail.com> <201006031757.03341.hselasky@c2i.net> <AANLkTikNX0D6u2kH8VkTklXsAgpl7aLZzD03gxZJhkdH@mail.gmail.com> <201006040928.09768.hselasky@c2i.net> <AANLkTildmORfr1xk2n1V2mEc4ZvDMxk9J1R1zmWiD5J9@mail.gmail.com>
index | next in thread | previous in thread | raw e-mail
On Fri, Jun 4, 2010 at 12:32 PM, Marcelo/Porks <marcelorossi@gmail.com> wrote:
> On Fri, Jun 4, 2010 at 4:28 AM, Hans Petter Selasky <hselasky@c2i.net> wrote:
>>> On Thu, Jun 3, 2010 at 12:57 PM, Hans Petter Selasky <hselasky@c2i.net>
>> wrote:
>>> > Should be like this: Note the structure is called "bulk_min":
>>> >
>>> > static const uint16_t bulk_min[USB_SPEED_MAX] = {
>>> > [USB_SPEED_LOW] = 8,
>>> > [USB_SPEED_FULL] = 8,
>>> > [USB_SPEED_HIGH] = 512,
>>> > [USB_SPEED_VARIABLE] = 512,
>>> > [USB_SPEED_SUPER] = 1024,
>>> > };
>>> > --HPS
>> I think you also need to remove the check for LOW speed in the EHCI/OHCI/UHCI
>> controller drivers too. See usb/controller/{ehci.c,uhci.c,ohci.c}
>>
>> case UE_BULK:
>> if (udev->speed != USB_SPEED_LOW) {
>> ep->methods = &uhci_device_bulk_methods;
>> }
>> break;
>>
>> --HPS
>>
>
> Hia Hans! It seems to work now or at least it was recognized.
>
> I'll make more tests on Monday and post the results.
Hi all! Just to confirm, The patch works fine and I can use the device.
Bellow is the full patch that Hans sent to me in private. Thanks again, Hans.
======================
Differences ...
==== //depot/projects/usb/src/sys/dev/usb/controller/ehci.c#53 (text+ko) ====
@@ -3792,9 +3792,7 @@
}
break;
case UE_BULK:
- if (udev->speed != USB_SPEED_LOW) {
- ep->methods = &ehci_device_bulk_methods;
- }
+ ep->methods = &ehci_device_bulk_methods;
break;
default:
/* do nothing */
==== //depot/projects/usb/src/sys/dev/usb/controller/ohci.c#35 (text+ko) ====
@@ -2614,9 +2614,7 @@
}
break;
case UE_BULK:
- if (udev->speed != USB_SPEED_LOW) {
- ep->methods = &ohci_device_bulk_methods;
- }
+ ep->methods = &ohci_device_bulk_methods;
break;
default:
/* do nothing */
==== //depot/projects/usb/src/sys/dev/usb/controller/uhci.c#32 (text+ko) ====
@@ -3068,9 +3068,7 @@
}
break;
case UE_BULK:
- if (udev->speed != USB_SPEED_LOW) {
- ep->methods = &uhci_device_bulk_methods;
- }
+ ep->methods = &uhci_device_bulk_methods;
break;
default:
/* do nothing */
==== //depot/projects/usb/src/sys/dev/usb/usb_transfer.c#177 (text+ko) ====
@@ -3057,7 +3057,7 @@
};
static const uint16_t bulk_min[USB_SPEED_MAX] = {
- [USB_SPEED_LOW] = 0, /* not supported */
+ [USB_SPEED_LOW] = 8,
[USB_SPEED_FULL] = 8,
[USB_SPEED_HIGH] = 512,
[USB_SPEED_VARIABLE] = 512,
--
Marcelo Rossi
"This e-mail is provided "AS IS" with no warranties, and confers no rights."
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?AANLkTim79iRBjLCxaQgleXAwwXexXto-oZQZg5VSUXMI>
