LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Hardware (https://www.linuxquestions.org/questions/linux-hardware-18/)
-   -   Microphone recognised as disk!? (https://www.linuxquestions.org/questions/linux-hardware-18/microphone-recognised-as-disk-4175734162/)

business_kid 02-23-2024 08:47 AM

Microphone recognised as disk!?
 
I need to convince my system to see my new microphone as a microphone, and only that. I'm on Slackware64-15.0. Details are below.

This concerns ebay item number 125922022158
Long ebay.ie Link

This seems a mighty strange device. ~It's a usb microphone on a tripod with ever changing led colours, but it also identifies as a disk! It's brand name is BLOW. The label is in Polish, and gives the website: https://www.protech.com.pl/

It's not in yesterday's usb.ids. Here's what I can find on it.
Code:

dec@Ebony:~$sudo lsusb |grep Jieli
Bus 003 Device 003: ID 4c4a:4155 Jieli Technology UACDemoV1.0

Zoom actually gives the fullest description:"UACDemoV1.0 Audio-Default Audio Device"

dec@Ebony:~$lsblk |grep sdb
sdb          8:16  1    0B  0 disk
[sdb only appeared when I plugged it in. the '0B' size is also somewhat odd.]

dec@Ebony:~$ls -l /dev/disk/by-id |grep usb-BR25
lrwxrwxrwx 1 root root  9 Feb 23 09:09 usb-BR25_UDISK_4150325431313106-0:0 -> ../../sdb

dec@Ebony:~$ls -l /dev/disk/by-path           
total 0
lrwxrwxrwx 1 root root 9 Feb 23 09:09 pci-0000:0a:00.3-usb-0:2.1:1.0-scsi-0:0:0:0 -> ../../sdb

It doesn't feature in the UUID directories. Now my fstab has /dev/nvme0n1* & /dev/sda*, but a UUIID for the external disk, so it isn't a disk crisis.

But on the PC is a failed webcam/mic that I'm replacing. The mic works only if you yell at it from 3 inches. The camera turns my pale sickly-looking self into a face painted red LED, with all background colours appropriately shaded. Now when I replace that camera, whether the usb microphone module continues to load for this split-personality device is a very open question.

What I'd like is some clever tricks or options to make sure the microphone works, and to nobble it as a disk.

pan64 02-23-2024 09:02 AM

at first you can cut that ebay link at the first question mark. https://www.ebay.ie/itm/125922022158? (use without that)
Otherwise you ought to create an udev rule for that device.
start somewhere here: https://unix.stackexchange.com/quest...ux-environment

business_kid 02-23-2024 11:14 AM

Er, yes, and thank you https://www.ebay.ie/itm/125922022158 works just fine.

That stackexchange link quickly deteriorates into nagging and corrections. I dislike stackexchange. You go to the trouble of answering a problem. Nobody says 'thanks' but they go correcting you on the way you answered it.

I get the idea, though. One rule to disable everything on that usb.id, and another to allow the one specific usage you want.

I'll have a go at that when I feel able for a cryptic crossword puzzle. I never made friends with udev, so this will be a first.

business_kid 02-24-2024 11:55 AM

This is the relevant snippet from dmesg
Code:

dec@Ebony:~$sudo dmesg |tail -n 12
[  80.191300] usb 3-2.2: New USB device found, idVendor=4c4a, idProduct=4155, bcdDevice= 1.00
[  80.191306] usb 3-2.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[  80.191308] usb 3-2.2: Product: UACDemoV1.0
[  80.191309] usb 3-2.2: Manufacturer: Jieli Technology
[  80.191311] usb 3-2.2: SerialNumber: 4150325431313106
[  80.193202] usb-storage 3-2.2:1.0: USB Mass Storage device detected
[  80.193438] scsi host6: usb-storage 3-2.2:1.0
[  81.249379] scsi 6:0:0:0: Direct-Access    BR25    UDISK            1.00 PQ: 0 ANSI: 2
[  81.249997] sd 6:0:0:0: [sdb] Media removed, stopped polling
[  81.250770] sd 6:0:0:0: [sdb] Attached SCSI removable disk
[  164.396533] usb 3-2.1: reset high-speed USB device number 3 using xhci_hcd
[  185.723444] fuse: init (API version 7.34)

Note to self: Never again buy a clever microphone. You don't know whose brains they are.

business_kid 02-24-2024 01:13 PM

Quote:

Originally Posted by pan64 (Post 6485390)
at first you can cut that ebay link at the first question mark. https://www.ebay.ie/itm/125922022158? (use without that)
Otherwise you ought to create an udev rule for that device.
start somewhere here: https://unix.stackexchange.com/quest...ux-environment

I've been through this stackexchange link. This seems to disallow all devices, then enable approved ones. Fine on servers. That's not acceptable for me, as a great variety of usb devices are used here. I can't go cobbling up some udev rule any time I want to allow a device. I have this one device that thinks it's a disk, or excites that reaction. Is there another way to do this? Edit usb.ids perhaps? Associate a module with it? Anything?

pan64 02-25-2024 02:26 AM

I guess you need to disable the non-existent disk only.

business_kid 02-25-2024 04:10 AM

Quote:

Originally Posted by pan64 (Post 6485751)
I guess you need to disable the non-existent disk only.

Exactly. How do I do that? It's loading the usb-storage and seems to think it's a disk with the storage removed :scratch:. I even saw a comment to that effect. This is from /var/log/messages:
Code:

Feb 22 09:42:06 Ebony kernel: usb 3-2.1: new full-speed USB device number 5 using xhci_hcd
Feb 22 09:42:06 Ebony kernel: usb 3-2.1: New USB device found, idVendor=4c4a, idProduct=4155, bcdDevice= 1.00
Feb 22 09:42:06 Ebony kernel: usb 3-2.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Feb 22 09:42:06 Ebony kernel: usb 3-2.1: Product: UACDemoV1.0
Feb 22 09:42:06 Ebony kernel: usb 3-2.1: Manufacturer: Jieli Technology
Feb 22 09:42:06 Ebony kernel: usb 3-2.1: SerialNumber: 4150325431313106
Feb 22 09:42:06 Ebony mtp-probe: checking bus 3, device 5: "/sys/devices/pci0000:00/0000:00:08.1/0000:0a:00.3/usb3/3-2/3-2.1"
Feb 22 09:42:06 Ebony mtp-probe: bus: 3, device: 5 was not an MTP device
Feb 22 09:42:06 Ebony kernel: usb-storage 3-2.1:1.0: USB Mass Storage device detected
Feb 22 09:42:06 Ebony kernel: scsi host6: usb-storage 3-2.1:1.0
Feb 22 09:42:06 Ebony kernel: usbcore: registered new interface driver usb-storage
Feb 22 09:42:06 Ebony kernel: usbcore: registered new interface driver uas
Feb 22 09:42:07 Ebony kernel: scsi 6:0:0:0: Direct-Access    BR25    UDISK            1.00 PQ: 0 ANSI: 2
Feb 22 09:42:07 Ebony kernel: sd 6:0:0:0: [sdb] Media removed, stopped polling
Feb 22 09:42:07 Ebony kernel: sd 6:0:0:0: [sdb] Attached SCSI removable disk

BTW, MTP = Media Transfer Protocol. I've a thing about unknown acronyms. Is there some way I can say "Actually, that 4c4a:4155 device you might meet isn't a disk, but a microphone?"

business_kid 02-27-2024 06:55 AM

This is humiliating.

I tried zoom today, and the microphone couldn't be heard on zoom. OTOH, when I used (spit!) windows 11, it worked fine, and is not recognized as a disk :mad: :mad:. I have to report this thing to linux-usb.org, which has a bot reading it's email. How does that work?

What's more, I couldn't change volume. I boosted it to 150% and it got no louder Is there anything I can pull to stop the kernel assigning usb-storage.ko to a microphone? As it's a usb device, I have the usb id.

smallpond 02-27-2024 10:27 AM

Let's get some details. Try

lsusb -v 003:003

business_kid 02-27-2024 11:39 AM

Quote:

Originally Posted by smallpond (Post 6486244)
Let's get some details. Try

lsusb -v 003:003

Thanks for your reply. It took a few minutes to figure out what you were looking for. Is this it? It's certainly more than "a few details"
Code:

dec@Ebony:~$lsusb -v -s 003:005

Bus 003 Device 005: ID 4c4a:4155 Jieli Technology UACDemoV1.0
Couldn't open device, some information will be missing
Device Descriptor:
  bLength                18
  bDescriptorType        1
  bcdUSB              1.10
  bDeviceClass            0
  bDeviceSubClass        0
  bDeviceProtocol        0
  bMaxPacketSize0        64
  idVendor          0x4c4a
  idProduct          0x4155
  bcdDevice            1.00
  iManufacturer          1 Jieli Technology
  iProduct                2 UACDemoV1.0
  iSerial                3 4150325431313106
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                9
    bDescriptorType        2
    wTotalLength      0x008b
    bNumInterfaces          3
    bConfigurationValue    1
    iConfiguration          0
    bmAttributes        0x80
      (Bus Powered)
    MaxPower              100mA
    Interface Descriptor:
      bLength                9
      bDescriptorType        4
      bInterfaceNumber        0
      bAlternateSetting      0
      bNumEndpoints          2
      bInterfaceClass        8 Mass Storage
      bInterfaceSubClass      6 SCSI
      bInterfaceProtocol    80 Bulk-Only
      iInterface              0
      Endpoint Descriptor:
        bLength                7
        bDescriptorType        5
        bEndpointAddress    0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type              None
          Usage Type              Data
        wMaxPacketSize    0x0040  1x 64 bytes
        bInterval              1
      Endpoint Descriptor:
        bLength                7
        bDescriptorType        5
        bEndpointAddress    0x01  EP 1 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type              None
          Usage Type              Data
        wMaxPacketSize    0x0040  1x 64 bytes
        bInterval              1
    Interface Descriptor:
      bLength                9
      bDescriptorType        4
      bInterfaceNumber        1
      bAlternateSetting      0
      bNumEndpoints          0
      bInterfaceClass        1 Audio
      bInterfaceSubClass      1 Control Device
      bInterfaceProtocol      0
      iInterface              9
      AudioControl Interface Descriptor:
        bLength                9
        bDescriptorType        36
        bDescriptorSubtype      1 (HEADER)
        bcdADC              1.00
        wTotalLength      0x0027
        bInCollection          1
        baInterfaceNr(0)        2
      AudioControl Interface Descriptor:
        bLength                12
        bDescriptorType        36
        bDescriptorSubtype      2 (INPUT_TERMINAL)
        bTerminalID            4
        wTerminalType      0x0201 Microphone
        bAssocTerminal          0
        bNrChannels            1
        wChannelConfig    0x0000
        iChannelNames          0
        iTerminal              0
      AudioControl Interface Descriptor:
        bLength                9
        bDescriptorType        36
        bDescriptorSubtype      3 (OUTPUT_TERMINAL)
        bTerminalID            6
        wTerminalType      0x0101 USB Streaming
        bAssocTerminal          2
        bSourceID              7
        iTerminal              0
      AudioControl Interface Descriptor:
        bLength                7
        bDescriptorType        36
        bDescriptorSubtype      5 (SELECTOR_UNIT)
        bUnitID                7
        bNrInPins              1
        baSourceID(0)          5
        iSelector              0
      AudioControl Interface Descriptor:
        bLength                9
        bDescriptorType        36
        bDescriptorSubtype      6 (FEATURE_UNIT)
        bUnitID                5
        bSourceID              4
        bControlSize            1
        bmaControls(0)      0x43
          Mute Control
          Volume Control
          Automatic Gain Control
        bmaControls(1)      0x00
        iFeature                0
    Interface Descriptor:
      bLength                9
      bDescriptorType        4
      bInterfaceNumber        2
      bAlternateSetting      0
      bNumEndpoints          0
      bInterfaceClass        1 Audio
      bInterfaceSubClass      2 Streaming
      bInterfaceProtocol      0
      iInterface              0
    Interface Descriptor:
      bLength                9
      bDescriptorType        4
      bInterfaceNumber        2
      bAlternateSetting      1
      bNumEndpoints          1
      bInterfaceClass        1 Audio
      bInterfaceSubClass      2 Streaming
      bInterfaceProtocol      0
      iInterface              0
      AudioStreaming Interface Descriptor:
        bLength                7
        bDescriptorType        36
        bDescriptorSubtype      1 (AS_GENERAL)
        bTerminalLink          6
        bDelay                  1 frames
        wFormatTag        0x0001 PCM
      AudioStreaming Interface Descriptor:
        bLength                11
        bDescriptorType        36
        bDescriptorSubtype      2 (FORMAT_TYPE)
        bFormatType            1 (FORMAT_TYPE_I)
        bNrChannels            1
        bSubframeSize          2
        bBitResolution        16
        bSamFreqType            1 Discrete
        tSamFreq[ 0]        48000
      Endpoint Descriptor:
        bLength                9
        bDescriptorType        5
        bEndpointAddress    0x83  EP 3 IN
        bmAttributes            5
          Transfer Type            Isochronous
          Synch Type              Asynchronous
          Usage Type              Data
        wMaxPacketSize    0x0060  1x 96 bytes
        bInterval              1
        bRefresh                0
        bSynchAddress          0
        AudioStreaming Endpoint Descriptor:
          bLength                7
          bDescriptorType        37
          bDescriptorSubtype      1 (EP_GENERAL)
          bmAttributes        0x00
          bLockDelayUnits        0 Undefined
          wLockDelay        0x0000
dec@Ebony:~$

For the record, it's alone in it's usb port, no hubs or anything and no usb storage devices are in the pc at all. I can see it's clearly saying it's a mass storage device, and then saying it's a microphone. So that diagnostic hit the nail on the head.

It seems clear that linux is reading the first Interface Descriptor, and windows the second one.

mw.decavia 02-27-2024 04:07 PM

Your microphone appears to be supported by Alsa sound as of 2022
https://www.alsa-project.org/db/?f=1...a73d860bf8e5c5

It is also not purely a microphone, from your lsusb it appears to be an entire (simple) sound card, with sub-devices for 2 sound channels and an onboard mixer, and onboard audio compression to offload some of the work of streaming. A web search suggests it may also have bluetooth receiving capability.

The "mass storage" descriptor appears possibly related to it transferring compressed audio in frames.

business_kid 02-28-2024 04:10 AM

Quote:

Originally Posted by mw.decavia (Post 6486279)
Your microphone appears to be supported by Alsa sound as of 2022
https://www.alsa-project.org/db/?f=1...a73d860bf8e5c5

It is also not purely a microphone, from your lsusb it appears to be an entire (simple) sound card, with sub-devices for 2 sound channels and an onboard mixer, and onboard audio compression to offload some of the work of streaming. A web search suggests it may also have bluetooth receiving capability.

The "mass storage" descriptor appears possibly related to it transferring compressed audio in frames.

Thanks for your reply. I saw it there in your link. I don't know if we're talking about the same device. It doesn't seem to have support from alsa+pulse of 2024! It adds an unnecessary disk. The sales ad boasts none of the features you describe. If definitely doesn't provide a mixer. I can't even adjust the insufficient volume under pulse.

My model may be a cut down version. Mind you, if I met a microphone with all those bells & whistles, I wouldn't buy it.


All times are GMT -5. The time now is 10:39 AM.