Is there any DAC compatible with FreeBSD?

M2Tech hiFace TWO
A grep in /usr/src shows nothing. Port multimedia/webcamd has something:
Code:
/usr/ports/multimedia/webcamd $ grep -Ri M2TECH *
work/webcamd-5.13.2.6/media_tree/sound/usb/Kconfig:    tristate "M2Tech hiFace USB-SPDIF driver"
work/webcamd-5.13.2.6/media_tree/sound/usb/Kconfig:      Select this option to include support for M2Tech hiFace USB-SPDIF
work/webcamd-5.13.2.6/media_tree/sound/usb/Kconfig:      This driver supports the original M2Tech hiFace and some other
work/webcamd-5.13.2.6/media_tree/sound/usb/Kconfig:        * M2Tech Young
work/webcamd-5.13.2.6/media_tree/sound/usb/Kconfig:        * M2Tech hiFace  ...

Don't know if that's a hiFace two. A USB product ID could be helpful here.
 
Code:
ugen0.3: <M2Tech hiFaceTWO UAC2> at usbus0, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (100mA)

  bLength = 0x0012
  bDescriptorType = 0x0001
  bcdUSB = 0x0200
  bDeviceClass = 0x00ef  <Miscellaneous device>
  bDeviceSubClass = 0x0002
  bDeviceProtocol = 0x0001
  bMaxPacketSize0 = 0x0040
  idVendor = 0x249c
  idProduct = 0x930b
  bcdDevice = 0x0661
  iManufacturer = 0x0001  <M2Tech>
  iProduct = 0x0003  <hiFaceTWO UAC2>
  iSerialNumber = 0x0000  <no string>
  bNumConfigurations = 0x0002
 
idVendor = 0x249c idProduct = 0x930b
Doesn't look good, a grep in webcamd gives this:
Code:
./media_tree/sound/usb/hiface/chip.c:        USB_DEVICE(0x04b4, 0x0384),
./media_tree/sound/usb/hiface/chip.c:        USB_DEVICE(0x04b4, 0x930b),
./media_tree/sound/usb/hiface/chip.c:        USB_DEVICE(0x04b4, 0x931b),
  :
./media_tree/sound/usb/hiface/chip.c:        USB_DEVICE(0x249c, 0x9001),
./media_tree/sound/usb/hiface/chip.c:        USB_DEVICE(0x249c, 0x9002),
./media_tree/sound/usb/hiface/chip.c:        USB_DEVICE(0x249c, 0x9006),
./media_tree/sound/usb/hiface/chip.c:        USB_DEVICE(0x249c, 0x9008),
./media_tree/sound/usb/hiface/chip.c:        USB_DEVICE(0x249c, 0x931c),

The right combination isn't there. Vendor 0x04b4 is Cypress Semiconductor, 0x249c is indeed M2Tech.
 
Doesn't look good, a grep in webcamd gives this:
...
The right combination isn't there. Vendor 0x04b4 is Cypress Semiconductor, 0x249c is indeed M2Tech.
I don't know why you search webcamd. It's not needed.

dmesg:
Code:
ugen0.3: <M2Tech hiFaceTWO UAC2> at usbus0
uaudio0 on uhub5
uaudio0: <hiFaceTWO UAC2> on usbus0
uaudio0: Play[0]: 192000 Hz, 2 ch, 32-bit S-LE PCM format, 2x8ms buffer.
uaudio0: Play[0]: 176400 Hz, 2 ch, 32-bit S-LE PCM format, 2x8ms buffer.
uaudio0: Play[0]: 96000 Hz, 2 ch, 32-bit S-LE PCM format, 2x8ms buffer.
uaudio0: Play[0]: 88200 Hz, 2 ch, 32-bit S-LE PCM format, 2x8ms buffer.
uaudio0: Play[0]: 48000 Hz, 2 ch, 32-bit S-LE PCM format, 2x8ms buffer.
uaudio0: Play[0]: 44100 Hz, 2 ch, 32-bit S-LE PCM format, 2x8ms buffer.
uaudio0: No recording.
uaudio0: No MIDI sequencer.
pcm4: <USB audio> on uaudio0
uaudio0: No HID volume keys found.
 
I recently got an EPOS GSX 300. Works fine with my headphone and mic.

