Audio on Sunblade 100

Gheorghe Ardelean ardelean at ww.uni-erlangen.de
Wed Aug 19 12:47:46 UTC 2009


On Tue, 18 Aug 2009, Marius Strobl wrote:

> On Mon, Aug 17, 2009 at 11:56:12PM +0200, Marius Strobl wrote:
>> On Mon, Aug 17, 2009 at 10:53:40PM +0200, Marius Strobl wrote:
>>> On Fri, Aug 07, 2009 at 07:58:40PM +0200, Christian Ramseyer wrote:
>>>> Hi
>>>>
>>>> I'm trying to get sound on a Sunblade 100 with 7.2R. I've added
>>>>
>>>> device          sound
>>>> device          snd_t4dwave
>>>>
>>>> to the kernel and recompiled. pciconf shows an attached driver:
>>>>
>>>> pcm0 at pci0:0:8:0:        class=0x040100 card=0x545110b9 chip=0x545110b9
>>>> rev=0x01 hdr=0x00
>>>>     vendor     = 'Acer Labs Incorporated (ALi/ULi)'
>>>>     device     = 'ALI M5451 PCI AC-Link Controller Audio Device'
>>>>     class      = multimedia
>>>>     subclass   = audio
>>>>
>>>> However, there are errors in dmesg:
>>>>
>>>> pcm0: <Acer Labs M5451> port 0x900-0x9ff mem 0x424000-0x424fff at device
>>>> 8.0 on pci0
>>>> pcm0: <Analog Devices AD1881A AC97 Codec>
>>>> pcm0: [GIANT-LOCKED]
>>>> pcm0: [ITHREAD]
>>>> pcm0: chn_init(pcm0:record:dsp0.r0) failed: err = 19
>>>> pcm0: pcm_chn_create(trrchan, -1, 0xfffff80001370800) failed
>>>> pcm0: chn_init(pcm0:play:dsp0.p0) failed: err = 19
>>>> pcm0: pcm_chn_create(trpchan, 1, 0xfffff80001370800) failed
>>>>
>>>> I've also found this message from 2006:
>>>> http://lists.freebsd.org/mailman/htdig/freebsd-sparc64/2006-June/004168.html
>>>>
>>>> So, am I just doing something wrong or are there problems with 5451
>>>> audio on SPARC? I see that the release notes only list i386 and amd64 as
>>>>  architectures for the t4dwave driver.
>>>>
>>>> By the way, thanks a lot for all the work your guys are doing in general
>>>> and for the SPARC port in particular. I'm currently trying BSD for the
>>>> first time in my life and I like it a lot. It runs surprisingly well on
>>>> this outdated platform.
>>>>
>>>
>>> Could you (or any other Blade 100 user) please give the following
>>> patch at try?
>>> http://people.freebsd.org/~marius/t4dwave_sparc64_32-bit.diff
>>> This gets at least the line-out of the M5451 in my Blade 1500
>>> working (I've no idea whether its internal speaker is also
>>> connected to the sound chip like for example in a Blade 1000
>>> and thus supposed to also work or just to a PC-style beeper,
>>> the firmware at least makes it beep that way...), but which
>>> also has a newer revision of this chip.
>>>
>>
>> Looks like I've spoken to soon; it only works when it happens
>> to get certain buffer addresses, otherwise nothing is played
>> and the interrupt times out (which according to google isn't
>> a sparc64 specific problem). This probably means that some
>> bus_dma(9) parameters are incorrect...
>>
>
> Ok, I think I've identified the incorrect bus_dma(9) settings
> with the help of Tatsuo YOKOGAWA's ali(4) (which as least for
> the alignment requirement also matches the NetBSD autri(4). A
> new patch is at:
> http://people.freebsd.org/~marius/t4dwave_M5451_32-bit.diff
> This version now also basically works with the GENIALstation
> 777s, but there seems to be a problem with ac94(4) on that
> machine or it's wired strangely as I've to turn on the
> "PhoneOut" output in the mixer in order to get sound and its
> quality is likewise, though with the Blade 1500 all seems
> fine. If someone could test how far this patch gets things
> into working with Blade 100 that would be great.
>
> Marius
>
> _______________________________________________
> freebsd-sparc64 at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-sparc64
> To unsubscribe, send any mail to "freebsd-sparc64-unsubscribe at freebsd.org"
>

