Port-amd64 archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Audio on a Macbook(4,1)



Hi all,

I managed to get NetBSD installed on a 2008ish Intel-based Macbook
and most things actually work without tweaking. (if people are having
trouble getting this to work I can post some notes)

I first tried 5.1 and I'm now running -CURRENT, but in neither did
audio work.  Oddly, there's a red light shining out of the port for
the headphones.  I searched the web and found some people on the
Ubuntu forums with the same problem (no sound and red light shining),
who were able to solve this by turning off something called S/PDIF:
http://ubuntu-ky.ubuntuforums.org/showthread.php?t=1498561

Now I do see this in my dmesg:
hdafg0: ADC02 2ch: SPDIF In [Jack]
...
hdafg0: DAC05 2ch: SPDIF Out [Jack]

but the following does not cause the light to turn off:
# mixerctl -w outputs.dacsel=DAC03,DAC04
outputs.dacsel: DAC03,DAC04,DAC05 -> DAC03,DAC04
# mixerctl -w record.source=ADC00,ADC01 
record.source: ADC00,ADC01,ADC02 -> ADC00,ADC01

I also tried various other mixerctl settings, but nothing helped.
I'd like some help with debugging this.

I also had a look at hdaudioctl(8) but I don't understand anything of
its output.  Can anyone explain to me the purpose and usage of this
program?

