Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 23 Feb 2009 13:42:58 -0800
From:      Maksim Yevmenkin <maksim.yevmenkin@gmail.com>
To:        pav@freebsd.org
Cc:        "freebsd-bluetooth@freebsd.org" <freebsd-bluetooth@freebsd.org>
Subject:   Re: obexapp outgoing problem
Message-ID:  <bb4a86c70902231342g59220baai29cbdc6b4fa6e23@mail.gmail.com>
In-Reply-To: <1235422984.72242.2.camel@hood.oook.cz>
References:  <1235324110.44220.1.camel@hood.oook.cz> <bb4a86c70902231049m6120562cg283daf9a1ded5a7d@mail.gmail.com> <1235422984.72242.2.camel@hood.oook.cz>

next in thread | previous in thread | raw e-mail | index | archive | help
2009/2/23 Pav Lucistnik <pav@freebsd.org>:
> Maksim Yevmenkin p=ED=B9e v po 23. 02. 2009 v 10:49 -0800:
>> Hi Pav,
>>
>> > I'm having troubles sending files to phone over obexapp, similar to
>> >
>> > http://www.freebsd.org/cgi/query-pr.cgi?pr=3D128297
>> >
>> > except this time it's on 7-STABLE and the messages goes about ubt bulk
>> > transfer having SHORT_XFER error first and then TIMEOUT.
>> >
>> > The box panics inside UHCI code, or just hangs.
>> >
>> > What can I do to help it?
>>
>> is that a new behavior? or was it always like that? since you have
>> mentioned ng_ubt(4), i assume you are using usb1 (and not HPS's usb2)
>> stack, right? the only big change that went into ng_ubt(4) (long time
>> ago) is support for isoc. transfers. however, this change was not
>> mfc'd, and you said you are running 7-stable, so this can not be it.
>>
>> if it was working before then i would try to revert back to the time
>> when it was working, then incrementally updating trying to pinpoint
>> time frame when it stopped working. once you know the time frame look
>> closely for commits that could have affected it.
>
> It's 7-STABLE so OLDUSB. I don't know if it's new behaviour, this is
> first time I tried sending files over Bluetooth to the phone, instead of
> mailing them.
>
> PS: other way (phone -> PC) using obexapp -s works flawlessly.

ok, could you please try the following patch. its cut-and-paste so you
may need redo it manually (its simple enough).

diff -u10 ng_ubt.c.orig ng_ubt.c
--- ng_ubt.c.orig       2007-07-12 19:19:51.000000000 -0700
+++ ng_ubt.c    2009-02-23 13:39:32.000000000 -0800
@@ -1378,21 +1378,21 @@

        m_copydata(m, 0, m->m_pkthdr.len, sc->sc_bulk_out_buffer);

        /* Initialize a bulk-out USB transfer and then schedule it */
        usbd_setup_xfer(
                        sc->sc_bulk_out_xfer,
                        sc->sc_bulk_out_pipe,
                        (usbd_private_handle) sc->sc_node,
                        sc->sc_bulk_out_buffer,
                        m->m_pkthdr.len,
-                       USBD_NO_COPY,
+                       USBD_FORCE_SHORT_XFER | USBD_NO_COPY,
                        USBD_DEFAULT_TIMEOUT, /* XXX */
                        ubt_bulk_out_complete);

        NG_NODE_REF(sc->sc_node);

        status =3D usbd_transfer(sc->sc_bulk_out_xfer);
        if (status !=3D USBD_NORMAL_COMPLETION && status !=3D USBD_IN_PROGR=
ESS) {
                NG_UBT_ERR(
 "%s: %s - Could not start bulk-out transfer. %s (%d)\n",
                        __func__, device_get_nameunit(sc->sc_dev),
usbd_errstr(status),


=3D=3D=3D

thanks,
max



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