Hi Marius,

Thank you! It works on my Blade 100. Tested with mpg123!
The sound is not routed to the internal speaker if no headphones are 
pluged in (as is the case for Ultra 1 etc) but this is not a problem.

Attached please find the dmesg! Could somebody add the dmesg to my list of 
dmesgs on the wiki page?

Best regards,

Gheorghe Ardelean.
-------------- next part --------------
Copyright (c) 1992-2009 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
	The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 7.2-RELEASE #0: Wed Aug 19 14:14:19 CEST 2009
    root at blade100.ganet.de:/usr/src/sys/sparc64/compile/GENERIC
real memory  = 536870912 (512 MB)
avail memory = 505315328 (481 MB)
cpu0: Sun Microsystems UltraSparc-IIe Processor (502.00 MHz CPU)
registered firmware set <isp_1000>
registered firmware set <isp_1040>
registered firmware set <isp_1040_it>
registered firmware set <isp_1080>
registered firmware set <isp_1080_it>
registered firmware set <isp_12160>
registered firmware set <isp_12160_it>
registered firmware set <isp_2100>
registered firmware set <isp_2200>
registered firmware set <isp_2300>
registered firmware set <isp_2322>
registered firmware set <isp_2400>
kbd0 at kbdmux0
nexus0: <Open Firmware Nexus device>
pcib0: <U2P UPA-PCI bridge> mem 0x1fe00000000-0x1fe0000ffff,0x1fe01000000-0x1fe010000ff irq 2032,2030,2031,2021 on nexus0
pcib0: Hummingbird compatible, impl 0, version 0, IGN 0x1f, bus A, 33MHz
pcib0: DVMA map: 0xc0000000 to 0xc3ffffff
pcib0: [FILTER]
pcib0: [FILTER]
pcib0: [GIANT-LOCKED]
pcib0: [ITHREAD]
pcib0: [FILTER]
pci0: <OFW PCI bus> on pcib0
ebus0: <PCI-EBus3 bridge> mem 0xf0000000-0xf0ffffff,0xf1000000-0xf17fffff at device 12.0 on pci0
ebus0: <idprom>: incomplete
ebus0: <flashprom> addr 0-0xfffff (no driver attached)
eeprom0: <EEPROM/clock> addr 0x100000000-0x100001fff on ebus0
eeprom0: model mk48t59
isab0: <PCI-ISA bridge> at device 7.0 on pci0
isa0: <ISA bus> on isab0
gem0: <Sun ERI 10/100 Ethernet> mem 0x400000-0x41ffff at device 12.1 on pci0
miibus0: <MII bus> on gem0
ukphy0: <Generic IEEE 802.3u media interface> PHY 1 on miibus0
ukphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
gem0: 2kB RX FIFO, 2kB TX FIFO
gem0: Ethernet address: 00:03:ba:08:xy:xz
gem0: [ITHREAD]
fwohci0: <Sun PCIO-2> mem 0x420000-0x4207ff,0x422000-0x4227ff at device 12.2 on pci0
fwohci0: [FILTER]
fwohci0: OHCI version 1.0 (ROM=0)
fwohci0: No. of Isochronous channels is 4.
fwohci0: EUI64 00:03:ba:ff:fe:08:0b:a1
fwohci0: Phy 1394a available S400, 2 ports.
fwohci0: Link S400, max_rec 2048 bytes.
firewire0: <IEEE1394(FireWire) bus> on fwohci0
fwe0: <Ethernet over FireWire> on firewire0
if_fwe0: Fake Ethernet address: 02:03:ba:08:0b:a1
fwe0: Ethernet address: 02:03:ba:08:0b:a1
dcons_crom0: <dcons configuration ROM> on firewire0
dcons_crom0: bus_addr 0xc1128000
fwip0: <IP over FireWire> on firewire0
fwip0: Firewire address: 00:03:ba:ff:fe:08:0b:a1 @ 0xfffe00000000, S400, maxrec 2048
sbp0: <SBP-2/SCSI over FireWire> on firewire0
fwohci0: Initiate bus reset
fwohci0: BUS reset
fwohci0: node_id=0xc800ffc0, gen=1, CYCLEMASTER mode
ohci0: <Sun PCIO-2 USB controller> mem 0x2000000-0x2007fff at device 12.3 on pci0
ohci0: [GIANT-LOCKED]
ohci0: [ITHREAD]
usb0: OHCI version 1.0, legacy support
usb0: <Sun PCIO-2 USB controller> on ohci0
usb0: USB revision 1.0
uhub0: <(0x108e) OHCI root hub, class 9/0, rev 1.00/1.00, addr 1> on usb0
uhub0: 4 ports with 4 removable, self powered
pci0: <old, non-VGA display device> at device 3.0 (no driver attached)
pcm0: <Acer Labs M5451> port 0x900-0x9ff mem 0x424000-0x424fff at device 8.0 on pci0
pcm0: <Analog Devices AD1881A AC97 Codec>
pcm0: [GIANT-LOCKED]
pcm0: [ITHREAD]
atapci0: <AcerLabs M5229 UDMA66 controller> port 0xa00-0xa07,0xa18-0xa1b,0xa10-0xa17,0xa08-0xa0b,0xa20-0xa2f at device 13.0 on pci0
atapci0: [ITHREAD]
atapci0: using PIO transfers above 137GB as workaround for 48bit DMA access bug, expect reduced performance
ata2: <ATA channel 0> on atapci0
ata2: [ITHREAD]
ata3: <ATA channel 1> on atapci0
ata3: [ITHREAD]
machfb0: <ATI Rage XL> port 0xb00-0xbff mem 0x3000000-0x3ffffff,0x426000-0x426fff at device 19.0 on pci0
machfb0: console
machfb0: 16 MB aperture at 0xfde00000 not swapped
machfb0: 8188 KB SDRAM 114.992 MHz, maximum RAMDAC clock 230 MHz, DSP
machfb0: resolution 1280x1024 at 8 bpp
pcib1: <OFW PCI-PCI bridge> at device 5.0 on pci0
pci1: <OFW PCI bus> on pcib1
sym0: <875> port 0x1000-0x10ff mem 0x4000000-0x40000ff,0x4002000-0x4002fff at device 2.0 on pci1
sym0: No NVRAM, ID 7, Fast-20, SE, parity checking
sym0: [ITHREAD]
syscons0: <System console> on nexus0
syscons0: Unknown <16 virtual consoles, flags=0x300>
uart0: <16550 or compatible> at port 0x3f8-0x3ff irq 43 on isa0
uart0: [FILTER]
uart1: <16550 or compatible> at port 0x2e8-0x2ef irq 43 on isa0
uart1: [FILTER]
ums0: <Logitech USB-PS/2 Optical Mouse, class 0/0, rev 2.00/11.10, addr 2> on uhub0
ums0: 3 buttons and Z dir.
ukbd0: <vendor 0x0430 product 0x0005, class 0/0, rev 1.00/1.01, addr 3> on uhub0
kbd1 at ukbd0
Timecounter "tick" frequency 502000000 Hz quality 1000
Timecounters tick every 1.000 msec
Waiting 5 seconds for SCSI devices to settle
firewire0: 1 nodes, maxhop <= 0, cable IRM = 0 (me)
firewire0: bus manager 0 (me)
ad0: 38166MB <Seagate ST340016A 3.75> at ata2-master UDMA66
acd0: CDRW <LTN485S/JOU2> at ata2-slave PIO4
GEOM_LABEL: Label for provider ad0a is ufsid/4a8bdf49852bb47a.
Trying to mount root from ufs:/dev/ad0a
GEOM_LABEL: Label ufsid/4a8bdf49852bb47a removed.
GEOM_LABEL: Label for provider ad0a is ufsid/4a8bdf49852bb47a.
GEOM_LABEL: Label ufsid/4a8bdf49852bb47a removed.


More information about the freebsd-sparc64 mailing list