Opened 2 years ago

Closed 16 months ago

#12348 closed defect (fixed)

unwelcome noise from speakers if volume keys pressed during firmware startup

Reported by: tomyin Owned by: Quozl
Priority: low Milestone: 13.2.0
Component: ofw - open firmware Version: Development firmware
Keywords: Cc: dsd
Blocked By: Blocking:
Deployments affected: Action Needed: no action
Verified: no

Description (last modified by Quozl)

OS: OS12.zd
OFW: Q7B07

Issue details:

  1. Power on system and press volume hotkey UP/DOWN.
  2. Listen to the loudspeaker.

Change History (8)

comment:1 Changed 2 years ago by dsd

  • Component changed from not assigned to ofw - open firmware
  • Milestone changed from Not Triaged to 4-firmware
  • Owner set to wmb@…

comment:2 Changed 21 months ago by Quozl

#12109 related.

comment:3 Changed 19 months ago by tomyin

Reproduced in 13.1.0 build 36 + OFW Q7B28

comment:4 Changed 18 months ago by Quozl

  • Action Needed changed from never set to diagnose
  • Description modified (diff)
  • Owner changed from wmb@… to Quozl
  • Priority changed from normal to low
  • Status changed from new to assigned
  • Version changed from not specified to Development firmware

comment:5 Changed 16 months ago by Quozl

  • Action Needed changed from diagnose to package
  • Milestone changed from 4-firmware to 13.2.0

Reproduced Q7B35 and Q4D32.

The noise sounds like buffer underrun.

Same noise sound also occurs if startup sound is used after boot:

ok sound sound-end many

Before the noise, sound has begun playback, and an interrupt service routine is doing audio buffer reload at 333 Hz.

At about the time of the noise, sound-end is waiting for the playback to finish, with interrupts disabled, and using a preset audio buffer reload rate of 100 Hz.

Patching wait-sound to sleep shorter intervals fixes the artificial case:

ok dev /audio
ok 9 a npatch wait-sound
ok dend
ok sound sound-end many

Solution A: leave the interrupt rate at 333 Hz, and increase the sound-end non-interrupt rate to 333 Hz. Reduced frequency to 1 in 6 key presses.

Solution B: increase the interrupt rate to 500 Hz, and increase the sound-end non-interrupt rate to 500 Hz. Reduced frequency to 1 in 50 key presses.

Theory: it is a kind of race. The key press to change the sound volume changes the duration or position of the keyboard interrupt relative to the audio buffer reload interrupt.

Fixed in svn 3685

comment:6 Changed 16 months ago by Quozl

  • Action Needed changed from package to add to build
  • Cc dsd added
  • Summary changed from [CL4]Power on system and press volume hot key, there will be noise from loudspeaker. to unwelcome noise from speakers if volume keys pressed during firmware startup

Please add to next build:

  • Q4D33 for XO-1.75
  • Q7B36 for XO-4

The changes are minimal, affecting only timing parameters for the startup sound, yet they fix a problem identified by the factory that continues to be raised.

comment:7 Changed 16 months ago by dsd

  • Action Needed changed from add to build to test in build

Test in 13.2.0 build 12.

comment:8 Changed 16 months ago by Quozl

  • Action Needed changed from test in build to no action
  • Resolution set to fixed
  • Status changed from assigned to closed

Tested, passed.

  • verified 32012o4.zd contains Q7B36,
  • downgrade an XO-4 to Q7B30,
  • fs-update u:\32012o4.zd
  • bye
  • verify automatic reflash to Q7B36,
  • repeat boot a few more times, while varying volume with keyboard,
  • verify unwelcome noise is rare.
  • verified 32014o2.zd contains Q4D33,
  • downgrade an XO-1.75 to Q4D32,
  • fs-update u:\32012o2.zd
  • bye
  • verify automatic reflash to Q4D33,
  • repeat boot a few more times, while varying volume with keyboard,
  • verify unwelcome noise is rare.
Note: See TracTickets for help on using tickets.