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.

AM335x USB Issue

This is a follow up to a previous post (http://e2e.ti.com/support/embedded/linux/f/354/t/374140.aspx).

I've switched to the official kernel (Linux arm 3.12.10-ti2013.12.01 #1 Thu Oct 30 14:37:46 ADT 2014 armv7l GNU/Linux), and am still having errors occur when I close /dev/ttyUSB1, which is a stream of GPS data from a modem/GPS receiver.

I can produce the error by starting cat /dev/ttyUSB1 , letting it run for a bit and then typing CTRL^C (SIGINT). For some reason the error only seems to happen when I close /dev/ttyUSB1/. The error message I get is "Could not flush host TX2 fifo: csr: 2403". dmesg output is attached.

Does anyone have any ideas?

  • Hi Matt,

    For better understanding a issue I have to understand if this Beaglebone Black board is original or your custom board. And if it is possible to explain us which way to reproduce the issue, because we haven't such USB modem.

    From the attached log I saw that the Linux kernel is crashing in a musb_interrupt NOT in a ehci usb. Next please see the lines 208 and 222 "usb-phy supply vcc not found, using dummy regulator". I'm not sure if this power supply missing what happened next.

    BR
    Ivan

  • Hi Ivan,
    This is a Beaglebone Black original board, Rev. C. Here is the simplest way to reproduce:

    1) Connect the USB modem/GPS device directly to the beaglebone's USB port (no external hub)

    2) Enable the GPS engine on my modem (by sending an AT command to /dev/ttyUSB2)

    3) Start streaming gps data to the terminal (cat /dev/ttyUSB1)

    4) After letting data stream for a few minutes, terminate the stream.

    It is the termination of the stream that causes the issue, I can let data stream overnight with no problems, but as soon as I issue a SIGTERM I get musb_host errors. I've attached kernel oops output from the terminal after letting data stream overnight and closing the stream. You can see where I issued SIGTERM at the start of the log (^C).

    The modem is a Cinterion PHS8-P module. The same modem works fine on my Linux host machine (x64 running Xubuntu 14.04) with no issues. I suspect that other modules that provide streaming text data over composite USB serial devices will have the same results.

  • I also wanted to attach dmesg output during boot. The error message you mentioned was from an unofficial kernel, using the TI official kernel does not result in the same error during boot. I am also doubtful that this is a Beaglebone hardware issue, since I can use other GPS devices (like USB webcams) just fine. The modem is self-powered, so there shouldn't be any issues with power consumption.


    Thanks,

    Matt