unstable and dirty sound on firewire

Jmac

New member
Joined
Apr 12, 2021
macOS
10.15.7
Mobo
ASUS Z97 GAME PRO
CPU
I7
GPU
RADEON 570
#1
Hello, I need help to handle with audio on firewire controller. I am a musician. I switched to macOS because my hardware has lost support under Windows. After a long fight I was able to put Cataline on OpenCore. Everything works except clear audio on my Audiofire echo12. Various sound artifacts appear every now and then. I wonder if this is due to the same IRQ: 16 in USB and Firewire. Any advice is appreciated.

*-usb:1
description: USB controller
product: 9 Series Chipset Family USB EHCI Controller #2
vendor: Intel Corporation
physical id: 1a
bus info: pci@0000:00:1a.0
version: 00
width: 32 bits
clock: 33MHz
capabilities: ehci bus_master cap_list
configuration: driver=ehci-pci latency=0
resources: irq:16 memory:f7f37000-f7f373ff

-pci
description: PCI bridge
product: ASM1083/1085 PCIe to PCI Bridge
vendor: ASMedia Technology Inc.
physical id: 0
bus info: pci@0000:03:00.0
version: 04
width: 32 bits
clock: 33MHz
capabilities: pci subtractive_decode bus_master cap_list
resources: ioport:d000(size=4096) memory:f7d00000-f7dfffff
*-firewire
description: FireWire (IEEE 1394)
product: VT6306/7/8 [Fire II(M)] IEEE 1394 OHCI Controller
vendor: VIA Technologies, Inc.
physical id: 1
bus info: pci@0000:04:01.0
version: 80
width: 32 bits
clock: 33MHz
capabilities: ohci bus_master cap_list
configuration: driver=firewire_ohci latency=32 maxlatency=32
resources: irq:16 memory:f7d00000-f7d007ff ioport:d000(size=128)
 

Edhawk

Moderator
Joined
Apr 10, 2018
macOS
10.15.7
Mobo
GA-Z97X-UD5H
CPU
i7-4790K
GPU
Powercolor RX 580 8GB
#2
It is common for devices to share IRQ resources. So the fact these two use IRQ16 is not really an issue.

Your Asus motherboard doesn't contain any built-in Firewire ports or headers, so I have assumed you are using a PCI Firewire add-on card.

I also assume your RX 570 covers the top PCI slot (dual-slot GPU) and you have this old PCI Firewire card installed in to the bottom PCI slot, as highlighted on the screenshot below:

Screenshot 2021-04-12 at 23.02.02.png Asus Z97- Pro Gamer motherboard

Depending on how you have your USB ports configured, I am assuming you have either a custom SSDT-UIAC.aml or USBPorts.kext for your system. You could look to shift all the EHC1 and EHC2 ports to the XHC controller, using an SSDT-EHCx-OFF.aml. This is what I use on my Gigabyte Z97X-UD5H system.

But without knowing how you have configured your USB ports it is hard to confirm if the SSDT would help. I use a few other SSDT's with my Haswell systems like the SSDT named above these help with the system stability when running macOS.

This issue could also be related to the Firewire chip on the PCI card being close to 20 years old and past its sell by date!
 
Likes: Jmac

Jmac

New member
Joined
Apr 12, 2021
macOS
10.15.7
Mobo
ASUS Z97 GAME PRO
CPU
I7
GPU
RADEON 570
#3
You deduce well. When switching to macOS, I had to change my graphics card. I chose AMD Radeon as well supported by OS. Modifying the computer, I also added an M2 SSD. I did not anticipate the loss of both PCIe16 slots. My mistake. I assumed main disk acceleration.
So now, I've got some Firewire PCIe cards in the box. There are temporarily unusable. Becouse only one suitable slot remains: PCI2. I bought a Firewire card for PCI slot.
Regarding USB. I use a large number of devices. Most of them works as MIDI over USB. Unfortunately, the synchronization of midi clocks puts additional strain on the system.
I have prepared an archive of my OC plus hardware configuration dump https://www.dropbox.com/s/r8fkgcpnx5fsotm/OC-2021-04-10.tar.bz2?dl=0.
Fireware is a obsolete technology. But so is the USB. I remember the first mentions in the early nineties years. And on this old Firewire there are a lot of good equipment that can be purchased at a decent price.
 
