OS cannot see usb mic array
Posted: Mon Oct 08, 2018 5:38 pm
Hello,
We have a card based on the XMOS mic array which our OS can see but which does not show up in the audio device listing. I'm looking for tips on how to debug this, as I am not at all experienced in the USB world and the XMOS code we use is very unfamiliar to me.
We have generated several of our own versions of the XMOS mic array. With each version but the most recent the app_usb_aud_mic_array software worked like a gem. With the current version running the software, however, the mic array is seen by the OS (Ubuntu 16.04) as a USB device (confirmed using lsusb command) but it does not show up in the OS's audio device listing.
I imagine there is some handshaking going awry between the OS and the mic array, but I have no experience in the USB device world and do not know where to start to debug this. I put below some info on our hardware changes in case anyone has some notion on where I might start looking.
Thanks in advance,
Bill
Between the working and non-working hardware versions we eliminated the DAC, moved the button signals, and added a UART Tx/Rx signal pair. The 4 button signals were removed from tile 0, and 2 buttons added to tile 1, pins 8 and 9. The UART signals were added on tile 1, pins 0 and 1. We thought these changes should not have affected the USB capability (we did not change anything on pins held for USB signals)
We did find, however, that the unmodified software threw an exception when it tried to communicate with the DAC over the I2C bus. We got around this by eliminating the assertion() that was causing the exception, essentially "fooling" the software into believing it has a DAC. I suppose our issue might be caused by other DAC interactions going awry, but I cannot easily find where that might be occurring since the software is not crashing so don't know where to start looking.
I can provide more details on these hardware changes if someone thinks it will help, but right now trying to keep it simple.
We have a card based on the XMOS mic array which our OS can see but which does not show up in the audio device listing. I'm looking for tips on how to debug this, as I am not at all experienced in the USB world and the XMOS code we use is very unfamiliar to me.
We have generated several of our own versions of the XMOS mic array. With each version but the most recent the app_usb_aud_mic_array software worked like a gem. With the current version running the software, however, the mic array is seen by the OS (Ubuntu 16.04) as a USB device (confirmed using lsusb command) but it does not show up in the OS's audio device listing.
I imagine there is some handshaking going awry between the OS and the mic array, but I have no experience in the USB device world and do not know where to start to debug this. I put below some info on our hardware changes in case anyone has some notion on where I might start looking.
Thanks in advance,
Bill
Between the working and non-working hardware versions we eliminated the DAC, moved the button signals, and added a UART Tx/Rx signal pair. The 4 button signals were removed from tile 0, and 2 buttons added to tile 1, pins 8 and 9. The UART signals were added on tile 1, pins 0 and 1. We thought these changes should not have affected the USB capability (we did not change anything on pins held for USB signals)
We did find, however, that the unmodified software threw an exception when it tried to communicate with the DAC over the I2C bus. We got around this by eliminating the assertion() that was causing the exception, essentially "fooling" the software into believing it has a DAC. I suppose our issue might be caused by other DAC interactions going awry, but I cannot easily find where that might be occurring since the software is not crashing so don't know where to start looking.
I can provide more details on these hardware changes if someone thinks it will help, but right now trying to keep it simple.