USB microphone is not detected

my jetson agx orin cannot detect my USB speaker.

when i type aplay-l on the terminal the device is shown but arecord -l does not display the device. i was able to play audio but nothing was recorded.
i am using this USB speaker connected through the USB ports.

Hi,
It seems to be a pure speaker and doesn’t have recording function. Could you confirm this?

What microphone is used? Are you saying that the microphone works when that speaker is not connected, but fails with the speaker connected? Are you using the speaker on Bluetooth, or via USB?

it has an embedded microphone, i connected my phone to it through bluetooth and they could hear me through it. but when i connect it using USB (which is the intended purpose) the orin does not detect it.

  1. i am using the speaker via USB
  2. the speaker works and i played a .wav file
  3. it does not record and when i type arecord -l on the terminal i only get the AGX orin capture devices, not the USB speaker

Speakers and microphones are treated differently. Are you saying that if the speaker is present, then the microphone does not work? For the case of a USB microphone (not a speaker), if you monitor “dmesg --follow”, and watch the log messages, then what do you see as a result of plugging in the microphone? Remember, the speaker is not useful for recording (especially in USB since USB will suggest to the operating system that speakers are not used for record).

Does the speaker also have a microphone?

Hi,
Not sure bug the USB interface looks to be for charging instead of functions. Main functions should be run through bluetooth.

the speaker has a built in microphone. the AGX orin does not see this “embedded microphone”. its not a separate device.

so the microphone does not work in USB mode?

Hi,
If you use USB earphone with microphone, it shall be detected. This device may be unique and only works in BT interface.

I think maybe @DaneLLL hit the nail on the head there…on any system where the microphone works, is Bluetooth enabled?

I want to add that USB itself is not a driver for any device. There are many “standard” drivers, that if the hardware follows that standard, then the default drivers will work, and if not, then the device requires a custom driver. During USB plugin, even if the driver is not present, the log messages will still list the device, it is only a plug-n-play device query at that point. This is why I wanted the log of what shows up under “dmesg --follow” during USB plugin. If the microphone is exposed over Bluetooth, then you won’t get a USB plugin event for the microphone…the device exposed over Bluetooth is a different path.

yes, the microphone only worked when the bluetooth was enabled and even when we connected to my laptop, only an output array was found not an input array

Can you verify if any of the other computers have the microphone working when Bluetooth is not running? If this is tied to Bluetooth, then we’ve been trying to solve this the wrong way. If you have another Linux system which does work with the microphone when Bluetooth is not on, maybe you could monitor “dmesg --follow” on that system, and report on what log lines show up when the USB is plugged in (but no Bluetooth).

Hi,
When connecting to USB earphone, dmesg is like:

[78441.429072] usb 1-4.1: new full-speed USB device number 8 using tegra-xusb
[78441.537024] usb 1-4.1: New USB device found, idVendor=0d8c, idProduct=0014, bcdDevice= 1.00
[78441.537034] usb 1-4.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[78441.537062] usb 1-4.1: Product: USB Audio Device
[78441.537066] usb 1-4.1: Manufacturer: C-Media Electronics Inc.
[78441.621275] input: C-Media Electronics Inc. USB Audio Device as /devices/platform/3610000.xhci/usb1/1-4/1-4.1/1-4.1:1.3/0003:0D8C:0014.0003/input/input10
[78441.681959] hid-generic 0003:0D8C:0014.0003: input,hidraw2: USB HID v1.00 Device [C-Media Electronics Inc. USB Audio Device] on usb-3610000.xhci-4.1/input3

$ arecord -l shows:

card 3: Device [USB Audio Device], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

Do recording:

$ arecord -D hw:3,0 -d 10 -r 44100 a.wav
Recording WAVE 'a.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Mono

FYI.

im going to see the output when i am back into the office later today.

so i connected it and saw this with dmesg
[

    8.041833] usb 1-4.1: Product: Lenovo 700 USB Audio Device