Last edited:

Edhawk

Moderator
Joined
Apr 10, 2018
macOS
10.15.7
Mobo
GA-Z97X-UD5H
CPU
i7-4790K
GPU
Powercolor RX 580 8GB
#4
Where to start!

/OC/ACPI folder:
  • Have you patched the DSDT.aml that resides in your /OC/ACPI folder or is this your normal system DSDT.aml?
  • If the later then it is not needed in this folder, OC will see and use your system DSDT.aml without the need for it to be present in your /OC/ACPI folder.
  • If on the other hand you have patched the DSDT.aml can you confirm which patches you have applied.
  • You have two patch plists in your ACPI folder, neither should be present in this folder.
  • The contents of the patches_OC.plist should be within your main config.plist, this is not the case.
  • This means the SSDT-HPET.aml is not being used, as this SSDT requires the Patches in the patches-OC.plist to be present in the /OC/config.plist for it to work.
  • None of the disassembled SSDT's should be present in the /OC/ACPI folder. They do nothing useful.
/OC/Bootstrap folder:
  • This folder and the Bootstrap.efi driver has been dropped from the OC 0.6.6 and newer releases of OpenCore.
  • You appear to be using OC 0.6.7 going by the OpenCore.efi in your folder, which is dated 1st March 2021.
  • There is a new method for enabling Windows/macOS dual booting, which is explained in the OC Multi-boot guide - https://dortania.github.io/OpenCore-Multiboot/
/OC/Drivers folder:
  • This is fine for booting OpenCore with the OC GUI.
/OC/Kexts folder:
  • You do not need the following kexts or textedit files in your Kexts folder:
    • alc-verb (textedit file should not be required, only the kext should be needed for your audio device to work)
    • NightShiftEnabler.kext (Your Haswell system works with NightShift without any hacks)
    • NoTouchID.kext (your system has no touch devices, this kext is for MacBook Pro hacks with Touch Bar)
    • NullCPUPowerManagement.kext (SSDT-PLUG.aml makes this obsolete) and this may mess up your CPU power management.
    • SystemProfilerMemoryFixup.kext - Lilu plugin that enables memory tab in About this Mac on MacBookAir platforms, so definitely not required for your desktop hack.
  • I am not sure if your need the HibernationFixup.kext, I don't use this kext on any of my Haswell systems and have no issues with Hibernation/Sleep/Wake.
  • USB:
    • You do not have a USBPorts.kext, USBMap.kext or any other form of USB Configuration file in your system (SSDT-UIAC.aml)
    • You are using an unedited USBInjectAll.kext, which would work with your SSDT-USB-Reset.aml (as it contains a few of the USB rename patches your system requires) and you have the XhciPortLimit Kernel > Quirk enabled, so these activate all the Intel USB ports in your system.
  • You need to create a USBPorts.kext or similar to get your USB Configuration set for macOS.
/OC/Resources folder:
  • This is out of date and sync with the version of OpenCore you are running. You need to update the Resources folder contents to have it work correctly with the most recent versions of OC.
  • I tend to edit the /OC/Resources/Audio folder contents so as to make it smaller in size, leaving just the generic sounds and all the 'en' labelled sounds, i.e. remove the French, Spanish, Chinese and Russian etc. labelled sounds.
/OC/Tools folder:
  • You have a number of unnecessary tools in this folder, I usually only have these three in my Tools folder:
    • ClearNvram.efi
    • OpenShell.efi
    • ResetSystem.efi
  • After setting everything up I disable these three tools, so they don't show on my OC GUI boot screen.
  • All the others can be removed.
