obexapp outgoing problem

Maksim Yevmenkin maksim.yevmenkin at gmail.com
Mon Feb 23 17:47:02 PST 2009


2009/2/23 Pav Lucistnik <pav at freebsd.org>:
> Maksim Yevmenkin píše v po 23. 02. 2009 v 13:42 -0800:
>> 2009/2/23 Pav Lucistnik <pav at freebsd.org>:
>> > Maksim Yevmenkin píše 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=128297
>> >> >
>> >> > 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 = usbd_transfer(sc->sc_bulk_out_xfer);
>>         if (status != USBD_NORMAL_COMPLETION && status != USBD_IN_PROGRESS) {
>>                 NG_UBT_ERR(
>>  "%s: %s - Could not start bulk-out transfer. %s (%d)\n",
>>                         __func__, device_get_nameunit(sc->sc_dev),
>> usbd_errstr(status),
>
> No change, now I get bulk-out transfer error SHORT_XFER twice and hang.

bummer :(

i will try to reproduce it locally in a couple of days or so. this
looks like something usb related, imo.

thanks,
max


More information about the freebsd-bluetooth mailing list