This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

  • TI Thinks Resolved

Linux: am33xx, musb, cppi41 packet loss ?

Prodigy 80 points

Replies: 12

Views: 4980

Tool/software: Linux

On Am33xx I am using a bluetooth adapter over musb host using cppi41.

I'm doing some Bluetooth Audio using a USB adapter. It using RFCOMM and SCO (the former uses bulk transfer the latter uses isochronous transfers), i am missing a packet in a bulk transfer after the isochronous transfer stopped.

This seems to happens during or even after isochronous packet was received, i can receive still data from the bluetooth adapter, but the first send does not seem to happen, even though I am seeing the tx complete. I mean, I am expecting a response from the adapter that I do not see. So I guess that the adapter did not receive the message. I also tried different adapters to rule out.

I have a very simple code that can reproduce the issue on 1/3 rate.

I noticed that If I don't establish the audio connection, there is no packet loss.

The kernel on this device is 4.9 kernel with lkml.org/.../1167

Is this a known issue?

Any suggestion would be welcome, thanks,

  • Hi user5131608,

    Do you use AM335x TI board (EVM, SK, BBB) or it is custom board?

    Do you use AM335x TI PSDK v4?

    software-dl.ti.com/.../index_FDS.html

    Regards,
    Pavel



  • Hi,

    1. Which software package are you using, is it from TI ?
    2. Have you made sure musb patches mostly like ZLPs as mentioned in the link : processors.wiki.ti.com/.../Sitara_Linux_MUSB_Issues are in place in your code ?
    3. Will you be able to catch hold of an USB analyzer and check if actually the data is going out ? What is the expected data size to be sent out ?
    4. Please do check arago-project.org/.../
    arago-project.org/.../
    arago-project.org/.../

    are also in place.

    Thanks and Regards,

    Dwarakesh R.

    Link: PathPartner Technology

  • In reply to Pavel Botev:

    Hi Pavel,

    Thanks for your response.

    We use a custom board derived from the beagle bone black.

    Regarding the kernel, i don't think it is the TI SDK, we have 4.9.30 with many patches.

    Regards,
    Fred

  • In reply to Dwarakesh R:

    Hi Dwarakesh,

    1) I do not think we use TI package.
    3) Unfortunately, I don't have a USB sniffer at the moment. I wonder if a beagle bone as a proxy could be reliable for that ?
    2 - 4) I'll double check each
    Thanks for your feedback.

    Fred
  • In reply to user5131608:

    Hi Fred,

    You can download the TI SDK and give a quick try by using its kernel. Beaglebone as a proxy would be tough to have, but you can give a try if it is possible. How do you want it to be proxy?

    Thanks and Regards,

    Dwarakesh R.

    Link: PathPartner Technology

  • In reply to Dwarakesh R:

    Hi Pavel and Dwarakesh,

    I have installed the SDK with a beaglebone black and the issue reproduced. The bbb kernel is 4.4.9-ti-r25.

    About our kernel, I was told it was "very similar" to yours but not equal.

    Best regards,

    Fred

  • In reply to user5131608:

    I have more informations that could be useful:

    The adapter  I used (let's call it a0)  integrates a HUB. I realized that the issue did not occur at all using an adapter that did not use integrated HUB (a1).

    If the adapter a1 is plugged on a external HUB, the issue starts occuring.

    I tried to lower to full-speed rather than high-speed, and it didn't help.

  • In reply to user5131608:

    Fred,

    user5131608
    I have installed the SDK with a beaglebone black and the issue reproduced. The bbb kernel is 4.4.9-ti-r25.

    Which SDK you have installed? Have you tried with AM335x PSDK 4.01 (kernel 4.9.41)?

    software-dl.ti.com/.../index_FDS.html



  • In reply to Pavel Botev:

    Pavel,

    This is the SDK as it is installed on my computer: ti-processor-sdk-linux-am335x-evm-04.01.00.06
    I used create-sdcard.sh to create sdcard, then apt update/upgrade.

    It doesn't seem to contain the kernel you mention, how can I test it?

    Regards,

    Fred

  • In reply to user5131608:

    Fred,

    Can you provide full console boot up log?

    ti-processor-sdk-linux-am335x-evm-04.01.00.06-Linux-x86-Install.bin

    ti-processor-sdk-linux-am335x-evm-04.01.00.06/board-support/linux-4.9.41+gitAUTOINC+e3a80a1c5c-ge3a80a1c5c

    Regards,
    Pavel



This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.