Sorry, I have no idea why this would stop working. Bob From: Devin Steffler Sent: Tuesday, September 28, 2021 12:04 PM To: devel(a)acpica.org Subject: [Devel] Question about ACPICA, QNX and making beeps Hello, I am using ACPICA to read battery information in QNX. That part is working great so far. However, now some code that is being used to make beeps via the PC speaker stopped working. Strangely, this code stops working on a few devices only after ACPICA runs. It works fine if I don't start ACPICA. The code is using I/O ports 0x43, 0x42, and 0x61 to generate beeps. This seems to be an industry standard way to make beeps on x86 based PCs using a Programmable Interval Timer (PIT). What could my ACPICA be doing (or failing to do) that could cause the beeps to stop working with the code below? Is the PIT being disabled somehow? I guess I'll need to learn more about the PIT and how to check its status to see if it's being disabled after ACPICA runs. Here's example code for QNX to generate a beep using the PC speaker: // ----------------------------------------------- #include #include #include int main(void) { ThreadCtl( _NTO_TCTL_IO, 0 ); // get I/O permissions // start a beep int freq = 1000; int scale = 1193046 / freq; out8(0x43, 0xb6); out8(0x42, scale & 0xff); out8(0x42, scale >> 8); out8(0x61, in8(0x61) | 3); // let the beep play for a second delay(1000); // stop the beep out8(0x61, in8(0x61) & ~3); return 0; } // ----------------------------------------------- Thanks, Devin