Attached are dmesg, mixerctl, hdaudioctl and "audioctl get 0 1" output.
(that's the only entry listed in "hdaudioctl list" output)

Please CC me in replies, I'm not subscribed to this ML.

Cheers,
Peter
-- 
http://sjamaan.ath.cx
--
"The process of preparing programs for a digital computer
 is especially attractive, not only because it can be economically
 and scientifically rewarding, but also because it can be an aesthetic
 experience much like composing poetry or music."
                                                        -- Donald Knuth
name=Realtek
version=ALC885
config=01h
encodings=slinear_le:16,slinear_be:16*,ulinear_le:16*,ulinear_be:16*,mulaw:8*,alaw:8*,slinear_le:32,slinear_be:32*,ulinear_le:32*,ulinear_be:32*
properties=full_duplex,independent
full_duplex=0
fullduplex=0
blocksize=9600
hiwat=6
lowat=5
monitor_gain=0
mode=
play.rate=8000
play.channels=1
play.precision=8
play.encoding=mulaw
play.gain=192
play.balance=32
play.port=0x0
play.avail_ports=0x0
play.seek=0
play.samples=0
play.eof=0
play.pause=0
play.error=0
play.waiting=0
play.open=0
play.active=0
play.buffer_size=65536
record.rate=8000
record.channels=1
record.precision=8
record.encoding=mulaw
record.gain=0
record.balance=32
record.port=0x0
record.avail_ports=0x0
record.seek=0
record.samples=0
record.eof=0
record.pause=0
record.error=0
record.waiting=0
record.open=0
record.active=0
record.buffer_size=65536
record.errors=0
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" 
"http://www.apple.com/DTDs/PropertyList-1.0.dtd";>
<plist version="1.0">
<array>
        <dict>
                <key>config</key>
                <integer>0x90100140</integer>
                <key>nid</key>
                <integer>20</integer>
        </dict>
        <dict>
                <key>config</key>
                <integer>0x12b4050</integer>
                <key>nid</key>
                <integer>21</integer>
        </dict>
        <dict>
                <key>config</key>
                <integer>0x90100141</integer>
                <key>nid</key>
                <integer>22</integer>
        </dict>
        <dict>
                <key>config</key>
                <integer>0x400000f0</integer>
                <key>nid</key>
                <integer>23</integer>
        </dict>
        <dict>
                <key>config</key>
                <integer>0x90a00110</integer>
                <key>nid</key>
                <integer>24</integer>
        </dict>
        <dict>
                <key>config</key>
                <integer>0x400000f0</integer>
                <key>nid</key>
                <integer>25</integer>
        </dict>
        <dict>
                <key>config</key>
                <integer>0x18b3020</integer>
                <key>nid</key>
                <integer>26</integer>
        </dict>
        <dict>
                <key>config</key>
                <integer>0x400000f0</integer>
                <key>nid</key>
                <integer>27</integer>
        </dict>
        <dict>
                <key>config</key>
                <integer>0x400000f0</integer>
                <key>nid</key>
                <integer>28</integer>
        </dict>
        <dict>
                <key>config</key>
                <integer>0x400000f0</integer>
                <key>nid</key>
                <integer>29</integer>
        </dict>
        <dict>
                <key>config</key>
                <integer>0x14be060</integer>
                <key>nid</key>
                <integer>30</integer>
        </dict>
        <dict>
                <key>config</key>
                <integer>0x1cbe030</integer>
                <key>nid</key>
                <integer>31</integer>
        </dict>
</array>
</plist>

inputs.reclvl=80,80 volume delta=5
inputs.reclvl.mute=off  [ off on ]
inputs.reclvl2=80,80 volume delta=5
inputs.reclvl2.mute=off  [ off on ]
inputs.record=184,184 volume delta=8
inputs.record.mute=off  [ off on ]
inputs.record2=184,184 volume delta=8
inputs.record2.mute=off  [ off on ]
outputs.master=192,192 volume delta=3
outputs.master2=0,0 volume delta=256
outputs.master2.mute=off  [ off on ]
outputs.master3=0,0 volume delta=256
outputs.master3.mute=off  [ off on ]
outputs.master4=192,192 volume delta=3
outputs.master5=0,0 volume delta=256
outputs.master5.mute=off  [ off on ]
outputs.master6=0,0 volume delta=256
outputs.master6.mute=off  [ off on ]
outputs.master7=192,192 volume delta=3
outputs.master8=0,0 volume delta=256
outputs.master8.mute=off  [ off on ]
outputs.master9=0,0 volume delta=256
outputs.master9.mute=off  [ off on ]
outputs.master10=0,0 volume delta=256
outputs.master10.mute=off  [ off on ]
outputs.master11=0,0 volume delta=256
outputs.master11.mute=off  [ off on ]
outputs.master12=0,0 volume delta=256
outputs.master12.mute=off  [ off on ]
record.monitor=0,0 volume delta=64
inputs.line=0,0 volume delta=64
inputs.line2=0,0 volume delta=256
inputs.line2.mute=off  [ off on ]
inputs.record3=0,0 volume delta=256
inputs.record3.mute=off  [ off on ]
inputs.reclvl3=0,0 volume delta=256
inputs.reclvl3.mute=off  [ off on ]
inputs.record4=0,0 volume delta=256
inputs.record4.mute=off  [ off on ]
outputs.dacsel=DAC03,DAC04  { DAC03 DAC04 DAC05 }
record.source=ADC00,ADC01  { ADC00 ADC01 ADC02 }
Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
    2006, 2007, 2008, 2009, 2010, 2011
    The NetBSD Foundation, Inc.  All rights reserved.
Copyright (c) 1982, 1986, 1989, 1991, 1993
    The Regents of the University of California.  All rights reserved.

NetBSD 5.99.44 (GENERIC) #1: Sat Jan 22 16:00:33 CET 2011
        sjamaan@langly:/usr/obj/sys/arch/amd64/compile/GENERIC
total memory = 2012 MB
avail memory = 1934 MB
timecounter: Timecounters tick every 10.000 msec
timecounter: Timecounter "i8254" frequency 1193182 Hz quality 100
Apple Inc. MacBook4,1 (1.0)
mainbus0 (root)
cpu0 at mainbus0 apid 0: Intel(R) Core(TM)2 Duo CPU     T8300  @ 2.40GHz, id 
0x10676
cpu1 at mainbus0 apid 1: Intel(R) Core(TM)2 Duo CPU     T8300  @ 2.40GHz, id 
0x10676
ioapic0 at mainbus0 apid 1: pa 0xfec00000, version 20, 24 pins
acpi0 at mainbus0: Intel ACPICA 20100528
acpi0: X/RSDT: OemId <APPLE , Apple00,000000c1>, AslId <    ,01000013>
acpiecdt0 at acpi0: ACPI Embedded Controller via ECDT
acpi0: SCI interrupting at int 9
timecounter: Timecounter "ACPI-Safe" frequency 3579545 Hz quality 900
acpiec0 at acpi0 (EC, PNP0C09): using acpiecdt0
CPU0 (ACPI Object Type 'Processor') at acpi0 not configured
CPU1 (ACPI Object Type 'Processor') at acpi0 not configured
acpiacad0 at acpi0 (ADP1, ACPI0003): ACPI AC Adapter
acpilid0 at acpi0 (LID0, PNP0C0D): ACPI Lid Switch
PNLF (APP0002) at acpi0 not configured
acpibut0 at acpi0 (PWRB, PNP0C0C): ACPI Power Button
acpibut1 at acpi0 (SLPB, PNP0C0E): ACPI Sleep Button
PDRC (PNP0C02) at acpi0 not configured
acpivga0 at acpi0 (GFX0): ACPI Display Adapter
acpiout0 at acpivga0 (LCD, 0x0400): ACPI Display Output Device
acpiout1 at acpivga0 (VGA, 0x0300): ACPI Display Output Device
acpiout2 at acpivga0 (TV, 0x0200): ACPI Display Output Device
acpivga0: connected output devices:
acpivga0:   0x0400 (acpiout0): Int. Digital Flat Panel, index 0, port 0, head 
0, bios detect
acpivga0:   0x0200 (acpiout2): TV/HDTV Monitor, index 0, port 0, head 0, bios 
detect
acpivga0:   0x0300 (acpiout1): Ext. Digital Monitor, index 0, port 0, head 0, 
bios detect
SMC (APP0001) at acpi0 not configured
SMS0 (APP0003) at acpi0 not configured
SBS0 (ACPI0002) at acpi0 not configured
FWHD (INT0800) at acpi0 not configured
hpet0 at acpi0 (HPET, PNP0103): mem 0xfed00000-0xfed003ff irq 0,8
timecounter: Timecounter "hpet0" frequency 14318179 Hz quality 2000
LDRC (PNP0C02) at acpi0 not configured
attimer1 at acpi0 (TIMR, PNP0100): io 0x40-0x43,0x50-0x53
acpibat0 at acpi0 (BAT0, PNP0C0A-0): ACPI Battery
pci0 at mainbus0 bus 0: configuration mode 1
pci0: i/o space, memory space enabled, rd/line, rd/mult, wr/inv ok
pchb0 at pci0 dev 0 function 0: vendor 0x8086 product 0x2a00 (rev. 0x03)
agp0 at pchb0: detected 15868k stolen memory
agp0: aperture at 0x80000000, size 0x20000000
vga0 at pci0 dev 2 function 0: vendor 0x8086 product 0x2a02 (rev. 0x03)
wsdisplay0 at vga0 kbdmux 1: console (80x25, vt100 emulation)
wsmux1: connecting to wsdisplay0
i915drm0 at vga0: Intel i965GM
i915drm0: AGP at 0x80000000 256MB
i915drm0: Initialized i915 1.6.0 20080730
vendor 0x8086 product 0x2a03 (miscellaneous display, revision 0x03) at pci0 dev 
2 function 1 not configured
uhci0 at pci0 dev 26 function 0: vendor 0x8086 product 0x2834 (rev. 0x04)
uhci0: interrupting at ioapic0 pin 20
usb0 at uhci0: USB revision 1.0
uhci1 at pci0 dev 26 function 1: vendor 0x8086 product 0x2835 (rev. 0x04)
uhci1: interrupting at ioapic0 pin 16
usb1 at uhci1: USB revision 1.0
ehci0 at pci0 dev 26 function 7: vendor 0x8086 product 0x283a (rev. 0x04)
ehci0: interrupting at ioapic0 pin 21
ehci0: EHCI version 1.0
ehci0: companion controllers, 2 ports each: uhci0 uhci1
usb2 at ehci0: USB revision 2.0
hdaudio0 at pci0 dev 27 function 0: HD Audio Controller
hdaudio0: interrupting at ioapic0 pin 20
hdafg0 at hdaudio0: Realtek ALC885
hdafg0: ADC00 2ch: Mic In [Built-In]
hdafg0: ADC01 2ch: Line In [Jack]
hdafg0: ADC02 2ch: SPDIF In [Jack]
hdafg0: DAC03 4ch: Speaker [Built-In]
hdafg0: DAC04 2ch: HP Out [Jack]
hdafg0: DAC05 2ch: SPDIF Out [Jack]
hdafg0: 4ch/2ch 44100Hz 48000Hz 96000Hz 192000Hz 16/16 20/32 24/32
audio0 at hdafg0: full duplex, playback, capture, independent
ppb0 at pci0 dev 28 function 0: vendor 0x8086 product 0x283f (rev. 0x04)
ppb0: PCI Express 1.0 <Root Port of PCI-E Root Complex>
pci1 at ppb0 bus 1
pci1: no spaces enabled!
ppb1 at pci0 dev 28 function 4: vendor 0x8086 product 0x2847 (rev. 0x04)
ppb1: PCI Express 1.0 <Root Port of PCI-E Root Complex>
pci2 at ppb1 bus 2
pci2: i/o space, memory space enabled, rd/line, wr/inv ok
bwi0 at pci2 dev 0 function 0: Broadcom Wireless
bwi0: interrupting at ioapic0 pin 16
bwi0: BBP id 0x4321, BBP rev 0x3, BBP pkg 0
bwi0: MAC: rev 12
bwi0: bus regwin already exists
bwi0: PHY type 4, rev 2, ver 5
bwi0: unsupported PHY type 4
ppb2 at pci0 dev 28 function 5: vendor 0x8086 product 0x2849 (rev. 0x04)
ppb2: PCI Express 1.0 <Root Port of PCI-E Root Complex>
pci3 at ppb2 bus 3
pci3: i/o space, memory space enabled, rd/line, wr/inv ok
mskc0 at pci3 dev 0 function 0, Yukon-2 EC Ultra rev. B0 (0x3): ioapic0 pin 17
msk0 at mskc0 port A: Ethernet address 00:23:32:91:0e:6b
makphy0 at msk0 phy 0: Marvell 88E1149 Gigabit PHY, rev. 1
makphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 
1000baseT-FDX, auto
uhci2 at pci0 dev 29 function 0: vendor 0x8086 product 0x2830 (rev. 0x04)
uhci2: interrupting at ioapic0 pin 16
usb3 at uhci2: USB revision 1.0
uhci3 at pci0 dev 29 function 1: vendor 0x8086 product 0x2831 (rev. 0x04)
uhci3: interrupting at ioapic0 pin 18
usb4 at uhci3: USB revision 1.0
uhci4 at pci0 dev 29 function 2: vendor 0x8086 product 0x2832 (rev. 0x04)
uhci4: interrupting at ioapic0 pin 21
usb5 at uhci4: USB revision 1.0
ehci1 at pci0 dev 29 function 7: vendor 0x8086 product 0x2836 (rev. 0x04)
ehci1: interrupting at ioapic0 pin 20
ehci1: EHCI version 1.0
ehci1: companion controllers, 2 ports each: uhci2 uhci3 uhci4
usb6 at ehci1: USB revision 2.0
ppb3 at pci0 dev 30 function 0: vendor 0x8086 product 0x2448 (rev. 0xf4)
pci4 at ppb3 bus 4
pci4: i/o space, memory space enabled
fwohci0 at pci4 dev 3 function 0: vendor 0x11c1 product 0x5811 (rev. 0x61)
fwohci0: interrupting at ioapic0 pin 19
fwohci0: OHCI version 1.0 (ROM=0)
fwohci0: No. of Isochronous channels is 8.
fwohci0: EUI64 00:23:32:ff:fe:04:20:d2
fwohci0: Phy 1394a available S400, 3 ports.
fwohci0: Link S400, max_rec 2048 bytes.
ieee1394if0 at fwohci0: IEEE1394 bus
fwip0 at ieee1394if0: IP over IEEE1394
fwohci0: Initiate bus reset
ichlpcib0 at pci0 dev 31 function 0: vendor 0x8086 product 0x2815 (rev. 0x04)
timecounter: Timecounter "ichlpcib0" frequency 3579545 Hz quality 1000
ichlpcib0: 24-bit timer
ichlpcib0: TCO (watchdog) timer configured.
piixide0 at pci0 dev 31 function 1: Intel 82801HBM IDE Controller (ICH8M) (rev. 
0x04)
piixide0: bus-master DMA support present
piixide0: primary channel configured to native-PCI mode
piixide0: using ioapic0 pin 21 for native-PCI interrupt
atabus0 at piixide0 channel 0
piixide0: secondary channel configured to native-PCI mode
atabus1 at piixide0 channel 1
piixide1 at pci0 dev 31 function 2: Intel 82801HEM Serial ATA Controller 
(ICH8M) (rev. 0x04)
piixide1: bus-master DMA support present
piixide1: primary channel configured to native-PCI mode
piixide1: using ioapic0 pin 18 for native-PCI interrupt
atabus2 at piixide1 channel 0
piixide1: secondary channel configured to native-PCI mode
atabus3 at piixide1 channel 1
ichsmb0 at pci0 dev 31 function 3: vendor 0x8086 product 0x283e (rev. 0x04)
ichsmb0: interrupting at ioapic0 pin 20
iic0 at ichsmb0: I2C bus
isa0 at ichlpcib0
pcppi0 at isa0 port 0x61
midi0 at pcppi0: PC speaker
sysbeep0 at pcppi0
attimer1: attached to pcppi0
fwohci0: BUS reset
fwohci0: node_id=0xc000ffc0, gen=2, CYCLEMASTER mode
ieee1394if0: 1 nodes, maxhop <= 0 cable IRM irm(0) (me)
ieee1394if0: bus manager 0
timecounter: Timecounter "clockinterrupt" frequency 100 Hz quality 0
acpiacad0: AC adapter online.
uhub0 at usb0: vendor 0x8086 UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
uhub1 at usb1: vendor 0x8086 UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub1: 2 ports with 2 removable, self powered
uhub2 at usb2: vendor 0x8086 EHCI root hub, class 9/0, rev 2.00/1.00, addr 1
uhub2: 4 ports with 4 removable, self powered
uhub3 at usb3: vendor 0x8086 UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub3: 2 ports with 2 removable, self powered
uhub4 at usb4: vendor 0x8086 UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub4: 2 ports with 2 removable, self powered
uhub5 at usb5: vendor 0x8086 UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub5: 2 ports with 2 removable, self powered
uhub6 at usb6: vendor 0x8086 EHCI root hub, class 9/0, rev 2.00/1.00, addr 1
uhub6: 6 ports with 6 removable, self powered
atapibus0 at atabus0: 2 targets
cd0 at atapibus0 drive 0: <MATSHITADVD-R   UJ-867, HG0E7432, HB01> cdrom 
removable
cd0: 32-bit data port
cd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 4 (Ultra/66)
cd0(piixide0:0:0): using PIO mode 4, Ultra-DMA mode 4 (Ultra/66) (using DMA)
ugen0 at uhub6 port 4
ugen0: vendor 0x05ac product 0x8300, rev 2.00/0.0c, addr 2
wd0 at atabus2 drive 0: <FUJITSU MHY2160BH>
wd0: drive supports 16-sector PIO transfers, LBA48 addressing
wd0: 149 GB, 310101 cyl, 16 head, 63 sec, 512 bytes/sect x 312581808 sectors
wd0: 32-bit data port
wd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 5 (Ultra/100)
wd0(piixide1:0:0): using PIO mode 4, Ultra-DMA mode 5 (Ultra/100) (using DMA)
Kernelized RAIDframe activated
pad0: outputs: 44100Hz, 16-bit, stereo
audio1 at pad0: half duplex, playback, capture
uhidev0 at uhub0 port 1 configuration 1 interface 0
uhidev0: vendor 0x05ac product 0x1000, rev 2.00/19.65, addr 2, iclass 3/1
ukbd0 at uhidev0
boot device: wd0
root on wd0a dumps on wd0b
root file system type: ffs
wskbd0 at ukbd0: console keyboard, using wsdisplay0
uhidev1 at uhub0 port 1 configuration 1 interface 1
uhidev1: vendor 0x05ac product 0x1000, rev 2.00/19.65, addr 2, iclass 3/1
ums0 at uhidev1: 5 buttons
wsmouse0 at ums0 mux 0
uhidev2 at uhub5 port 1 configuration 1 interface 0
uhidev2: Apple Computer, Inc. IR Receiver, rev 2.00/0.16, addr 2, iclass 3/0
uhidev2: 38 report ids
uhid0 at uhidev2 reportid 36: input=4, output=0, feature=0
uhid1 at uhidev2 reportid 37: input=4, output=0, feature=0
uhid2 at uhidev2 reportid 38: input=4, output=0, feature=0
uhidev3 at uhub5 port 2 configuration 1 interface 0
uhidev3: Apple Computer Apple Internal Keyboard / Trackpad, rev 2.00/0.07, addr 
3, iclass 3/1
ukbd1 at uhidev3
wskbd1 at ukbd1 mux 1
wskbd1: connecting to wsdisplay0
uhidev4 at uhub5 port 2 configuration 1 interface 1
uhidev4: Apple Computer Apple Internal Keyboard / Trackpad, rev 2.00/0.07, addr 
3, iclass 3/1
uhidev4: 5 report ids
ums1 at uhidev4 reportid 2: 3 buttons
wsmouse1 at ums1 mux 0
uhid3 at uhidev4 reportid 5: input=63, output=0, feature=16
uhidev5 at uhub5 port 2 configuration 1 interface 2
uhidev5: Apple Computer Apple Internal Keyboard / Trackpad, rev 2.00/0.07, addr 
3, iclass 3/0
uhid4 at uhidev5: input=1, output=0, feature=0
wsdisplay0: screen 1 added (80x25, vt100 emulation)
wsdisplay0: screen 2 added (80x25, vt100 emulation)
wsdisplay0: screen 3 added (80x25, vt100 emulation)
wsdisplay0: screen 4 added (80x25, vt100 emulation)
i915drm0: interrupting at ioapic0 pin 16


Home | Main Index | Thread Index | Old Index