Code:
uhid1 on uhub0
uhid1: <Sennheiser EPOS GSX 300, class 0/0, rev 2.00/0.60, addr 3> on usbus0
uaudio0 on uhub0
uaudio0: <Sennheiser EPOS GSX 300, class 0/0, rev 2.00/0.60, addr 3> on usbus0
uaudio0: Play[0]: 96000 Hz, 2 ch, 24-bit S-LE PCM format, 2x8ms buffer.
uaudio0: Play[0]: 48000 Hz, 2 ch, 24-bit S-LE PCM format, 2x8ms buffer.
uaudio0: Record[0]: 48000 Hz, 1 ch, 16-bit S-LE PCM format, 2x8ms buffer.
uaudio0: No MIDI sequencer.
pcm3: <USB audio> on uaudio0
uaudio0: HID volume keys found.
 
I have a Schiit Modi which costs more than $100 but works on any system that has uac2 over USB. That was the answer to my query. I use Linux for that, haven't tested on BSD, but I can do that if someone intends to buy on


Alexander V
(Schiit Audio)
Nov 13, 2020, 12:51 PST
Hi,

We have not tested every distro but most common ones do work with modi in my experience. As long as your machine supports uac2 over usb you should be fine.
Best,
Alexander V


KC8Bbp04p9GhM5Y6J6Zvi3tRmQTLAkPtK4-4fz50SoMkgjB3bhoLgUJuH5aACTafbwsnMarD3vF3NnrHEK92z9vA-6DsIGoEWY13BZ1_sTNFPh_G4XOPzatcZEYVSK0PsdGlfTzR4m-5mItnpwY00MP1mMnwpkPLFlUocG1m8-HCcDZeo3T5QKSlbPRz0csmd7v3E-lz87bO9WOzU5hoC8n5D2i-LZgCwDfWoTew4_F9HnOz=s0-d-e1-ft
Bobmc
Nov 13, 2020, 11:23 PST
Is Linux such as Manjaro or Ubuntu compatible with Modi 3 USB?
I'm still hoping to get FreeBSD to send some sounds to a new Schiit modi+ connected by usb.
If usb is a fail, I'll be forced to use toslink or coax. :-(

Edit. [SOLVED] see https://forums.freebsd.org/threads/schiit-modi-dac-for-improved-sound.90044/#post-619859
 
2 questions please

1. Is there a reason to use the internal resample? I would prefer bit-perfect playback.

2. Can I play DSD(mine uses DSF extension) files without converting it to another format?

Thanks a lot.
 
I have a Schiit Asguard 3 with the newer Unison USB DAC, which claims to be a UAC2 compatible DAC. This has been one of the most helpful forums to figuring out what's wrong here. I really love the Schiit DACs, but this one completely refuses to work even on 14.1-RELEASE-p3. But this doesn't look great:

Code:
pcm4: <Schiit Audio Schiit Unison Universal Dac> on uaudio0 (1p:2v/0r:0v) default
    snddev flags=0x200002e7<SIMPLEX,AUTOVCHAN,SOFTPCMVOL,BUSY,MPSAFE,REGISTERED,VPC,PRIO_WR>
    [pcm4:play:dsp4.p0]: spd 48000, fmt 0x00200010/0x00201000, flags 0x00002108, 0x00000006
    interrupts 324717, underruns 0, feed 324716, ready 0 [b:3072/1536/2|bs:2048/1024/2]
    channel flags=0x2108<TRIGGERED,BUSY,HAS_VCHAN>
    {userland} -> feeder_mixer(0x00200010) -> feeder_format(0x00200010 -> 0x00201000) -> {hardware}
    pcm4:play:dsp4.p0[pcm4:virtual:dsp4.vp0]: spd 48000, fmt 0x00201000/0x00200010, flags 0x1000110c, 0x00000023, pid 75034 (firefox)
    interrupts 0, underruns 2852748, feed 2922444, ready 0 [b:0/0/0|bs:131072/65536/2]
    channel flags=0x1000110c<RUNNING,TRIGGERED,BUSY,HAS_SIZE,VIRTUAL>
    {userland} -> feeder_root(0x00201000) -> feeder_format(0x00201000 -> 0x00200010) -> feeder_volume(0x00200010) -> {hardware}
    pcm4:play:dsp4.p0[pcm4:virtual:dsp4.vp1]: spd 48000, fmt 0x00101000/0x00200010, flags 0x10000000, 0x00000063
    interrupts 0, underruns 0, feed 0, ready 0 [b:0/0/0|bs:8192/1024/8]
    channel flags=0x10000000<VIRTUAL>
    {userland} -> feeder_root(0x00101000) -> feeder_format(0x00101000 -> 0x00100010) -> feeder_matrix(1.0 -> 2.0) -> feeder_volume(0x00200010) -> {hardware}
No devices installed from userspace.

I've also found this bug report that's still open: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=254465

This works on every linux, macos, android device I have, but not on FreeBSD. Anyway I can help support getting this device to work?
 
Back
Top