Poster | Thread |
Geri
| |
[UPDATE 2009/08/23] Updated AmigaOne v2.6.18 kernel with onboard sound support Posted on 22-Jul-2009 10:46:07
| | [ #1 ] |
|
|
|
Elite Member |
Joined: 7-Oct-2003 Posts: 2038
From: ST/AT | | |
|
| I finally found the time to work on the onboard sound problem. Actually the fix was obvious after I carefully RTFM. The kernel now relocates the base addresses of the onboard sound device into the first 64k of the PCI I/O space. The kernel currently uses fixed addresses (the same as OS4 on my A1) for the relocation, which may lead to resource conflicts. On the other side this is probably no big deal, as the firmware puts all PCI I/O spaces beyond the first 64k. To the firmwares defense: the VIA southbridges sound device doesn't follow the PCI specification for its base address registers. Some of you may try out LM sensors with the VIA686 hardware monitoring driver. A long time ago I could monitor the fan speed on my A1 before it stopped working for no reason (maybe I shorted the fan pin headers)!
The updated Linux kernel can be download here. A new patch file is also available.
edit #1: A kernel archive with the latest security updates is available at http://amigaone-linux.sourceforge.net. Last edited by Geri on 23-Aug-2009 at 08:37 PM.
_________________ A1SE: G3@600MHz, 2GB, 1GBit network card A1XE: G4@933MHz, 2GB, refitted AC'97 codec microA1: G3@800MHz, 1GB
- A1 Linux support - |
|
Status: Offline |
|
|
Hypex
| |
Re: Updated AmigaOne v2.6.18 kernel with onboard sound support Posted on 22-Jul-2009 15:52:18
| | [ #2 ] |
|
|
|
Elite Member |
Joined: 6-May-2007 Posts: 11329
From: Greensborough, Australia | | |
|
| @Geri
Thanks Geri. Down loading now.
While on the subject of PCI spaces what do the following harmless (?) errors mean? Can that be fixed?
Quote:
Jul 17 09:33:35 debian kernel: PCI: Probing PCI hardware Jul 17 09:33:35 debian kernel: PCI: Cannot allocate resource region 0 of device 0000:00:00.0 Jul 17 09:33:35 debian kernel: PCI: Cannot allocate resource region 0 of device 0000:01:00.1 Jul 17 09:33:35 debian kernel: PCI: Cannot allocate resource region 1 of device 0000:01:00.1 Jul 17 09:33:35 debian kernel: PCI: Failed to allocate mem resource #0:8000000@88000000 for 0000:01:00.1 Jul 17 09:33:35 debian kernel: AmigaOne: Applying PCI/ISA bridge BIOS fixes.
Jul 17 09:33:35 debian kernel: vt596_smbus 0000:00:07.4: SMBus base address uninitialized - upgrade BIOS or use force_addr=0xaddr Jul 17 09:33:35 debian kernel: via686a 0000:00:07.4: base address not set - upgrade BIOS or use force_addr=0xaddr
Jul 17 09:33:35 debian kernel: AC'97 codec is not ready [0xffffffff] Jul 17 09:33:35 debian kernel: VIA 82xx Modem: probe of 0000:00:07.6 failed with error -13 Jul 17 09:33:35 debian kernel: AC'97 codec is not ready [0xffffffff] Jul 17 09:33:35 debian kernel: VIA 82xx Audio: probe of 0000:00:07.5 failed with error -13 |
Can I specify a force_addr to work around this? |
|
Status: Offline |
|
|
Geri
| |
Re: Updated AmigaOne v2.6.18 kernel with onboard sound support Posted on 22-Jul-2009 17:05:51
| | [ #3 ] |
|
|
|
Elite Member |
Joined: 7-Oct-2003 Posts: 2038
From: ST/AT | | |
|
| @Hypex
Quote:
Hypex wrote: @Geri
While on the subject of PCI spaces what do the following harmless (?) errors mean? Can that be fixed?
[quote]Jul 17 09:33:35 debian kernel: PCI: Probing PCI hardware Jul 17 09:33:35 debian kernel: PCI: Cannot allocate resource region 0 of device 0000:00:00.0 Jul 17 09:33:35 debian kernel: PCI: Cannot allocate resource region 0 of device 0000:01:00.1 Jul 17 09:33:35 debian kernel: PCI: Cannot allocate resource region 1 of device 0000:01:00.1 Jul 17 09:33:35 debian kernel: PCI: Failed to allocate mem resource #0:8000000@88000000 for 0000:01:00.1
|
The firmware doesn't setup the PCI resources correctly. Region 0 of device 0000:00:00.0 is the AGP aperture which is left uninitialized by the firmware (IIRC). 0000:01:00.1 should be the secondary function of the graphics card in the AGP/PCI 1 slot. In this case the kernel tries to move the resources of the device 0000:01:00.1 into the AGP/PCI 1 slot memory window, but fails because all the PCI bus 1 memory windows address space is assigned to device 0000:01:00.0.
It should and could be fixed in the firmware (it's on my wishlist for a new A1 U-boot ). I'm not going to fix it for the 2.6.18 kernel, but I'm working on the PCI bus resource reallocation for newer kernels.
Quote:
Jul 17 09:33:35 debian kernel: AmigaOne: Applying PCI/ISA bridge BIOS fixes. |
Quote:
Jul 17 09:33:35 debian kernel: vt596_smbus 0000:00:07.4: SMBus base address uninitialized - upgrade BIOS or use force_addr=0xaddr Jul 17 09:33:35 debian kernel: via686a 0000:00:07.4: base address not set - upgrade BIOS or use force_addr=0xaddr
|
These messages should go away with the new kernel. The vt596_smbus driver probably isn't very useful, because there are no SMBus devices connected to the southbridge. The via686 hardware monitoring driver however worked on my A1 for a short time (as I mentioned above).
Quote:
Jul 17 09:33:35 debian kernel: AC'97 codec is not ready [0xffffffff] Jul 17 09:33:35 debian kernel: VIA 82xx Modem: probe of 0000:00:07.6 failed with error -13
|
Okay, the ALSA modem driver will still fail with the new kernel, but I don't know if modem and sound functionality can work in parallel.
Quote:
Jul 17 09:33:35 debian kernel: AC'97 codec is not ready [0xffffffff] Jul 17 09:33:35 debian kernel: VIA 82xx Audio: probe of 0000:00:07.5 failed with error -13
|
The snd_via82xx driver should work now. You may have to run alsaconf to select the onboard audio.
Users with more than one sound card or some USB audio equipment (standalone microphone, webcam with micro, etc.) can create/modify the file /etc/modprobe.d/sound with something like this:
Quote:
alias snd-card-0 snd-via82xx options snd-via82xx index=0 alias snd-card-1 snd-emu10k1 options snd-emu10k1 index=1 alias snd-card-2 snd-usb-audio alias snd-card-3 snd-usb-audio options snd-usb-audio index=2,3
|
Note that alsaconf overwrites this file!
Quote:
Can I specify a force_addr to work around this? |
It isn't required anymore and doesn't work with older kernels, because they lack the soft resume quirk for the southbridge, which also powers up the audio controller.
_________________ A1SE: G3@600MHz, 2GB, 1GBit network card A1XE: G4@933MHz, 2GB, refitted AC'97 codec microA1: G3@800MHz, 1GB
- A1 Linux support - |
|
Status: Offline |
|
|
lionstorm
| |
Re: Updated AmigaOne v2.6.18 kernel with onboard sound support Posted on 22-Jul-2009 18:29:03
| | [ #4 ] |
|
|
|
Super Member |
Joined: 31-Jul-2003 Posts: 1591
From: the french side | | |
|
| @Geri
thx Geri, downloading it right now. will this also gives sound to MOL ? |
|
Status: Offline |
|
|
billt
| |
Re: Updated AmigaOne v2.6.18 kernel with onboard sound support Posted on 22-Jul-2009 18:37:40
| | [ #5 ] |
|
|
|
Elite Member |
Joined: 24-Oct-2003 Posts: 3205
From: Maryland, USA | | |
|
| @Geri Quote:
The firmware doesn't setup the PCI resources correctly. Region 0 of device 0000:00:00.0 is the AGP aperture which is left uninitialized by the firmware (IIRC). 0000:01:00.1 should be the secondary function of the graphics card in the AGP/PCI 1 slot. In this case the kernel tries to move the resources of the device 0000:01:00.1 into the AGP/PCI 1 slot memory window, but fails because all the PCI bus 1 memory windows address space is assigned to device 0000:01:00.0.
It should and could be fixed in the firmware (it's on my wishlist for a new A1 U-boot |
Is this on the uboot bugtracking page? http://bugs.os4depot.net/?function=viewissues&softwareid=6_________________ All glory to the Hypnotoad! |
|
Status: Offline |
|
|
Geri
| |
Re: Updated AmigaOne v2.6.18 kernel with onboard sound support Posted on 22-Jul-2009 19:14:27
| | [ #6 ] |
|
|
|
Elite Member |
Joined: 7-Oct-2003 Posts: 2038
From: ST/AT | | |
|
| |
Status: Offline |
|
|
RacerX
| |
Re: Updated AmigaOne v2.6.18 kernel with onboard sound support Posted on 22-Jul-2009 21:23:32
| | [ #7 ] |
|
|
|
Super Member |
Joined: 21-Aug-2003 Posts: 1158
From: Parts Unknown, USA | | |
|
| @Geri
Thanks! _________________ 'unfixed' A1XE, 512mb RAM, plug-in USB card, Sil 0680 IDE card, Radeon 9250, built-in sound, OS4.1 update 5. |
|
Status: Offline |
|
|
Geri
| |
Re: Updated AmigaOne v2.6.18 kernel with onboard sound support Posted on 24-Jul-2009 17:01:06
| | [ #8 ] |
|
|
|
Elite Member |
Joined: 7-Oct-2003 Posts: 2038
From: ST/AT | | |
|
| I updated the amigaone-linux.sourceforge.net site with the new kernel and overhauled the download page a little bit, which now includes also the MoL packages.
_________________ A1SE: G3@600MHz, 2GB, 1GBit network card A1XE: G4@933MHz, 2GB, refitted AC'97 codec microA1: G3@800MHz, 1GB
- A1 Linux support - |
|
Status: Offline |
|
|
Hypex
| |
Re: Updated AmigaOne v2.6.18 kernel with onboard sound support Posted on 24-Jul-2009 17:23:30
| | [ #9 ] |
|
|
|
Elite Member |
Joined: 6-May-2007 Posts: 11329
From: Greensborough, Australia | | |
|
| @Geri
Quote:
The firmware doesn't setup the PCI resources correctly. |
That 0000:01:00.1 is probably the TV out buffer on the card. But, the TV out does work as long as I only see UBoot.
Quote:
It should and could be fixed in the firmware |
As long as it's harmless.
Flawless CD booting, history buffer and screen pausing are on my wishlish.
Quote:
These messages should go away with the new kernel |
Getting greener and cleaner.
Quote:
Okay, the ALSA modem driver will still fail with the new kernel, but I don't know if modem and sound functionality can work in parallel. |
In this case I don't have the audio chip that I know of.
Quote:
Users with more than one sound card or some USB audio equipment (standalone microphone, webcam with micro, etc.) can create/modify the file /etc/modprobe.d/sound with something like this: |
That reminds me, should a webcam work out of the bix with Linux? I've got Cheese on my system, but when I plug in a web cam. nothing appears.
Another thing I can't work out is printing. My system doesn't seem to have any way to add a printer, last time I tried. Since I upgraded to Lenny a lot of stuff has been missing and my sources list isn't 100%! I've read when you plug a USB printer into Linux it detects it and sets up a driver. Nup, not here.
Quote:
It isn't required anymore and doesn't work with older kernels, because they lack the soft resume quirk for the southbridge, which also powers up the audio controller. |
Why does it tell me these things if the options don't work! |
|
Status: Offline |
|
|
broadblues
| |
Re: Updated AmigaOne v2.6.18 kernel with onboard sound support Posted on 24-Jul-2009 18:34:24
| | [ #10 ] |
|
|
|
Amiga Developer Team |
Joined: 20-Jul-2004 Posts: 4447
From: Portsmouth England | | |
|
| @Hypex
Quote:
That reminds me, should a webcam work out of the bix with Linux? I've got Cheese on my system, but when I plug in a web cam. nothing appears.
|
First check for the existance of /dev/video if you have that then the usb camera is atleast recongised by the drive.
Then run gstreamer-settings from a shell (or it might be gstreamer-properties, can't remember the exact name and I'm in amigaosATM). Select the camera from the available sources. And hey presto ... well if you have my webcam it'll give you an error about failed initialisation, but you might be nore lucky.
Mine need Debian SID under x86 to work properly,
_________________ BroadBlues On Blues BroadBlues On Amiga Walker Broad |
|
Status: Offline |
|
|
broadblues
| |
Re: Updated AmigaOne v2.6.18 kernel with onboard sound support Posted on 24-Jul-2009 18:45:21
| | [ #11 ] |
|
|
|
Amiga Developer Team |
Joined: 20-Jul-2004 Posts: 4447
From: Portsmouth England | | |
|
| @broadblues
Just checked and it gstreamer-properties, you need to set the video source to to v4l2 (which will be /dev/video0)
Cheese is a real hog of a program though, if you can handle editing gstreamer pipelines you will be better off using gstreamer directly, just use Cheese to setup your shot.
_________________ BroadBlues On Blues BroadBlues On Amiga Walker Broad |
|
Status: Offline |
|
|
broadblues
| |
Re: Updated AmigaOne v2.6.18 kernel with onboard sound support Posted on 24-Jul-2009 18:49:55
| | [ #12 ] |
|
|
|
Amiga Developer Team |
Joined: 20-Jul-2004 Posts: 4447
From: Portsmouth England | | |
|
| @broadblues
Or you can use ffmpeg of course .... perhaps like so:
#!/bin/sh
exec ffmpeg -f video4linux2 -s 320x240 -r 30 -i /dev/video0 -b 500000 -y -t 00:10:00 test.mpg >/dev/null 2>&1 & echo "kill $!" >./stop_ffmpeg chmod 777 ./stop_ffmpeg
I used the above script via a combination of arexx and ssh to remotely capture this little clip, whilst recording the audio on my amigawith AudioEvultion then doing the titles and sincing with blender also under amigaos4
http://www.youtube.com/watch?v=9nvyR8MwtW4
Last edited by broadblues on 24-Jul-2009 at 06:54 PM.
_________________ BroadBlues On Blues BroadBlues On Amiga Walker Broad |
|
Status: Offline |
|
|
DL
| |
Re: Updated AmigaOne v2.6.18 kernel with onboard sound support Posted on 24-Jul-2009 22:25:51
| | [ #13 ] |
|
|
|
Regular Member |
Joined: 25-Aug-2003 Posts: 140
From: Unknown | | |
|
| @Geri
Way to go! I spent a large chunk of hours trying to get it working, without success, based on some code I got from the person who got the AmigaOS side working. His approach is the same, e.g., putting the IO addressses in the first 64k. I sure would like to see the sources for your fix. I could never properly wrangle setting the base addresses (for sound, SMB, etc.) below 64k without crashing. Looking forward to trying it out.
|
|
Status: Offline |
|
|
RacerX
| |
Re: Updated AmigaOne v2.6.18 kernel with onboard sound support Posted on 25-Jul-2009 2:16:39
| | [ #14 ] |
|
|
|
Super Member |
Joined: 21-Aug-2003 Posts: 1158
From: Parts Unknown, USA | | |
|
| @Geri
I think I've installed it correctly
bunzip2 -f linux-2.6.18.tar.bz2
Now how do I change the settings in Linux to use the on-board sound card?_________________ 'unfixed' A1XE, 512mb RAM, plug-in USB card, Sil 0680 IDE card, Radeon 9250, built-in sound, OS4.1 update 5. |
|
Status: Offline |
|
|
broadblues
| |
Re: Updated AmigaOne v2.6.18 kernel with onboard sound support Posted on 25-Jul-2009 4:09:20
| | [ #15 ] |
|
|
|
Amiga Developer Team |
Joined: 20-Jul-2004 Posts: 4447
From: Portsmouth England | | |
|
| @RacerX
try going to the gnome-control-panel and selecting the sound tab / icon (can also find it via the system / preferences menu).
There are various types of sound usage lsited and you can click on the popups to slect which card to use, or leave it on autselect. I don't have the chip so I don't know what name the onboard sound will show as, but this approach enables me to switch between my terratec phase 22 and my sb128 under linux. I think the gstreamer-properties prgram I mentioned above also allows you to select different audio sources / sinks. _________________ BroadBlues On Blues BroadBlues On Amiga Walker Broad |
|
Status: Offline |
|
|
Geri
| |
Re: Updated AmigaOne v2.6.18 kernel with onboard sound support Posted on 25-Jul-2009 7:40:25
| | [ #16 ] |
|
|
|
Elite Member |
Joined: 7-Oct-2003 Posts: 2038
From: ST/AT | | |
|
| @Hypex
Quote:
Hypex wrote: @Geri
That 0000:01:00.1 is probably the TV out buffer on the card. But, the TV out does work as long as I only see UBoot. |
I vaguely remember that it has something to do with dual head, but I'm not sure.
Quote:
Flawless CD booting, history buffer and screen pausing are on my wishlish. |
Looks like a new U-boot firmware is awaited eagerly! I would also like to see U-boot image decompression fixed, configurable image load address for the slbv2, flattened device tree support and hush shell interface.
Quote:
In this case I don't have the audio chip that I know of. |
Did you take a look at the motherboard or does it work under OS4? I still have one of these SigmaTel codec chips. I can send you one, if you want.
Quote:
That reminds me, should a webcam work out of the bix with Linux? I've got Cheese on my system, but when I plug in a web cam. nothing appears. |
An USB webcam is normally setup automatically by Linux. But I think I had to manually load the pwc driver, when I used my SPC900N on my A1 some time ago. Did you check, if the webcam is already supported by Linux v2.6.18?
Quote:
Another thing I can't work out is printing. My system doesn't seem to have any way to add a printer, last time I tried. Since I upgraded to Lenny a lot of stuff has been missing and my sources list isn't 100%! I've read when you plug a USB printer into Linux it detects it and sets up a driver. Nup, not here. |
Well, Linux should load the kernel drivers, but AFAIK you still have to manually setup the printer in CUPS. GNOME should be your friend here.
Quote:
Why does it tell me these things if the options don't work! |
Hmm, are you sure, you're using the new kernel image!? Note that it is named uImage-2.6.18 and not kernel-2.6.18.img anymore!_________________ A1SE: G3@600MHz, 2GB, 1GBit network card A1XE: G4@933MHz, 2GB, refitted AC'97 codec microA1: G3@800MHz, 1GB
- A1 Linux support - |
|
Status: Offline |
|
|
Geri
| |
Re: Updated AmigaOne v2.6.18 kernel with onboard sound support Posted on 25-Jul-2009 7:49:17
| | [ #17 ] |
|
|
|
Elite Member |
Joined: 7-Oct-2003 Posts: 2038
From: ST/AT | | |
|
| @broadblues
Quote:
broadblues wrote:
I used the above script via a combination of arexx and ssh to remotely capture this little clip, whilst recording the audio on my amigawith AudioEvultion then doing the titles and sincing with blender also under amigaos4
http://www.youtube.com/watch?v=9nvyR8MwtW4
|
Cool sound!
@DL
Quote:
DL wrote: @Geri
Way to go! I spent a large chunk of hours trying to get it working, without success, based on some code I got from the person who got the AmigaOS side working. His approach is the same, e.g., putting the IO addressses in the first 64k. I sure would like to see the sources for your fix. I could never properly wrangle setting the base addresses (for sound, SMB, etc.) below 64k without crashing. Looking forward to trying it out. |
I put the new patch file on amigaone-linux.sourceforge.net. The file that implements the quirks is arch/ppc/platforms/amigaone_quirks.c after you patched the linux kernel source code. This is just a intermediate solution, as I have to find a cleaner way to fixup the PCI resources for the official kernel tree.
BTW: Did you try out the official kernel source from www.kernel.org with AmigaOne support?Last edited by Geri on 25-Jul-2009 at 07:59 AM. Last edited by Geri on 25-Jul-2009 at 07:50 AM.
_________________ A1SE: G3@600MHz, 2GB, 1GBit network card A1XE: G4@933MHz, 2GB, refitted AC'97 codec microA1: G3@800MHz, 1GB
- A1 Linux support - |
|
Status: Offline |
|
|
Geri
| |
Re: Updated AmigaOne v2.6.18 kernel with onboard sound support Posted on 25-Jul-2009 7:56:12
| | [ #18 ] |
|
|
|
Elite Member |
Joined: 7-Oct-2003 Posts: 2038
From: ST/AT | | |
|
| @RacerX
Quote:
RacerX wrote: @Geri
I think I've installed it correctly
bunzip2 -f linux-2.6.18.tar.bz2
|
I'm not sure, if that does the right thing (at least the manpage for bunzip2 doesn't say that it also decompresses the tar archive).
I did it this way:
cd / tar -xjvf linux-2.6.18.tar.bz2
Please note that the name of the kernel image may have changed!_________________ A1SE: G3@600MHz, 2GB, 1GBit network card A1XE: G4@933MHz, 2GB, refitted AC'97 codec microA1: G3@800MHz, 1GB
- A1 Linux support - |
|
Status: Offline |
|
|
olegil
| |
Re: Updated AmigaOne v2.6.18 kernel with onboard sound support Posted on 25-Jul-2009 7:56:37
| | [ #19 ] |
|
|
|
Elite Member |
Joined: 22-Aug-2003 Posts: 5895
From: Work | | |
|
| @Geri
ATI dual head cards typically have an extra PCI device node just for identification purposed. It's not actually USED for anything. _________________ This weeks pet peeve: Using "voltage" instead of "potential", which leads to inventing new words like "amperage" instead of "current" (I, measured in A) or possible "charge" (amperehours, Ah or Coulomb, C). Sometimes I don't even know what people mean. |
|
Status: Offline |
|
|
Geri
| |
Re: Updated AmigaOne v2.6.18 kernel with onboard sound support Posted on 25-Jul-2009 8:01:03
| | [ #20 ] |
|
|
|
Elite Member |
Joined: 7-Oct-2003 Posts: 2038
From: ST/AT | | |
|
| @olegil
Thanks for the clarification! _________________ A1SE: G3@600MHz, 2GB, 1GBit network card A1XE: G4@933MHz, 2GB, refitted AC'97 codec microA1: G3@800MHz, 1GB
- A1 Linux support - |
|
Status: Offline |
|
|