/OC/config.plist:
  • Too many things to go though to correct the issues, as I see them in your config.plist. But these are the main issues:
    • Missing a number of Useful SSDTs
    • Missing some essential ACPI rename and other patches
    • Kexts, drivers and tools already mentioned above.
    • Your using an iMac Pro 1,1 SMBIOS, when you should be using the iMac 15,1 SMBIOS with your Haswell Refresh system.
    • You don't have your IGPU enabled, probably to go along with the iMP SMBIOS setup.
    • Your config contains a number of useless/unnecessary placeholder entries that do nothing and only make reading the config more cumbersome.
    • You have two different entries in your config for the activation of the built-in Audio codec:
      • One in the DeviceProperties section,
      • The other in the boot arguments.
    • You don't need both.
Below I have pasted two screenshots, one showing your current OC folder layout the other showing the layout of my iMac1 systems OC folder. You can see there are quite a few differences:

Screenshot 2021-04-13 at 23.31.01.png Your current OC folder layout/contents

Screenshot 2021-04-13 at 23.30.37.png my iMac1 system's OC folder layout/contents

My /OC/ACPI folder contain a number of useful SSDT's that I picked up as this system developed with each new version of macOS.

A number of them were obtained from VioletDragon's GitHub 9-Series-Patches repository - https://github.com/VoiletDragon/Series-9-Patches. These SSDT's should work with your system just as well as any other 9-series system. He has a couple of other repositories that contain helpful information for other H97 and Z97 systems.

Where I to create an OC folder for your system it would look like the one shown ins the screenshot below:

Screenshot 2021-04-14 at 00.00.49.png Revised OC folder for your Asus Z97 Gamer system

A copy of this folder is attached below so you can see what changes I would make, including
the SMBIOS and other changes to the config.plist.

See what you make of this OC folder, when compared to your current one. If you want to try this revised OC folder on your system simply copy your current EFI Folder to the EFI Partition on a spare USB pen drive. Replace the OC folder in the EFI Folder with the one I provided and then boot from the USB instead of your normal macOS drive. You need to press F8 when your Bios splash screen appears for the Bios Boot Menu to appear on your Asus motherboard, then select your macOS icon as normal to see what difference the changes make to how your system runs (or not)!

I can't stress how important it is you create a custom USB Configuration for your system.
 

Attachments

Jmac

New member
Joined
Apr 12, 2021
macOS
10.15.7
Mobo
ASUS Z97 GAME PRO
CPU
I7
GPU
RADEON 570
#5
It's nice that you are trying to help. Maybe the problem can be solved. I launched the system on the OC that was sent to me. There were no sound artifacts. But the sound stopped every now and then. There were gaps. To make matters worse, the system has frozen several times while playing music. I consider the equipment to be operational. Now, as I write these words, I'm working on AVLinux. The music plays continuously. Everything works. The equipment works.
In next days I'll try to follow your advice again.
 

Edhawk

Moderator
Joined
Apr 10, 2018
macOS
10.15.7
Mobo
GA-Z97X-UD5H
CPU
i7-4790K
GPU
Powercolor RX 580 8GB
#6
Have a look at and prepare for a heavy read, of this GitHub page for AppleALC - https://github.com/F0x1c/AppleALC_Instructions

The first part is what I am interested in, i.e. obtaining the dump files from Linux.

Then boot in to macOS and open Hackintool, navigate to the Sound tab and have a look at the pinout connectors for your built-in audio. It would look something like this if the correct layout ID is being used:

Screenshot 2021-04-14 at 23.34.17.png Hackintool > Sound tab, showing example of codec settings for ALC1150.

Post the results from the Linux terminal command and a screenshot of the Hackintool Sound tab.
 

Jmac

New member
Joined
Apr 12, 2021
macOS
10.15.7
Mobo
ASUS Z97 GAME PRO
CPU
I7
GPU
RADEON 570
#7
How to implement patches? I am reading the documents and cannot find the answer. Should I manually replace the entire /Root/ACPI section from patches_Clover.plist and patches_OC.plist? Perhaps the question is stupid. However, I'm not finding a tool to deploy patches. And the ProperTree editor does not have the function of loading patches. Perhaps there is a suitable tool like 'patch - apply a diff file to an original"...
 

Edhawk

