Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 4 Jun 2010 12:32:58 -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:  <AANLkTildmORfr1xk2n1V2mEc4ZvDMxk9J1R1zmWiD5J9@mail.gmail.com>
In-Reply-To: <201006040928.09768.hselasky@c2i.net>
References:  <AANLkTinuhcIfsFvowzbsDJWy-gqob40oNxUPN-OvXc2E@mail.gmail.com>  <201006031757.03341.hselasky@c2i.net> <AANLkTikNX0D6u2kH8VkTklXsAgpl7aLZzD03gxZJhkdH@mail.gmail.com>  <201006040928.09768.hselasky@c2i.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Jun 4, 2010 at 4:28 AM, Hans Petter Selasky <hselasky@c2i.net> wrot=
e:
> On Friday 04 June 2010 03:02:52 Marcelo/Porks wrote:
>> On Thu, Jun 3, 2010 at 12:57 PM, Hans Petter Selasky <hselasky@c2i.net>
> wrote:
>> > On Thursday 03 June 2010 17:54:17 Hans Petter Selasky wrote:
>> >> On Thursday 03 June 2010 17:50:08 Hans Petter Selasky wrote:
>> >> > On Thursday 03 June 2010 16:22:33 Marcelo/Porks wrote:
>> >> > > On Wed, Jun 2, 2010 at 1:25 PM, Hans Petter Selasky
>> >> > > <hselasky@c2i.net>
>> >> >
>> >> > wrote:
>> >> > > > Hi,
>> >> > > >
>> >> > > > The problem is that LOW speed does not support BULK transfers
>> >> > > > according to the USB specification. I guess we could switch tha=
t
>> >> > > > support on, though I'd rather stick with the spec.
>> >> > > >
>> >> > > > Try changing this line in:
>> >> > > >
>> >> > > > src/sys/dev/usb/usb_transfer.c
>> >
>> > Hi,
>> >
>> > Should be like this: Note the structure is called "bulk_min":
>> >
>> > =A0 =A0 =A0 =A0static const uint16_t bulk_min[USB_SPEED_MAX] =3D {
>> > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0[USB_SPEED_LOW] =3D 8,
>> > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0[USB_SPEED_FULL] =3D 8,
>> > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0[USB_SPEED_HIGH] =3D 512,
>> > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0[USB_SPEED_VARIABLE] =3D 512,
>> > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0[USB_SPEED_SUPER] =3D 1024,
>> > =A0 =A0 =A0 =A0};
>> > --HPS
>>
>> Hi, This was what I changed at first. I tried in a FreeBSD current
>> (Jun 3) and at 8.0-p3.
>>
>> At FreeBSD current I changed the line 3062.
>>
>> From:
>> [USB_SPEED_LOW] =3D 0, =A0 =A0/* not supported */
>>
>> To:
>> [USB_SPEED_LOW] =3D 8,
>>
>>
>> Like you suggested I'll try to talk with you in #bsdusb at efnet
>>
>> Thank you!
>
> Ok,
>
> 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}
>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0case UE_BULK:
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0if (udev->speed !=3D USB_S=
PEED_LOW) {
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0ep->method=
s =3D &uhci_device_bulk_methods;
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0}
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0break;
>
> --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.

Thank you so much. again!

BARAD-DUR# uname -a
FreeBSD BARAD-DUR.BUTECO 9.0-CURRENT FreeBSD 9.0-CURRENT #1 r208760M:
Fri Jun  4 12:16:35 BRT 2010
porks@BARAD-DUR.BUTECO:/usr/obj/mnt/ad2s1d/data/src/sys/BARAD-DUR
i386
BARAD-DUR# kldload umodem
BARAD-DUR# kldstat
Id Refs Address    Size     Name
 1   29 0xc0400000 757368   kernel
 2    1 0xc0b58000 5ad4     snd_cmi.ko
 3    3 0xc0b5e000 574a4    sound.ko
 4    1 0xc0bb6000 4dfa90   nvidia.ko
 5    3 0xc1096000 2eacc    linux.ko
 6    1 0xc4407000 8000     linprocfs.ko
 7    1 0xc474f000 3000     logo_saver.ko
 8    1 0xc4d54000 4000     umodem.ko


< DEVICE PLUGGED ON USB PORT >


BARAD-DUR# tail -f /var/log/messages
Jun  4 12:27:14 BARAD-DUR kernel: uhub_reattach_port: port 1 reset
failed, error=3DUSB_ERR_TIMEOUT
Jun  4 12:27:14 BARAD-DUR kernel: uhub_reattach_port: device problem
(USB_ERR_TIMEOUT), disabling port 1
Jun  4 12:27:15 BARAD-DUR kernel: ugen0.3: <www.recursion.jp> at usbus0
Jun  4 12:27:15 BARAD-DUR kernel: umodem0: <www.recursion.jp USB-232,
class 2/0, rev 1.10/1.00, addr 3> on usbus0
Jun  4 12:27:15 BARAD-DUR kernel: umodem0: data interface 1, has CM
over data, has no break

BARAD-DUR# ls -lah /dev/cuaU*
crw-rw----  1 uucp  dialer    0, 114 Jun  4 12:27 /dev/cuaU0
crw-rw----  1 uucp  dialer    0, 115 Jun  4 12:27 /dev/cuaU0.init
crw-rw----  1 uucp  dialer    0, 116 Jun  4 12:27 /dev/cuaU0.lock


< DEVICE PLUGED OFF USB PORT>


BARAD-DUR# tail -f /var/log/messages
Jun  4 12:30:15 BARAD-DUR kernel: ugen0.3: <www.recursion.jp> at
usbus0 (disconnected)
Jun  4 12:30:15 BARAD-DUR kernel: umodem0: at uhub0, port 1, addr 3
(disconnected)

BARAD-DUR# ls -lah /dev/cuaU*
zsh: no matches found: /dev/cuaU*


--=20
Marcelo Rossi
"This e-mail is provided "AS IS" with no warranties, and confers no rights.=
"



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?AANLkTildmORfr1xk2n1V2mEc4ZvDMxk9J1R1zmWiD5J9>