[    8.042012] usb 1-4.1: Manufacturer: Realtek
[    8.089101] usb 1-4.1: Warning! Unlikely big volume range (=9472), cval->res is probably wrong.
[    8.089376] usb 1-4.1: [9] FU [PCM Playback Volume] ch = 2, val = -9472/0/1
[    8.093523] input: Realtek Lenovo 700 USB Audio Device as /devices/platform/3610000.xhci/usb1/1-4/1-4.1/1-4.1:1.2/0003:0BDA:8773.0001/input/input0
[    8.094107] mmc1: SDHCI controller on 3400000.sdhci [3400000.sdhci] using ADMA 64-bit
[    8.151676] hid-generic 0003:0BDA:8773.0001: input,hidraw0: USB HID v1.00 Device [Realtek Lenovo 700 USB Audio Device] on usb-3610000.xhci-4.1/input2

when i pressed arecord -l:

**** List of CAPTURE Hardware Devices ****
card 2: APE [NVIDIA Jetson AGX Orin APE], device 0: tegra-dlink-0 XBAR-ADMAIF1-0 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 2: APE [NVIDIA Jetson AGX Orin APE], device 1: tegra-dlink-1 XBAR-ADMAIF2-1 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 2: APE [NVIDIA Jetson AGX Orin APE], device 2: tegra-dlink-2 XBAR-ADMAIF3-2 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 2: APE [NVIDIA Jetson AGX Orin APE], device 3: tegra-dlink-3 XBAR-ADMAIF4-3 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 2: APE [NVIDIA Jetson AGX Orin APE], device 4: tegra-dlink-4 XBAR-ADMAIF5-4 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 2: APE [NVIDIA Jetson AGX Orin APE], device 5: tegra-dlink-5 XBAR-ADMAIF6-5 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 2: APE [NVIDIA Jetson AGX Orin APE], device 6: tegra-dlink-6 XBAR-ADMAIF7-6 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 2: APE [NVIDIA Jetson AGX Orin APE], device 7: tegra-dlink-7 XBAR-ADMAIF8-7 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 2: APE [NVIDIA Jetson AGX Orin APE], device 8: tegra-dlink-8 XBAR-ADMAIF9-8 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 2: APE [NVIDIA Jetson AGX Orin APE], device 9: tegra-dlink-9 XBAR-ADMAIF10-9 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 2: APE [NVIDIA Jetson AGX Orin APE], device 10: tegra-dlink-10 XBAR-ADMAIF11-10 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 2: APE [NVIDIA Jetson AGX Orin APE], device 11: tegra-dlink-11 XBAR-ADMAIF12-11 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 2: APE [NVIDIA Jetson AGX Orin APE], device 12: tegra-dlink-12 XBAR-ADMAIF13-12 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 2: APE [NVIDIA Jetson AGX Orin APE], device 13: tegra-dlink-13 XBAR-ADMAIF14-13 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 2: APE [NVIDIA Jetson AGX Orin APE], device 14: tegra-dlink-14 XBAR-ADMAIF15-14 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 2: APE [NVIDIA Jetson AGX Orin APE], device 15: tegra-dlink-15 XBAR-ADMAIF16-15 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 2: APE [NVIDIA Jetson AGX Orin APE], device 16: tegra-dlink-16 XBAR-ADMAIF17-16 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 2: APE [NVIDIA Jetson AGX Orin APE], device 17: tegra-dlink-17 XBAR-ADMAIF18-17 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 2: APE [NVIDIA Jetson AGX Orin APE], device 18: tegra-dlink-18 XBAR-ADMAIF19-18 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 2: APE [NVIDIA Jetson AGX Orin APE], device 19: tegra-dlink-19 XBAR-ADMAIF20-19 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 2: APE [NVIDIA Jetson AGX Orin APE], device 20: tegra-dlink-20 ADSP-FE1-20 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 2: APE [NVIDIA Jetson AGX Orin APE], device 21: tegra-dlink-21 ADSP-FE2-21 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0

i cant use arecord because i cannot see the microphone on the list

Hi,
Please try this to force re-enumeration and see if the device can be detected:

GitHub - obraun-sl/usb_power_cycle: Simple tool to perform a USB power cycle on Jetson Nano/NX devkit
// please modify the pid to pid = 0x5420;

It is to power cycle the embedded hub and all devices will be re-enumerated.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.