Moderator
Joined
Apr 10, 2018
macOS
10.15.7
Mobo
GA-Z97X-UD5H
CPU
i7-4790K
GPU
Powercolor RX 580 8GB
#8
A simple copy and paste works really well in a Clover config.plist and in ProperTree for an OpenCore config.plist.

Right Clicking on an item in ProperTree brings up a sub-menu with various choices, copy, paste, remove and a few others, as shown in the screenshot below:

Screenshot 2021-04-19 at 00.16.22.png /CLOVER/config.plist in ProperTree, with right-click sub menu visible.

You can alway choose to use OpenCore Configurator, which may have some of the patches built-in to the application.

I would warn you though that the OpenCore Developers and the Dortania guides don't recommend using this application. They recommend using ProperTree. But the Configurator may work better for you, it may at least offer you a better understanding of what goes where and what other options are available.
 

Jmac

New member
Joined
Apr 12, 2021
macOS
10.15.7
Mobo
ASUS Z97 GAME PRO
CPU
I7
GPU
RADEON 570
#9
I updated OpenCore to version 0.6.8, injected patches, and generated new data for the iMac15.1. The system works stably. The sound on the AC97 is correct. Unfortunately, the AD/DA converter on firewire is still not usable. There are no more disturbances like there have been recently. However, every now and then, the sound is interrupted. Usually for a moment, about 1/2 second. There also happen longer breaks - a few seconds of silence. It sometimes happens when playing music from the radio, the sound continues without interruption. And suddenly a pause. However, one interruption is enough for the smile to disappear.
As the only music player works, the intervals between breaks can be very long. I think there is nothing else that can be done here. Something is interrupting the data stream to the converter AD/DA.
It probably is how you wrote Edhawk. Fireware will no longer work properly.
 

Edhawk

Moderator
Joined
Apr 10, 2018
macOS
10.15.7
Mobo
GA-Z97X-UD5H
CPU
i7-4790K
GPU
Powercolor RX 580 8GB
#10
Good to hear you have a stable system. Pity about the Firewire card not working.

Have you thought about getting a new Firewire card from Amazon, so if the new card has the same issues you can return it with hopefully no costs other than maybe postage?

They aren't too expensive and some work through a PCIe x1 slot instead of the old PCI slot, which may improve the chances of them working correctly in macOS. This one looks promising - https://www.amazon.co.uk/Bewinner-P...9Y2xpY2tSZWRpcmVjdCZkb05vdExvZ0NsaWNrPXRydWU=
 

Jmac

New member
Joined
Apr 12, 2021
macOS
10.15.7
Mobo
ASUS Z97 GAME PRO
CPU
I7
GPU
RADEON 570
#11
I have multiple PCIe cards. I have Delock from VIA, another from VIA VT6307 and StarTechcom PEX1394A2V2. The problem is that after installing M2 SSDs, I lost both PCIEX1 ports. I have one PCI2 slot available and two PCIEX16 slots. Unfortunately, the PCIEX16 is not suitable for cards dedicated to the PCIEX1. There are two possible solutions. First, removing the M2 SSD and switching to a regular SSD. Second, leave the computer as it is and build something from the prepared yours kits.
 

Edhawk

Moderator
Joined
Apr 10, 2018
macOS
10.15.7
Mobo
GA-Z97X-UD5H
CPU
i7-4790K
GPU
Powercolor RX 580 8GB
#12
You can switch the M.2 SSD to an adapter card and install it in one of the spare x16 PCIe slots. That should give you back use of the two x1 slots. Here is a link to Amazon uk, with a number of M.2 adapters - https://www.amazon.co.uk/s?k=m.2+ad...ix=M.2+adap,aps,138&ref=nb_sb_ss_ts-doa-p_2_8

That is how my Samsung NVMe drives are mounted in a couple of my systems. My main Hack contains a pair or NVMe drives, one running Catalina the other Big Sur. The only downside to this is the discrete graphics card works at x8 instead of x16, which I can honestly say has never really made any difference.
 

Jmac

