Yangrong Zhou wrote: > Garrett D'Amore : >> Willie Walker wrote: >>> Hi All: >>> >>> As part of the OpenSolaris accessible live CD and install work, we >>> play audible prompts (beeps) at the keyboard layout and language >>> selection screens presented during the boot of the live CD. These >>> prompts allow blind people to determine that they are being asked >>> for input. When coupled with separate written documentation, the >>> user can then work their way through the boot and install the system >>> without sighted assistance. >>> >>> On *some* machines, notably this nice little Toshiba Portege R500 >>> laptop in my lap, the console beep doesn't seem to work. As a means >>> for testing this, I do an "svcadm disable gdm", login, and then type >>> "/usr/bin/printf '\a'". I know the beep *can* work -- if I >>> press/hold the Escape key while powering the machine on, I get a >>> nice loud beep. >>> >>> Aside from being able to set the volume level of the beep (which I >>> have set to the loudest setting), I cannot see anything in the BIOS >>> that lets me enable/disable the system bell. I've also tried mucking >>> with /etc/kbd/default to no avail. >>> >>> I'm not sure if this is a hardware issue or a driver issue, and I'm >>> wondering if anyone has any ideas. >>> >>> Will >>> >>> PS - my next step is to boot a live CD from a different distribution >>> (e.g., Ubuntu) to see if it exhibits the same problem. >> >> For many laptops, the keyboard beep is routed through the audio >> codec. I'm not sure how exactly this works on audiohd platforms, but >> with ac'97 devices the BIOS writes into a specific register on the >> audio codec to cause the beep (generally setting the frequency of the >> beep, and then clearing it once the beep is complete.) >> >> It would not surprise me if the audiohd driver was doing something to >> disable the beep, or if the audiohd driver wasn't doing something it >> *needed* to do to keep the beep working. >> >> You might want to consider just playing an ordinary audio file >> instead of relying on the beep. > There is a kind of widget called Beep Generator Widget for beep in > audiohd spec. > > The tone or Beep Generator Widget is an option used to generate an > approximated sine wave by dividing the 48-kHz frame marker by a > programmable amount. When the beep generator is actively generating a > tone, its output drives all Pin Widgets which are currently defined > output pins in a method of the vendor?s choice, either by switching > the pin to the beep signal or by mixing the tone into the currently > playing stream. > > The Beep Generation command causes the Beep Generator Widget to beep > or to stop beeping. The intended use of this command is for BIOS POST > beeps, not for generating high quality audio output. Note that the > Beep Generator Widget may have an optional output amplifier as defined > in the ?Audio Widget Capabilities? parameter (Section 7.3.4.6). If > this amp is present, it is controlled with the normal amplifier controls. > > Currently audiohd driver does nothing on the Beep Generator Widget, > and I am now not quite clear on how to control BIOS writing the beep > widget because the spec tells very little on it. I will work on this > problem. Garrett, if you have any suggestion for my work, please let > me know. Thanks!
I think the main thing with the Beep generator, is to make sure we aren't inadvertently disabling it. With AC'97 there is also a gain control associated with the beep, and we have to set that (actually we use it to expose a volume control for the beep in Boomer). It may be that you need to do something similar for audiohd. -- Garrett > > Regards, > Yangrong >> >> -- Garrett >> >> _______________________________________________ >> laptop-discuss mailing list >> laptop-discuss at opensolaris.org >