[BeagleBone Black] Musb-hdrc musb-hdrc.1: Babble

Hi
I have a Beaglebone Black connected to an LTE modem via usb.
When I test ping ( ping 8.8.8.8 ), The following message appears and ping does not work.

[   207.004279] musb-hdrc musb-hdrc.1: Babble

What does that mean? and How can I fix it?

Please, help me.

I’m sorry @taek8461, that is a hardware problem…

Can i assume that you have the linux kernel running the MUSB in PIO mode (default)… (DMA mode is broken…)?

Do you have a usb hub between the am335x and the LTE modem?

/*
 * mentor saves a bit: bus reset and babble share the same irq.
 * only host sees babble; only peripheral sees bus reset.
 */
static void musb_handle_intr_reset(struct musb *musb)
{
	if (is_host_active(musb)) {
		/*
		 * When BABBLE happens what we can depends on which
		 * platform MUSB is running, because some platforms
		 * implemented proprietary means for 'recovering' from
		 * Babble conditions. One such platform is AM335x. In
		 * most cases, however, the only thing we can do is
		 * drop the session.
		 */
		dev_err(musb->controller, "Babble\n");
		musb_recover_from_babble(musb);

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/usb/musb/musb_core.c#n989

Regards,

Hi
Does that message mean that am335x was disconected with LTE modem via USB?

I didnot use USB hub.

How do I check whether the Linux kernal is running MUSB in PIO mode or DMA mode?

Regards.

Mostly, the am335x and LTE modem got confused and a bus reset had to happen.

A USB hub can help filter some of the issues we’ve seen when the am335x’s musb is directly connected to an end device.

debian@bbb-pwr01-ser09:~$ zcat /proc/config.gz | grep MUSB
CONFIG_USB_MUSB_HDRC=y
# CONFIG_USB_MUSB_HOST is not set
# CONFIG_USB_MUSB_GADGET is not set
CONFIG_USB_MUSB_DUAL_ROLE=y
# CONFIG_USB_MUSB_TUSB6010 is not set
# CONFIG_USB_MUSB_OMAP2PLUS is not set
# CONFIG_USB_MUSB_AM35X is not set
CONFIG_USB_MUSB_DSPS=y
CONFIG_USB_MUSB_AM335X_CHILD=y
# MUSB DMA mode
CONFIG_MUSB_PIO_ONLY=y     <-------------------------------------

Side note, this might be related to you RT kernel choice, switch to the non-RT and retry…

Regards,