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! Regards, Yangrong > > -- Garrett > > _______________________________________________ > laptop-discuss mailing list > laptop-discuss at opensolaris.org