New Experimental AudioHD Driver
I've just posted the latest experimental version of the OpenSolaris audiohd driver. This driver includes the latest work from the engineers in Beijing, including a widget parser that enables the driver to work on a much larger variety of audio configurations.
As most motherboards these days ship with an audiohd compliant device, this should greatly expand the support for audio on Solaris systems.
The above driver binary also includes suspend/resume support.
Note that this is not the anticipated Open Sound System driver, but rather an extension of the pre-existing Sun driver. It won't work with OSS. However, there is some chance (I've not tested it myself) that this will even work on Solaris 10.
A webrev of the changes should be posted soon.
In the meantime, if you want to give this a whirl, let me know the results. (To test it, just copy the binary objects into /kernel/drv/amd64/ or /kernel/drv and reboot. -- Yes there are ways to do this without a reboot, but the caveats are too many to list here.)
We're interested in any problem reports, as well as notification of hardware configurations where this either did or did not work. Thanks!
[ update 10/13/2008: I've changed the link to the files list so that readers can find the latest version posted up on the site ]
As most motherboards these days ship with an audiohd compliant device, this should greatly expand the support for audio on Solaris systems.
The above driver binary also includes suspend/resume support.
Note that this is not the anticipated Open Sound System driver, but rather an extension of the pre-existing Sun driver. It won't work with OSS. However, there is some chance (I've not tested it myself) that this will even work on Solaris 10.
A webrev of the changes should be posted soon.
In the meantime, if you want to give this a whirl, let me know the results. (To test it, just copy the binary objects into /kernel/drv/amd64/ or /kernel/drv and reboot. -- Yes there are ways to do this without a reboot, but the caveats are too many to list here.)
We're interested in any problem reports, as well as notification of hardware configurations where this either did or did not work. Thanks!
[ update 10/13/2008: I've changed the link to the files list so that readers can find the latest version posted up on the site ]
Comments
I tested you driver on my laptop. Hardware is:
pci bus 0x0000 cardnum 0x1b function 0x00: vendor 0x8086 device 0x27d8
Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller
Audio didn't work before and doesn't work with the new driver.
dmesg give me the following output when greping for audio
Jul 17 12:47:00 tensaiga audiosup: [ID 291527 kern.warning] WARNING: audiohd0: unsupported HD codec: vid=0x10573055, rev=0x00100700
Jul 17 12:47:00 tensaiga audiosup: [ID 909512 kern.warning] WARNING: audiohd0: unsupported HD codec: vid=0x10ec0861, rev=0x00100300
Jul 17 12:47:00 tensaiga audiosup: [ID 493330 kern.warning] WARNING: audiohd0: audiohd_attach() couldn't create codec
Jul 17 12:47:13 tensaiga audiosup: [ID 291527 kern.warning] WARNING: audiohd0: unsupported HD codec: vid=0x10573055, rev=0x00100700
Jul 17 12:47:13 tensaiga audiosup: [ID 909512 kern.warning] WARNING: audiohd0: unsupported HD codec: vid=0x10ec0861, rev=0x00100300
Jul 17 12:47:13 tensaiga audiosup: [ID 493330 kern.warning] WARNING: audiohd0: audiohd_attach() couldn't create codec
Regards,
Björn
It says:
Jul 18 13:07:19 tp audiohd: [ID 294501 kern.notice] NOTICE: Intel HD audio PCI 0x78 is: 0x6
Jul 18 13:07:19 tp audiohd: [ID 123783 kern.notice] NOTICE: Cannot no-snoop, ok
Jul 18 13:07:19 tp audiohd: [ID 550065 kern.notice] NOTICE: power=0x0, is ok
Jul 18 13:07:19 tp audiohd: [ID 829518 kern.notice] NOTICE: BAR0 pci reg 0x10 = 0xee400004
Jul 18 13:07:19 tp audiohd: [ID 833715 kern.notice] NOTICE: bar1 pci reg 0x14 = 0x0
Jul 18 13:07:19 tp audiohd: [ID 901379 kern.notice] NOTICE: pci reg 0x40 = 0x3
Jul 18 13:07:19 tp audiohd: [ID 578956 kern.notice] NOTICE: pci reg 0x50 = 0xc8426001
Jul 18 13:07:19 tp audiohd: [ID 449975 kern.notice] NOTICE: pci reg 0x54 = 0x0
Jul 18 13:07:19 tp audiohd: [ID 194031 kern.notice] NOTICE: GCAP = 0x4401
Jul 18 13:07:19 tp audiohd: [ID 723211 kern.notice] NOTICE: in reset_controller: mask is 0x3
Jul 18 13:07:19 tp audiosup: [ID 758380 kern.info] NOTICE: audiohd0: codec 0: vid=0x11d41981, sid=0x00000000, rev=0x00100200
Jul 18 13:07:19 tp audiohd: [ID 405778 kern.notice] NOTICE: audiohd: get a beep widget
Jul 18 13:07:19 tp pseudo: [ID 129642 kern.info] pseudo-device: ramdisk1024
Jul 18 13:07:19 tp genunix: [ID 936769 kern.info] ramdisk1024 is /pseudo/ramdisk@1024
Jul 18 13:07:19 tp audiosup: [ID 974567 kern.notice] NOTICE: audiohd0: audiohd:SPDIF-OUT found!
Jul 18 13:07:19 tp unix: [ID 954099 kern.info] NOTICE: IRQ17 is being shared by drivers with different interrupt levels.
Jul 18 13:07:19 tp This may result in reduced system performance.
Jul 18 13:07:19 tp npe: [ID 236367 kern.info] PCI Express-device: pci17aa,2010@1b, audiohd0
Jul 18 13:07:19 tp genunix: [ID 936769 kern.info] audiohd0 is /pci@0,0/pci17aa,2010@1b
Jul 18 13:07:19 tp audiosup: [ID 601478 kern.notice] NOTICE: audiohd0: Attach finished successfully!
I tried with the audiohd driver.and i got an error.
Aug 6 18:18:27 lap genunix: [ID 819705 kern.notice] /kernel/drv/audiohd: undefined symbol
Aug 6 18:18:27 lap genunix: [ID 826211 kern.notice] 'pci_config_put8'
Aug 6 18:18:27 lap genunix: [ID 819705 kern.notice] /kernel/drv/audiohd: undefined symbol
Aug 6 18:18:27 lap genunix: [ID 826211 kern.notice] 'pci_config_get8'
Aug 6 18:18:27 lap genunix: [ID 819705 kern.notice] /kernel/drv/audiohd: undefined symbol
Aug 6 18:18:27 lap genunix: [ID 826211 kern.notice] 'pci_config_put16'
Aug 6 18:18:27 lap genunix: [ID 819705 kern.notice] /kernel/drv/audiohd: undefined symbol
Aug 6 18:18:27 lap genunix: [ID 826211 kern.notice] 'pci_config_get16'
Aug 6 18:18:27 lap genunix: [ID 819705 kern.notice] /kernel/drv/audiohd: undefined symbol
Aug 6 18:18:27 lap genunix: [ID 826211 kern.notice] 'pci_config_get32'
Aug 6 18:18:27 lap genunix: [ID 472681 kern.notice] WARNING: mod_load: cannot load module 'audiohd'
Only issue is that using gnome volume control - volume is only audible at 75% level or higher, and playback options are confused - if you unclick built-in speaker, nothing happens (ie sound stays on). If you unclick line out, speakers mute. Line out and speaker options are switched - I guess that's why the volume is pretty low?
Aug 9 17:29:18 workstation audiohd: [ID 294501 kern.notice] NOTICE: Intel HD audio PCI 0x78 is: 0x7
Aug 9 17:29:18 workstation audiohd: [ID 123783 kern.notice] NOTICE: Cannot no-snoop, ok
Aug 9 17:29:18 workstation audiohd: [ID 550065 kern.notice] NOTICE: power=0x0, is ok
Aug 9 17:29:18 workstation audiohd: [ID 829518 kern.notice] NOTICE: BAR0 pci reg 0x10 = 0xd0440004
Aug 9 17:29:18 workstation audiohd: [ID 833715 kern.notice] NOTICE: bar1 pci reg 0x14 = 0x0
Aug 9 17:29:18 workstation audiohd: [ID 901379 kern.notice] NOTICE: pci reg 0x40 = 0x1
Aug 9 17:29:18 workstation audiohd: [ID 578956 kern.notice] NOTICE: pci reg 0x50 = 0xc8426001
Aug 9 17:29:18 workstation audiohd: [ID 449975 kern.notice] NOTICE: pci reg 0x54 = 0x0
Aug 9 17:29:18 workstation audiohd: [ID 194031 kern.notice] NOTICE: GCAP = 0x4401
Aug 9 17:29:18 workstation audiohd: [ID 723211 kern.notice] NOTICE: in reset_controller: mask is 0x1
Aug 9 17:29:18 workstation audiosup: [ID 244587 kern.info] NOTICE: audiohd0: codec 0: vid=0x83847680, sid=0x00000000, rev=0x00103601
Aug 9 17:29:18 workstation audiohd: [ID 405778 kern.notice] NOTICE: audiohd: get a beep widget
Aug 9 17:29:18 workstation audiosup: [ID 974567 kern.notice] NOTICE: audiohd0: audiohd:SPDIF-OUT found!
Aug 9 17:29:18 workstation audiosup: [ID 229082 kern.notice] NOTICE: audiohd0: audiohd:SPDIF-IN found!
Aug 9 17:29:18 workstation pcplusmp: [ID 803547 kern.info] pcplusmp: pci8086,27d8 (audiohd) instance 0 vector 0x16 ioapic 0x1 intin 0x16 is bound to cpu 0
Aug 9 17:29:18 workstation npe: [ID 236367 kern.info] PCI Express-device: pci8384,7680@1b, audiohd0
Aug 9 17:29:18 workstation genunix: [ID 936769 kern.info] audiohd0 is /pci@0,0/pci8384,7680@1b
Aug 9 17:29:18 workstation audiosup: [ID 601478 kern.notice] NOTICE: audiohd0: Attach finished successfully!
But when I attach normal headphones I can't hear any sounds from either of the two jacks.
I installed on my laptop an Acer aspire 4520 with realtek hda, and it,s working ok. Thanks
# dmesg |grep hd
Sep 5 15:46:33 coresolaris audiosup: [ID 484724 kern.warning] WARNING: audiohd0: unsupported HD codec: vid=0x10ec0268, rev=0x00100003
Sep 5 15:46:33 coresolaris audiosup: [ID 347318 kern.warning] WARNING: audiohd0: unsupported HD codec: vid=0x11c11040, rev=0x00100200
Sep 5 15:46:33 coresolaris audiosup: [ID 493330 kern.warning] WARNING: audiohd0: audiohd_attach() couldn't create codec
Sep 5 17:07:16 coresolaris audiohd: [ID 194031 kern.notice] NOTICE: GCAP = 0x4401
Sep 5 17:07:16 coresolaris audiohd: [ID 723211 kern.notice] NOTICE: in reset_controller: mask is 0x3
Sep 5 17:07:16 coresolaris audiosup: [ID 629302 kern.info] NOTICE: audiohd0: codec 0: vid=0x10ec0268, sid=0x00000000, rev=0x00100003
Sep 5 17:07:16 coresolaris audiosup: [ID 974567 kern.notice] NOTICE: audiohd0: audiohd:SPDIF-OUT found!
Sep 5 17:07:16 coresolaris npe: [ID 236367 kern.info] PCI Express-device: pci1025,127@7, audiohd0
Sep 5 17:07:16 coresolaris genunix: [ID 936769 kern.info] audiohd0 is /pci@0,0/pci1025,127@7
Sep 5 17:07:16 coresolaris audiosup: [ID 601478 kern.notice] NOTICE: audiohd0: Attach finished successfully!
The driver works well for me with an Intel 82801H (Toshiba Satellite A200-1Y0). Thanks!
Oct 12 16:37:21 opensolaris audiosup: [ID 878919 kern.warning] WARNING: audiohd0: unsupported HD codec: vid=0x14f15051, rev=0x00100000
Oct 12 16:37:21 opensolaris audiosup: [ID 493330 kern.warning] WARNING: audiohd0: audiohd_attach() couldn't create codec
Any hints for a noob? ;-)
There has been newer versions of the driver released internally, and they should be integrated into b100 or b101. They may or may not fix our specific problem. I'll see if I can get a public downloadable binary in advance
nukem:
If you updated after you installed the audiohd driver, you might basically have undone the effect of an upgrade. You might need to reinstall. Alternatively, if you upgrade to a very recent (e.g. b99 or newer) build, then you might not need to worry about it.
laptop: Asus F8Sn
audio device: Intel Corporation 82810H (ICH8 Family) HD Audio Controller. [acording to the device driver utilty]
Nono.
I Installed OS (think 086?), then audiodriver -> Sound :-)))
Update OS (098??!) -> No sound :-((
-> Install/copy the audiodriver -> still no sound >:-(((
Hmm, that´s making me wonder.
with the driver from 25-08-08 everything works fine for me.
DeviceDriverUtility doesn't show errors anymore. But still silence on my speakers.
VolumeControl is disabled - by clicking it: GStreamer plugins missing.
Holy cow... I am a noob. WTF can I do more?
BTW: great blog!!