New member
Joined
Apr 12, 2021
macOS
10.15.7
Mobo
ASUS Z97 GAME PRO
CPU
I7
GPU
RADEON 570
#13
Tomorrow I'll buy an adapter for the M.2 and check it. To be sure, I'll do what you suggest. Today I connected on USB another AD / DA converter - ZOOM R24. Perfect sound for an hour. There will be a compromise alternative, if so.
 

Jmac

New member
Joined
Apr 12, 2021
macOS
10.15.7
Mobo
ASUS Z97 GAME PRO
CPU
I7
GPU
RADEON 570
#14
Computer has been extended. I installed adapter PCIe16 and moved M.2 to it. And changed fireware PCI card to PCEe. The system does not start yet. After the apple image appears and the progress bar reaches about 60%, a black screen appears. And the computer freezes.

The PCI bus looks like this:
00:00.0 Host bridge: Intel Corporation 4th Gen Core Processor DRAM Controller (rev 06)
00:01.0 PCI bridge: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor PCI Express x16 Controller (rev 06)
00:02.0 Display controller: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics Controller (rev 06)
00:03.0 Audio device: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller (rev 06)
00:14.0 USB controller: Intel Corporation 9 Series Chipset Family USB xHCI Controller
00:16.0 Communication controller: Intel Corporation 9 Series Chipset Family ME Interface #1
00:19.0 Ethernet controller: Intel Corporation Ethernet Connection (2) I218-V
00:1b.0 Audio device: Intel Corporation 9 Series Chipset Family HD Audio Controller
00:1c.0 PCI bridge: Intel Corporation 9 Series Chipset Family PCI Express Root Port 1 (rev d0)
00:1c.3 PCI bridge: Intel Corporation 82801 PCI Bridge (rev d0)
00:1c.4 PCI bridge: Intel Corporation 9 Series Chipset Family PCI Express Root Port 5 (rev d0)
00:1c.6 PCI bridge: Intel Corporation 9 Series Chipset Family PCI Express Root Port 7 (rev d0)
00:1d.0 USB controller: Intel Corporation 9 Series Chipset Family USB EHCI Controller #1
00:1f.0 ISA bridge: Intel Corporation Z97 Chipset LPC Controller
00:1f.2 SATA controller: Intel Corporation 9 Series Chipset Family SATA Controller [AHCI Mode]
00:1f.3 SMBus: Intel Corporation 9 Series Chipset Family SMBus Controller
01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Ellesmere [Radeon RX 470/480/570/570X/580/580X/590] (rev ef)
01:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Ellesmere HDMI Audio [Radeon RX 470/480 / 570/580/590]
03:00.0 PCI bridge: ASMedia Technology Inc. ASM1083/1085 PCIe to PCI Bridge (rev 04)
05:00.0 Non-Volatile memory controller: ADATA Technology Co., Ltd. XPG SX8200 Pro PCIe Gen3x4 M.2 2280 Solid State Drive (rev 03)
06:00.0 PCI bridge: ASMedia Technology Inc. ASM1083/1085 PCIe to PCI Bridge (rev 03)
07:04.0 FireWire (IEEE 1394): Texas Instruments TSB82AA2 IEEE-1394b Link Layer Controller (rev 01)
 

Jmac

New member
Joined
Apr 12, 2021
macOS
10.15.7
Mobo
ASUS Z97 GAME PRO
CPU
I7
GPU
RADEON 570
#15
The system started. In BIOS I deleted all PK records: BOOT -> Secure Bboot -> Key Management -> Delete PK.
Short sound test on the fireware bus passed. One interrupt has occurred. But next when I started my DAW I didn't encounter any noise. Tomorrow I'll make some real tests. And I hope to get back to composing music.
Edhawck, you definitely deserve a thank you. I'll donate you tomorrow. I prefer to leave the possibility of further help ;-). Now I'm going to sleep because it's late.
 

Edhawk

Moderator
Joined
Apr 10, 2018
macOS
10.15.7
Mobo
GA-Z97X-UD5H
CPU
i7-4790K
GPU
Powercolor RX 580 8GB
#16
Good to hear the changes are helping.

Hopefully you won't have any more interruptions with your DAW.

If you need help with something else, just start a new thread. I'm usually lurking around most days.
 

Latest posts