snd_au8820 0000:01:04.0: BUG: , pos = 16386, buffer size = 16384, period size = 1024
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
alsa-driver (Ubuntu) |
Triaged
|
Low
|
Unassigned |
Bug Description
Kernel oops in a new installed system, that I configuring ...
ProblemType: KernelOops
DistroRelease: Ubuntu 16.04
Package: linux-image-
ProcVersionSign
Uname: Linux 4.4.0-8-generic i686
NonfreeKernelMo
Annotation: Your system might become unstable now and might need to be restarted.
ApportVersion: 2.20-0ubuntu3
Architecture: i386
AudioDevicesInUse:
USER PID ACCESS COMMAND
/dev/snd/
/dev/snd/
Date: Mon Feb 29 00:00:56 2016
Failure: oops
HibernationDevice: RESUME=
InstallationDate: Installed on 2016-02-28 (0 days ago)
InstallationMedia: Lubuntu 16.04 LTS "Xenial Xerus" - Alpha i386 (20160226)
IwConfig:
enp31s0 no wireless extensions.
lo no wireless extensions.
MachineType: Hewlett-Packard HP xw8400 Workstation
ProcFB:
ProcKernelCmdLine: BOOT_IMAGE=
PulseList: Error: command ['pacmd', 'list'] failed with exit code 1: No PulseAudio daemon running, or not running as session daemon.
RelatedPackageV
RfKill:
SourcePackage: linux
Title: snd_au8820 0000:01:04.0: BUG: , pos = 16386, buffer size = 16384, period size = 1024
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 07/09/2009
dmi.bios.vendor: Hewlett-Packard
dmi.bios.version: 786D5 v02.37
dmi.board.name: 0A08h
dmi.board.vendor: Hewlett-Packard
dmi.board.version: NA
dmi.chassis.
dmi.chassis.type: 6
dmi.chassis.vendor: Hewlett-Packard
dmi.modalias: dmi:bvnHewlett-
dmi.product.name: HP xw8400 Workstation
dmi.sys.vendor: Hewlett-Packard
sudodus (nio-wiklund) wrote : | #1 |
- AlsaInfo.txt Edit (44.0 KiB, text/plain; charset="utf-8")
- CRDA.txt Edit (422 bytes, text/plain; charset="utf-8")
- CurrentDmesg.txt Edit (59.2 KiB, text/plain; charset="utf-8")
- Dependencies.txt Edit (2.5 KiB, text/plain; charset="utf-8")
- JournalErrors.txt Edit (8.2 KiB, text/plain; charset="utf-8")
- Lspci.txt Edit (50.6 KiB, text/plain; charset="utf-8")
- Lsusb.txt Edit (371 bytes, text/plain; charset="utf-8")
- OopsText.txt Edit (1.1 KiB, text/plain; charset="utf-8")
- ProcCpuinfo.txt Edit (3.1 KiB, text/plain; charset="utf-8")
- ProcInterrupts.txt Edit (2.4 KiB, text/plain; charset="utf-8")
- ProcModules.txt Edit (2.4 KiB, text/plain; charset="utf-8")
- UdevDb.txt Edit (163.4 KiB, text/plain; charset="utf-8")
- WifiSyslog.txt Edit (81.0 KiB, text/plain; charset="utf-8")
Brad Figg (brad-figg) wrote : Status changed to Confirmed | #2 |
Changed in linux (Ubuntu): | |
status: | New → Confirmed |
Changed in linux (Ubuntu): | |
importance: | Undecided → Critical |
tags: | added: bios-outdated-2.38 |
Changed in linux (Ubuntu): | |
importance: | Critical → Low |
status: | Confirmed → Incomplete |
sudodus (nio-wiklund) wrote : | #4 |
Thank you for working with this bug :-)
But I must admit, that I don't understand what is the problem. Except from the automatic prompting for bug reports, I do not notice any problem. The computer run happily like it has been running with older versions of Lubuntu and Xubuntu.
And since I see no problem, I am scared of flashing a new BIOS. I have no UPS, so with bad luck, I think I could brick my old workstation.
I know (I read the wiki page) that I should be brave and flash the BIOS, but ...
Please explain the bug, and what I would improve by getting rid of it :-)
sudodus (nio-wiklund) wrote : | #5 |
I upgraded to a new kernel today and it works well. No kernel oops during normal operation.
I started a virtual machine in VirtualBox - still no kernel oops. I closed the virtual machine, and then there was a kernel oops, bug report #1554980
But I notice no other problem (than prompting the bug report). I'm still thinking like this: 'If it ain't broke, don't fix it' and I hesitate to tamper with the BIOS.
Raymond (superquad-vortex2) wrote : | #6 |
snd_au8820 0000:01:04.0: BUG: , pos = 16386, buffer size = 16384, period size = 1024 snd_au8820 0000:01:04.0: BUG: , pos = 16386, buffer size = 16384, period size = 1024
Any steps to reprodcue these message
https:/
This mean snd_vortex_
most likely bug in vortex_
Do the error ocurr on other ubuntu version 14.04 or 12.04 live cd?
affects: | linux (Ubuntu) → alsa-driver (Ubuntu) |
sudodus (nio-wiklund) wrote : | #7 |
I have been running 12.04 LTS i386 (the precise kernel series) for years in this hp xw8400 workstation without any such problem (including VirtualBox).
I have been running 12.04 LTS amd64 and 14.04 LTS, both i386 and amd64 (the precise kernel series) less frequently for years in this hp xw8400 workstation without any such problem (including VirtualBox, I used an amd64 system as host for amd64 guest systems in VirtualBox.)
I will try to boot from live USB drives.
- What iso files do you want me to clone into boot drives?
- And what tasks do you want me to perform in the live systems?
sudodus (nio-wiklund) wrote : | #8 |
I should mention that I have installed pulseaudio and pavucontrol and use them to manage audio. Does this make a difference concerning ALSA?
Raymond (superquad-vortex2) wrote : | #9 |
https:/
Your problem is pointer callback return a value which is larger than buffer size
If this is regression , you may need to perform git bisect to find out the related patch
or
revert this patches
Raymond (superquad-vortex2) wrote : | #10 |
It is not related to the above two patch if your au8820 still work without the error on ubuntu 14.4 live cd
sudodus (nio-wiklund) wrote : | #11 |
Maybe I understand what you mean, but I don't know what to do :-)
Which iso file?
Ubuntu 14.04.1 LTS - trusty kernel
Ubuntu 14.04 2 LTS - utopic kernel
Ubuntu 14.04.3 LTS - vivid kernel
Ubuntu 14.04.4 LTS - wily kernel
and since I have the problem in i386 architecture I suppose I should use the same for testing with an iso file.
My audio is working now (although I get these kernel oops prompts to file bug reports).
Raymond (superquad-vortex2) wrote : | #12 |
ALSA: pcm: Correct PCM BUG error message
While converting to dev_*(), the message showing the invalid PCM
position was wrongly tagged as if an XRUN although it's actually a
BUG. This patch corrects the message again.
@@ -345,7 +345,7 @@ static int snd_pcm_
snd_
xrun_
pcm_
- "XRUN: %s, pos = %ld, buffer size = %ld, period size = %ld\n",
+ "BUG: %s, pos = %ld, buffer size = %ld, period size = %ld\n",
name, pos, runtime-
runtime-
}
Raymond (superquad-vortex2) wrote : | #13 |
Do the message appear in every application or occur everytime when playing sound?
aplay -D hw:CARD=AU8820 anystereo.wav
speaker-test -c2 -t wav -D hw:CARD=AU8820
sudodus (nio-wiklund) wrote : | #14 |
These commands do not work:
--
$ aplay -D hw:CARD=AU8820 ./test/test0/'hello world.wav' # which is a real file that works with mplayer
ALSA lib pcm_hw.
aplay: main:722: fel vid öppning av ljud: Enheten finns inte
$ speaker-test -c2 -t wav -D hw:CARD=AU8820
speaker-test 1.1.0
Uppspelningsenhet är hw:CARD=AU8820
Strömparametrar är 48000 Hz, S16_LE, 2 kanaler
WAV-fil(er)
ALSA lib pcm_hw.
Fel vid öppning av uppspelningsenhet: -19, Enheten finns inte
--
But I can play with espeak, and I can play music with for example mplayer without any more complaints about kernel oops, and it works with 2 channels
'AUDIO: 48000 Hz, 2 ch, floatle, 384.0 kbit/12.50% (ratio: 48000->384000)
AO: [pulse] 48000Hz 2ch floatle (4 bytes per sample)' as illustrated here:
--
$ mplayer Halleluja-15_c.mp4
MPlayer2 2.0-728-
[ass] Shaper: FriBidi 0.19.7 (SIMPLE) HarfBuzz-ng 1.0.1 (COMPLEX)
[ass] Using font provider fontconfig
Cannot open file '/home/
Failed to open /home/olle/
Cannot open file '/etc/mplayer/
Failed to open /etc/mplayer/
Playing Halleluja-15_c.mp4.
Detected file format: QuickTime / MOV (libavformat)
[lavf] stream 0: video (h264), -vid 0
[lavf] stream 1: audio (ac3), -aid 0, -alang und
[ass] Shaper: FriBidi 0.19.7 (SIMPLE) HarfBuzz-ng 1.0.1 (COMPLEX)
[ass] Using font provider fontconfig
Clip info:
major_brand: isom
minor_version: 512
compatible_brands: isomiso2avc1mp41
creation_time: 1970-01-01 00:00:00
encoder: Lavf53.3.0
Load subtitles in .
Selected video codec: H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 [libavcodec]
Selected audio codec: ATSC A/52A (AC-3) [libavcodec]
AUDIO: 48000 Hz, 2 ch, floatle, 384.0 kbit/12.50% (ratio: 48000->384000)
AO: [pulse] 48000Hz 2ch floatle (4 bytes per sample)
Starting playback...
VIDEO: 720x576 25.000 fps 2047.4 kbps (255.9 kB/s)
Aspect ratio is 1.33:1 - scaling to correct movie aspect.
VO: [vdpau] 720x576 => 768x576 Planar YV12
[vdpau] Got display refresh rate 60.000 Hz.
[vdpau] If that value looks wrong give the -vo vdpau:fps=X suboption manually.
A: 47.2 V: 47.2 A-V: 0.000 ct: 0.000 0/ 0 0% 1% 0.4% 0 0
--
sudodus (nio-wiklund) wrote : | #15 |
There is a damaged onboard audio device. There is also an audio device built into the graphics card, but I don't use hdmi.
This is the reason why I use the old Aureal Vortex 1 card (au 8820). Could the damaged onboard audio device cause some confusion?
sudodus (nio-wiklund) wrote : | #16 |
aplay ./test/test0/'hello world.wav'
and
speaker-test -c2 -t wav
work correctly (through the Aureal device) without your explicit specification.
'Front left' 'Front right' ... is put out from the correct loudspeakers :-)
They work without 'complaints'.
But it seems that when I have the pavucontrol settings menu open, there are 'complaints' alias prompts to file bug reports about kernel oops. (I have seen it three times, so it seems repeatable.)
Raymond (superquad-vortex2) wrote : | #17 |
Should use au8820 instead of AU8820 when using aplay and speaker-test
Do device 3 of au8820 work or not? never work on au8830
hw:CARD=au8820,3
Raymond (superquad-vortex2) wrote : | #18 |
http://
You can use hwmixvolume to change the playback volume of each application which use hw device of au8820
It allow up to 8 stereo streams or 16 mono streams
card 1: au8820 [Aureal Vortex au8820], device 0: Aureal Vortex ADB [au8820 adb] Subdevices: 16/16 Subdevice #0: subdevice #0 Subdevice #1: subdevice #1 Subdevice #2: subdevice #2 Subdevice #3: subdevice #3 Subdevice #4: subdevice #4 Subdevice #5: subdevice #5 Subdevice #6: subdevice #6 Subdevice #7: subdevice #7 Subdevice #8: subdevice #8 Subdevice #9: subdevice #9 Subdevice #10: subdevice #10 Subdevice #11: subdevice #11 Subdevice #12: subdevice #12 Subdevice #13: subdevice #13 Subdevice #14: subdevice #14 Subdevice #15: subdevice #15
Raymond (superquad-vortex2) wrote : | #19 |
How often do the message appear in system log? (BUG 16.04 or XRUN before 14.04)
it mean the value return is larger than buffer size or the interrupt is not handled properly
static inline int vortex_
Raymond (superquad-vortex2) wrote : | #20 |
dev_info(
Do you find the above info in system log when you specify small fragment
--period-size=16 when using aplay
Raymond (superquad-vortex2) wrote : | #21 |
sudodus (nio-wiklund) wrote : | #22 |
Last night I shut down the computer. This morning, when I cold booted it and logged in, I was spammed with around ten prompts to file bug reports about kernel oops (at once, not after starting any application program). But still the audio works like it should (playing video and running your test command lines).
--
'Should use au8820 instead of AU8820 when using aplay and speaker-test'
Yes, it works with lower case au8820 :-)
'Do device 3 of au8820 work or not? never work on au8830
hw:CARD=au8820,3'
I don't know if there is a third device of au8820. Anyway,
$ aplay -D hw:CARD=au8820,2 /media/
aplay: main:722: fel vid öppning av ljud: Filen eller katalogen finns inte
- no such file
$ aplay -D hw:CARD=au8820,1 /media/
aplay: main:722: fel vid öppning av ljud: Filen eller katalogen finns inte
- no such file
$ aplay -D hw:CARD=au8820 /media/
Spelar upp WAVE '/media/
- playing like it should
$ aplay -D hw:CARD=au8820,3 /media/
Spelar upp WAVE '/media/
^CAvbruten av signal Avbruten (SIGINT)...
aplay: pcm_write:1940: skrivfel: In/ut-fel
- no complaint: 'no such file', just silent until I stop it with ctrl C.
--
So far there are no more kernel oops complaints ...
sudodus (nio-wiklund) wrote : | #23 |
'You can use hwmixvolume to change the playback volume of each application which use hw device of au8820'
I use pavucontrol, and yes, I can change the playback volume also of each individual channel (left and right).
Do you want me to test something else?
sudodus (nio-wiklund) wrote : | #24 |
'How often do the message appear in system log? (BUG 16.04 or XRUN before 14.04)
it mean the value return is larger than buffer size or the interrupt is not handled properly'
Please tell me which log file I should look into, and which string to look for! Maybe I can use grep.
--
'dev_info(
Do you find the above info in system log when you specify small fragment
--period-size=16 when using aplay'
Please tell me which log file I should look into (the file name of it)!
sudodus (nio-wiklund) wrote : | #25 |
Directly at login after reboot I had many prompts to send a bug report about kernel oops. I tried to count them. think this report is responding to the 26th prompt to send a bug report, and a few seconds later there was one more prompt to send a bug report.
The above event created the bug report #1555487
--
Before this reboot and login, I had started to suspect than the Aureal sound card is starting to fail, so I rebooted into
1. The old Precise system with the 3.2.0-97-
2. The newer Trusty system with the 4.4.0-11-generic kernel
--
$ uname -a
Linux xw8400 3.13.0-79-generic #123-Ubuntu SMP Fri Feb 19 14:27:58 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
--
Both of these systems work well. There is no sign of failure of the Aureal sound card, and there are no kernel oops.
sudodus (nio-wiklund) wrote : | #26 |
Correction:
2. The newer Trusty system with the 3.13.0-79-generic kernel
sudodus (nio-wiklund) wrote : | #27 |
Please tell me which log file I should look into (the file name of it)!
Raymond (superquad-vortex2) wrote : | #28 |
The wavetable is not implememted since dma since not start for au8830
card 1: au8820 [Aureal Vortex au8820], device 3: Aureal Vortex WT [au8820 wt] Subdevices: 32/32 Subdevice #0: subdevice #0 Subdevice #1: subdevice #1 Subdevice #2: subdevice #2 Subdevice #3: subdevice #3 Subdevice #4: subdevice #4 Subdevice #5: subdevice #5 Subdevice #6: subdevice #6 Subdevice #7: subdevice #7 Subdevice #8: subdevice #8 Subdevice #9: subdevice #9 Subdevice #10: subdevice #10 Subdevice #11: subdevice #11 Subdevice #12: subdevice #12 Subdevice #13: subdevice #13 Subdevice #14: subdevice #14 Subdevice #15: subdevice #15 Subdevice #16: subdevice #16 Subdevice #17: subdevice #17 Subdevice #18: subdevice #18 Subdevice #19: subdevice #19 Subdevice #20: subdevice #20 Subdevice #21: subdevice #21 Subdevice #22: subdevice #22 Subdevice #23: subdevice #23 Subdevice #24: subdevice #24 Subdevice #25: subdevice #25 Subdevice #26: subdevice #26 Subdevice #27: subdevice #27 Subdevice #28: subdevice #28 Subdevice #29: subdevice #29 Subdevice #30: subdevice #30 Subdevice #31: subdevice #31
Raymond (superquad-vortex2) wrote : | #29 |
System log
dmesg
Look for "virt" or "delta" when you use aplay with small period size, the sound card has four subbuffer for each playback stream
sudodus (nio-wiklund) wrote : | #30 |
No output to /var/log/dmesg
I am listening to a broadcasting track at the same time. A minute after this aplay test was finished, I had an new prompt to file a bug report about a kernel oops. But there is still nothing in /var/log/dmesg
--
$ while true; do aplay -D hw:CARD=au8820 /media/
Spelar upp WAVE '/media/
(Nothing has been logged yet.)
Spelar upp WAVE '/media/
(Nothing has been logged yet.)
Spelar upp WAVE '/media/
(Nothing has been logged yet.)
Spelar upp WAVE '/media/
(Nothing has been logged yet.)
Spelar upp WAVE '/media/
(Nothing has been logged yet.)
Spelar upp WAVE '/media/
(Nothing has been logged yet.)
Spelar upp WAVE '/media/
(Nothing has been logged yet.)
Spelar upp WAVE '/media/
(Nothing has been logged yet.)
Spelar upp WAVE '/media/
(Nothing has been logged yet.)
Spelar upp WAVE '/media/
(Nothing has been logged yet.)
Spelar upp WAVE '/media/
(Nothing has been logged yet.)
Spelar upp WAVE '/media/
(Nothing has been logged yet.)
Spelar upp WAVE '/media/
(Nothing has been logged yet.)
Spelar upp WAVE '/media/
(Nothing has been logged yet.)
Spelar upp WAVE '/media/
(Nothing has been logged yet.)
Spelar upp WAVE '/media/
(Nothing has been logged yet.)
Spelar upp WAVE '/media/
(Nothing has been logged yet.)
Spelar upp WAVE '/media/
(Nothing has been logged yet.)
Spelar upp WAVE '/media/
(Nothing has been logged yet.)
Spelar upp WAV...
Raymond (superquad-vortex2) wrote : | #31 |
/* pointer callback */
static snd_pcm_uframes_t snd_vortex_
{
vortex_t *chip = snd_pcm_
stream_t *stream = (stream_t *) substream-
int dma = stream->dma;
snd_pcm_uframes_t current_ptr = 0;
spin_lock(
if (VORTEX_
#ifndef CHIP_AU8810
else current_ptr = vortex_
#endif
//printk(KERN_INFO "vortex: pointer = 0x%x\n", current_ptr); spin_unlock(
return (bytes_
It mean current_ptr is incorrect when return value is greater than buffer size
Raymond (superquad-vortex2) wrote : | #32 |
sudodus (nio-wiklund) wrote : | #33 |
Please bear with me. It was long ago that I was programming compiled languages. And it was application programs simulating physical processes. I was never near the kernel of any operating system.
I think you have to explain in a very detailed way, you you want me to do things from source code ;-)
Raymond (superquad-vortex2) wrote : | #34 |
The dirty hack is to ensure current_ptr is less than buffer size in the above routine
sudodus (nio-wiklund) wrote : | #35 |
I see. Will you upload a compiled version of it for testing?
Raymond (superquad-vortex2) wrote : | #36 |
You have to recompile alsa driver by adding
if (current_ptr > runtime-
current_ptr = runtime-
Raymond (superquad-vortex2) wrote : | #37 |
dmesg is the command which show the system log similar to
Raymond (superquad-vortex2) wrote : | #38 |
http://
you can try Alexander's pcm_avail.c and post the output using your au8820
It is rather strange that only 2 frames since dma transfer in brust
Raymond (superquad-vortex2) wrote : | #39 |
[11.080876] snd_au8820 0000:01:04.0: init started snd_au8820 0000:01:04.0: init.... done.
[ 11.837183] gameport gameport0: AU88x0 Gameport is pci0000:
in theory, you should look for au8820 in system log since those dev_info also print the dev name
Raymond (superquad-vortex2) wrote : | #40 |
Can you post output for your au8820 pci ssid 12eb:0001
do it support D3?
lspci -vvvv
[ 0.244875] pci 0000:01:04.0: [12eb:0001] type 00 class 0x040100
[ 0.244898] pci 0000:01:04.0: reg 0x10: [mem 0xfb100000-
[ 0.244908] pci 0000:01:04.0: reg 0x14: [io 0x2000-0x2007]
[ 0.244917] pci 0000:01:04.0: reg 0x18: [io 0x2008-0x200f]
[ 0.244971] pci 0000:01:04.0: supports D2
sudodus (nio-wiklund) wrote : | #41 |
- lspci-vvvv.txt Edit (22.8 KiB, text/plain)
I have not rebooted after my previous comments (and the test with aplay).
Now I can give you better feedback :-)
olle@xenial32 ~ $ dmesg|wc -c
64123
olle@xenial32 ~ $ dmesg|grep -i au88
[ 12.021036] snd_au8820 0000:01:04.0: init started
[ 12.777390] snd_au8820 0000:01:04.0: init.... done.
[ 12.812621] gameport gameport0: AU88x0 Gameport is pci0000:
[ 1851.807772] snd_au8820 0000:01:04.0: BUG: , pos = 16388, buffer size = 16384, period size = 1024
[ 1874.676798] snd_au8820 0000:01:04.0: BUG: , pos = 16385, buffer size = 16384, period size = 1024
[ 2237.851784] snd_au8820 0000:01:04.0: BUG: , pos = 16384, buffer size = 16384, period size = 1024
[ 2428.313947] snd_au8820 0000:01:04.0: BUG: , pos = 16387, buffer size = 16384, period size = 1024
[ 2553.923292] snd_au8820 0000:01:04.0: BUG: , pos = 16385, buffer size = 16384, period size = 1024
[ 2588.056299] snd_au8820 0000:01:04.0: BUG: , pos = 16385, buffer size = 16384, period size = 1024
[ 2596.930892] snd_au8820 0000:01:04.0: BUG: , pos = 16386, buffer size = 16384, period size = 1024
[ 2687.724641] snd_au8820 0000:01:04.0: BUG: , pos = 16387, buffer size = 16384, period size = 1024
[ 3117.800141] snd_au8820 0000:01:04.0: BUG: , pos = 16387, buffer size = 16384, period size = 1024
[ 3639.693323] snd_au8820 0000:01:04.0: BUG: , pos = 16384, buffer size = 16384, period size = 1024
What details do you want?
sudodus (nio-wiklund) wrote : | #42 |
I added the output for the command with sudo to get the capabilities:
$ sudo lspci -vvvv |grep -A16 Multimedia
01:04.0 Multimedia audio controller: Aureal Semiconductor Vortex 1 (rev 02)
Subsystem: Voyetra Technologies Montego
Physical Slot: 1
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 32 (500ns min, 3000ns max), Cache Line Size: 64 bytes
Interrupt: pin A routed to IRQ 16
Region 0: Memory at fb100000 (32-bit, non-prefetchable) [size=128K]
Region 1: I/O ports at 2000 [size=8]
Region 2: I/O ports at 2008 [size=8]
Capabilities: [dc] Power Management version 1
Flags: PMEClk- DSI+ D1- D2+ AuxCurrent=0mA PME(D0-
Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
Kernel driver in use: snd_au8820
Kernel modules: snd_au8820
01:05.0 FireWire (IEEE 1394): Texas Instruments TSB43AB22A IEEE-1394a-2000 Controller (PHY/Link) [iOHCI-Lynx] (prog-if 10 [OHCI])
sudodus (nio-wiklund) wrote : | #43 |
'You have to recompile alsa driver by adding
if (current_ptr > runtime-
current_ptr = runtime-
--
'http://
you can try Alexander's pcm_avail.c and post the output using your au8820
It is rather strange that only 2 frames since dma transfer in brust'
--
I must admit that I don't know what to do with these comments.
Raymond (superquad-vortex2) wrote : | #44 |
http://
For pcm_avail.c
You need to install libasound2-dev and gcc
sudo apt-get install libasound2-dev
gcc pcm_avail.c -o pcm_avail -l asound
./pcm_avail
sudodus (nio-wiklund) wrote : | #45 |
It complains:
pcm_avail.c:5:23: fatal error: asoundlib.h: no such file
I guess I need some library?
Raymond (superquad-vortex2) wrote : | #46 |
Did his program use #include <alsa/asoundlib.h> similar to aplay.c?
http://
Raymond (superquad-vortex2) wrote : | #47 |
Are you the kernel oops is related to au8820 since it just flooding the system log with BUGS message but no seg fault or dump
it is strange that your bug report did not have pulselist or pulseaudio log
sudodus (nio-wiklund) wrote : | #48 |
It should be there:
sudo apt-get install libasound2-dev
Läser paketlistor… Färdig
Bygger beroendeträd
Läser tillståndsinfor
libasound2-dev is already the newest version (1.1.0-0ubuntu1).
Följande paket har installerats automatiskt och är inte längre nödvändiga:
kubuntu-
Använd ”sudo apt autoremove” för att ta bort dem.
0 att uppgradera, 0 att nyinstallera, 0 att ta bort och 0 att inte uppgradera.
Are there problems with different real path and expected path?
sudodus (nio-wiklund) wrote : | #49 |
No, I changed it according to your tips and could compile without complaints.
/* #include <asoundlib.h> */
#include <alsa/asoundlib.h>
$ l
totalt 24
-rwxrwxr-x 1 olle olle 39 mar 10 15:06 maker
-rwxrwxr-x 1 olle olle 13240 mar 10 16:02 pcm_avail
-rw-rw-r-- 1 olle olle 3703 mar 10 16:02 pcm_avail.c
olle@xenial32 /media/
Playback open error: No such file or directory
Now what?
sudodus (nio-wiklund) wrote : | #50 |
'Are you the kernel oops is related to au8820 since it just flooding the system log with BUGS message but no seg fault or dump
it is strange that your bug report did not have pulselist or pulseaudio log'
No I'm not sure at all. It says 'snd_au8820' in the automatically created bug report, but I do not understand what it happening :-P
Raymond (superquad-vortex2) wrote : | #51 |
sudodus (nio-wiklund) wrote : | #52 |
I see: 'The kerneloops-daemon scans dmesg for common crash signatures, among which is 'BUG:'. The message emitted by the PCM library is really a warning, so the most expedient thing to do seems to be to change the string.'
Yes, this might be the problem :-)
Can you help getting rid of it (how to implement it)?
Raymond (superquad-vortex2) wrote : | #53 |
You have to send email to the author and commiter since flooding the system log with message is useless
sudodus (nio-wiklund) wrote : | #54 |
Thank you very much for investigating this issue, Raymond :-)
sudodus (nio-wiklund) wrote : | #55 |
I have written directly to the author and committer, but also made a comment in their old bug report.
https:/
Raymond (superquad-vortex2) wrote : | #56 |
His program hardcode to use card 0, you have to change the card number if ypur au8820 is card 1
or change the order of your two cards by adding specify card number for the two drivers in /etc/modprobe.
sudodus (nio-wiklund) wrote : | #57 |
Raymond,
The committer, Takashi Iwai, decided to help us. Can you use this patch (and help me test it) :-)
Nio
-----
OK, I see why this bogus report reappears again. The message tag was
reverted back after some commit for correctness.
Now I rephrased the text again so that it won't hit some stupid daemon
any longer. It'll be included in 4.6 kernel, and then backported to
stable kernels later.
But, note that this doesn't fix the issue. For a proper fix, a patch
like below would be needed. Let me know if this works for you. (But
I have no idea about Ubuntu, so I cannot tell you how to apply the
patch, ask other Ubuntu people about it
Takashi
-- 8< --
From: Takashi Iwai at SUSE
Subject: [PATCH] ALSA: au88x0: Fix overlapped PCM pointer
au88x0 hardware seems returning the current pointer at the buffer
boundary instead of going back to zero. This results in spewing
warnings from PCM core.
This patch corrects the return value from the pointer callback within
the proper value range, just returning zero if the position is equal
or above the buffer size.
Signed-off-by: Takashi Iwai at SUSE
---
sound/
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/sound/
index a6d6d8d0867a.
--- a/sound/
+++ b/sound/
@@ -432,7 +432,10 @@ static snd_pcm_uframes_t snd_vortex_
#endif
//printk(
spin_
- return (bytes_
+ current_ptr = bytes_to_
+ if (current_ptr >= substream-
+ current_ptr = 0;
+ return current_ptr;
}
/* operators */
--
2.7.2
penalvch (penalvch) wrote : | #58 |
sudodus, patch test instructions may be found at https:/
Raymond (superquad-vortex2) wrote : | #59 |
There will be volume slider(hardware per stream volume control) for each application if the application use hw instead of pulse
pavucontrol provide sofware per stream volume control
Raymond (superquad-vortex2) wrote : | #60 |
Each subdevice has its own volume control
control.59 { iface PCM name 'PCM Playback Volume' value.0 0 value.1 0 comment { access 'read write inactive' type INTEGER count 2 range '-128 - 32' dbmin -9600 dbmax 2400 dbvalue.0 0 dbvalue.1 0 } }
control.60 { iface PCM subdevice 1 name 'PCM Playback Volume' value.0 0 value.1 0 comment { access 'read write inactive' type INTEGER count 2 range '-128 - 32' dbmin -9600 dbmax 2400 dbvalue.0 0 dbvalue.1 0 } }
control.61 { iface PCM subdevice 2 name 'PCM Playback Volume' value.0 0 value.1 0 comment { access 'read write inactive' type INTEGER count 2 range '-128 - 32' dbmin -9600 dbmax 2400 dbvalue.0 0 dbvalue.1 0 } }
control.62 { iface PCM subdevice 3 name 'PCM Playback Volume' value.0 0 value.1 0 comment { access 'read write inactive' type INTEGER count 2 range '-128 - 32' dbmin -9600 dbmax 2400 dbvalue.0 0 dbvalue.1 0 } }
control.63 { iface PCM subdevice 4 name 'PCM Playback Volume' value.0 0 value.1 0 comment { access 'read write inactive' type INTEGER count 2 range '-128 - 32' dbmin -9600 dbmax 2400 dbvalue.0 0 dbvalue.1 0 } }
control.64 { iface PCM subdevice 5 name 'PCM Playback Volume' value.0 0 value.1 0 comment { access 'read write inactive' type INTEGER count 2 range '-128 - 32' dbmin -9600 dbmax 2400 dbvalue.0 0 dbvalue.1 0 } } control.65 { iface PCM subdevice 6 name 'PCM Playback Volume' value.0 0 value.1 0 comment { access 'read write inactive' type INTEGER count 2 range '-128 - 32' dbmin -9600 dbmax 2400 dbvalue.0 0 dbvalue.1 0 } } control.66 { iface PCM subdevice 7 name 'PCM Playback Volume' value.0 0 value.1 0 comment { access 'read write inactive' type INTEGER count 2 range '-128 - 32' dbmin -9600 dbmax 2400 dbvalue.0 0 dbvalue.1 0 } }
sudodus (nio-wiklund) wrote : Re: [Bug 1551041] Re: snd_au8820 0000:01:04.0: BUG: , pos = 16386, buffer size = 16384, period size = 1024 | #61 |
Den 2016-03-11 kl. 02:22, skrev Raymond:
> There will be volume slider(hardware per stream volume control) for each
> application if the application use hw instead of pulse
>
> pavucontrol provide sofware per stream volume control
>
Both would be OK for me. But I have learned to use pavucontrol. I don't
understand the ALSA interface (I have failed to find hardware devices
(unless found automatically) and failed to make them work, unless I
install pulseaudio and pavucontrol).
sudodus (nio-wiklund) wrote : | #62 |
I don't understand how to use comment #60.
Raymond (superquad-vortex2) wrote : | #63 |
Run two alsa applications which using hw device, hwmixvolume allow you to change the subdevice PCM volume controls which dB range allow gain in addition to attenuation
For any pulse application, it just control by the subdevice opened by pulseaudio server
The hardware mixed signal are pass through your ac97 codec mixer, pcm playback and master volume for all applications
sudodus (nio-wiklund) wrote : | #64 |
So using the ALSA tools, it is possible to have a better control of the audio, it provides a more advanced mixer. Maybe that is why it is also more difficult to learn :-)
-o-
I will scan the previous few comments and try to perform some tasks, that I might have overlooked. Please remind me, if there is a task that I should do and report, to make it possible for you to continue debugging!
Raymond (superquad-vortex2) wrote : | #65 |
Card numer can be specified by module parameter "index"
Module: snd_hda_intel align_buffer_size : -1 bdl_pos_adj : 32,-1,-
sudodus (nio-wiklund) wrote : | #66 |
- pcm_avail.out Edit (31.3 KiB, text/plain)
I ran pcm_avail after changing to device #1
/* const char* device = "hw:0"; */
const char* device = "hw:1";
and re-compiling.
I redirected the error output to the attached file.
Raymond (superquad-vortex2) wrote : | #67 |
the differnce between successive output are almost 5 frames
The only bad thing
ptr is not always at period boundary 1024, 2048, 3072 and 4096
Raymond (superquad-vortex2) wrote : | #68 |
You may need to dump mmio VORTEX_SMP_TIME which is tick at 48000 * 256 Hz (what is the clock printed at the oscillator on your au8820 sound card) to find out the elapsed time between periods is correct or not
- return (bytes_
+ current_ptr = bytes_to_
+ if (current_ptr >= substream-
+ dev_info(
+ current_ptr = 0;
+ }
+ return current_ptr;
Raymond (superquad-vortex2) wrote : | #69 |
The oscillator is the silver metal component just above the au8820 chip of your montego card
Raymond (superquad-vortex2) wrote : | #70 |
no need to perform git bisect since you already know the reason of kernel ops is due to "BUG:"
Do ubuntu allow user just build alsa driver as module instead of recompile the whole kernel
https:/
https:/
Raymond (superquad-vortex2) wrote : | #71 |
http://
You need to install many packages in order to build alsa driver
git, autoconf, kernel-header,....
You need to rebuild the alsa driver whenever kernel change
sudodus (nio-wiklund) wrote : | #72 |
I have been away from the keyboard for a few hours. It is nice weather, so nice outdoors here today :-)
Would you say it is meaningful to build a new alsa driver (even if it is means installing many packages?
If that is the case, should I do it in a separate system (to avoid damaging the current system)? I have a multiboot system already.
Or should I just press alt + F4 to get rid of the windows that want me to file bug reports until the fix promised by Takashi Iwai will trickle down to my system?
sudodus (nio-wiklund) wrote : | #73 |
Raymond,
I can re-phrase the question like this:
Do you want to fix the alsa-driver to eliminate the problem with the pointer? In that case I am willing to help testing it :-)
Otherwise I can wait for the fix, where the string 'BUG' is replaced with 'XRUN'
- "BUG: %s, pos = %ld, buffer size = %ld, period size = %ld\n",
+ "XRUN: %s, pos = %ld, buffer size = %ld, period size = %ld\n",
Raymond (superquad-vortex2) wrote : | #74 |
This patch only prevent kerneloops pop up, your system log still flooding with invalid position message every 0.371 second (assume once per buffer time) when playing audio
sudodus (nio-wiklund) wrote : | #75 |
Yes, I understand.
tags: | added: cherry-pick |
Changed in alsa-driver (Ubuntu): | |
status: | Incomplete → Triaged |
Raymond (superquad-vortex2) wrote : | #76 |
Can you post the output of pcm_avail.c when using rate 44100 Hz instead of 48000Hz?
print the time at the same time to check whether the ptr is monotically increasing as expected rate
Raymond (superquad-vortex2) wrote : | #77 |
Time diffenece between successive output and frames difference will tell you whether the card is accurate enoung for pulseaudio timer scheduling
Raymond (superquad-vortex2) wrote : | #78 |
sudodus (nio-wiklund) wrote : | #79 |
- pcm_avail_44100.out Edit (31.3 KiB, text/plain)
'Can you post the output of pcm_avail.c when using rate 44100 Hz instead of 48000Hz?
print the time at the same time to check whether the ptr is monotically increasing as expected rate'
I attach a file with the specified rate. I don't know/remember C well enough, so I need your help to print the time (in a new attempt).
Raymond (superquad-vortex2) wrote : | #80 |
As there is no datasheet, we can only follow the patent description
https:/
FIG. 15c is a diagrammatic block diagram of a mode register 382 of sub-buffer table 380(3) of FIG. 15b. Mode register 382 includes a check for fault flag 382(a), a had fault flag 382(b), a data format register 382(c), a read/write flag 382(d), an interrupt enable flag 382(e) and a current position register 382(f).
Based upon the current sub-buffer and information about the previous value of the current sub-buffer table the CPU can determine that the peripheral has moved on to the next data segment. CPU 210 may then update the sub-buffer table.
Current position register 382(f) is initially set by CPU 210 when the DMA channel is first established to indicate where to begin reading (or writing) data 150 from main memory 212 within the current data segment (e.g., 150(3)). During the process of retrieving data 150 from main memory 212, DMA engine 372 keeps track of the next location to be read from in the current data segment (e.g., 150(3)). The location of the next piece of data is stored in current position register 382(f). Thus, current position register 382(f) typically contains an offset address relative to the address of the current data segment (e.g., 150(3)).
sudodus (nio-wiklund) wrote : | #81 |
Raymond, do you need anything from me now? In that case, please me what to do?
sudodus (nio-wiklund) wrote : | #82 |
fixed typing error: please *tell* me what to do
Raymond (superquad-vortex2) wrote : | #83 |
Can you change
periods from 4 to 16
and period_size from 1024 to 256
post the output of pcm_avail.c
Raymond (superquad-vortex2) wrote : | #84 |
Do the number of BUG messsges in system log still 2 frames larger than buffer size
sudodus (nio-wiklund) wrote : | #85 |
- pcm_avail_periods-16_periodsize-256.out Edit (31.6 KiB, text/plain)
'Can you change
periods from 4 to 16
and period_size from 1024 to 256
post the output of pcm_avail.c'
Done. See the attached file.
sudodus (nio-wiklund) wrote : | #86 |
'Do the number of BUG messsges in system log still 2 frames larger than buffer size'
I don't understand how to do this or check this. Please explain!
Raymond (superquad-vortex2) wrote : | #87 |
dmesg | grep -i "au88"
Since pcm_avail.c only write buffer size once, it is unable to trigger the bug which ptr > buffer size
so we need to modify the logic to loop more data
sudodus (nio-wiklund) wrote : | #88 |
$ dmesg | grep -i "au88"
[ 12.425799] snd_au8820 0000:01:04.0: init started
[ 13.157353] snd_au8820 0000:01:04.0: init.... done.
[ 13.192583] gameport gameport0: AU88x0 Gameport is pci0000:
[ 2357.843401] snd_au8820 0000:01:04.0: BUG: , pos = 16385, buffer size = 16384, period size = 1024
[10547.789231] snd_au8820 0000:01:04.0: BUG: , pos = 4099, buffer size = 4096, period size = 256
Raymond (superquad-vortex2) wrote : | #89 |
The fix for the other driver in the original bug report
It look like au88x0 pointer callback does not return zero when interrupt occur, just 2 or 3 frames pass the period boundary, the pcm core only regard this error when ptr pass the buffer
However, it is strange that pcm_avail.c return 1024
Raymond (superquad-vortex2) wrote : | #90 |
To debug the ptr position at period interrupt, you need alsa driver build with debug which allow you to enable trace point to log the ptr position in system
sudodus (nio-wiklund) wrote : | #91 |
Do you suggest that I try to build the alsa driver with debug now?
Maybe I should I make a dedicated system alongside the system I am using for general testing.
Raymond (superquad-vortex2) wrote : | #92 |
Sound.git is unstable and not gauarnteed to compile at any time
The safest way is to compile debug kernel/driver at stable ubuntu release
Tiwai expect you to apply the patch and report back whether it has no side effect
Raymond (superquad-vortex2) wrote : | #93 |
Before this patch, period_size can be as low as 1 frames,
difference of current page and last page will be 2 or 3 instead of 1
In theory, you should not see the delta 2 or 3 virt, real message after this patch
sudodus (nio-wiklund) wrote : | #94 |
'Sound.git is unstable and not gauarnteed to compile at any time
The safest way is to compile debug kernel/driver at stable ubuntu release'
Do you mean that I should install a system of Ubuntu 14.04.1 LTS or Ubuntu 14.04.4 LTS, *dedicated for this task*, and use that for compiling souund.git?
'Tiwai expect you to apply the patch and report back whether it has no side effect'
Do you mean the commit, where the string 'BUG' is replaced, to avoid spamming with prompts to file bug reports?
(I'm rather sure that it will work, but anyway ...)
Or do you mean the other one, the tip to avoid pointing outside the allowed work-space?
--
I feel very uncertain about how to perform these things, but I will try.
Raymond (superquad-vortex2) wrote : | #95 |
https:/
You have to apply the patch manually at the stable ubuntu kernel/driver and report back to tiwai
sudodus (nio-wiklund) wrote : | #96 |
I understand that tiwai's first fix only removes the symptoms, not the original problem. I thought that I can live with that.
The problem is that I do not understand how to implement tiwai's second fix, and he says that he doesn't know how to do it in Ubuntu. Now you say I have to do it at the stable ubuntu kernel.
I'm lost. I do not undertand the second fix (what it is doing). I do not understand how to apply it and in what system to apply it.
1. Which test system should I install in order to have the stable ubuntu kernel/driver? Which version of Ubuntu, which kernel ... ?
2. Which extra repositories, PPAs, and program packages should I activate/install?
3. Which method should I use to compile it? Should I use a method referred to in comment #58?
4. And how can I find out if it works or not? What should I look for?
sudodus (nio-wiklund) wrote : | #97 |
I tried in the system which is suffering from this bug (Lubuntu Xenial with the kernel
Linux xenial32 4.4.0-11-generic #26-Ubuntu SMP Sat Mar 5 14:22:05 UTC 2016 i686
and I failed with the git command. I replied directly to tiwai, and post a copy here.
*Maybe you can see what is wrong*
- Should I set up another system, which is more likely to manage with this git command?
- Do I need some other tools?
- Are there any unwanted newlines introduced by the email transfer of the patch?
- Other things (beyond my imagination)?
---
Hi again Takashi,
I tried this fix according to the instructions at
https:/
but I failed. I don't know what I'm doing, so it might be my fault. But I have one question. What about the #endif string? Is it matched?
See the output from my command line:
Klonar till "linux"...
remote: Counting objects: 4583735, done.
remote: Compressing objects: 100% (3254/3254), done.
remote: Total 4583735 (delta 1999), reused 0 (delta 0)
Tar emot objekt: 100% (4583735/4583735), 804.14 MiB | 1.05 MiB/s, klart.
Analyserar delta: 100% (3846439/3846439), klart.
Kontrollerar om vi fick alla objekt... klart.
Checkar ut filer: 100% (52916/52916), klart.
patching file /home/olle/
Hunk #1 FAILED at 432.
1 out of 1 hunk FAILED -- saving rejects to file /home/olle/
patch: **** Can't reopen file /home/olle/
-----
And the rejected stuff:
--- au88x0_pcm.c
+++ au88x0_pcm.c
@@ -432,7 +432,10 @@ static snd_pcm_uframes_t snd_vortex_
#endif
//printk(KERN_INFO "vortex: pointer = 0x%x\n", current_ptr);
spin_unlock(
- return (bytes_
+ current_ptr = bytes_to_
+ if (current_ptr >= substream-
+ current_ptr = 0;
+ return current_ptr;
}
/* operators */
sudodus (nio-wiklund) wrote : | #98 |
The file /home/olle/
- Is it because of the failed git command?
- Or does the git command fail because it was missing when the file should have been there (put there by previous git commands)?
- Must I install source code before running the git command? How can I do that?
sudodus (nio-wiklund) wrote : | #99 |
>> patching file /home/olle/
>> Hunk #1 FAILED at 432.
>> 1 out of 1 hunk FAILED -- saving rejects to file
>> /home/olle/
>
> See the file name here: you must be patching a totally different file.
> Or it's about a different patch.
>
> If it's difficult for you, it'd be better to ask someone else for
> building a test kernel or package.
>
>
> Takashi
Hi,
The instructions are not straight-forward. I don't know the
/path/name
to the file that I must patch, and how to modify the git command at the instruction page.
I hope I can get help :-)
Otherwise I will do what other users do - use the old system as long as it is supported, and after that get new hardware (a new computer or in this case only a new card), that works with the new version of the operating system.
But I think your patch #1 (changing 'BUG' to another string) will make the system work well enough for me to continue using it. I'll wait for it to trickle down to us regular users.
Best regards
Nio
sudodus (nio-wiklund) wrote : | #100 |
Looking more at the git command line, it seems the problem is a separate 'patch' command.
--
git config --global user.email "<email address hidden>" && git config --global user.name "Your Name" && cd $HOME && git clone git://git.
--
So I need to know what /path/name to use for the patch command - the source file to be modified?
Probably I also need help to 'customize' other parts of the string. It is not obvious to me which parts should be used literally and which are only templates.
Maybe you can help me with it, Raymond?
Raymond (superquad-vortex2) wrote : | #101 |
You just use any editor to replace this line in au88x0_pcm.c
return (bytes_
by following lines
current_ptr = bytes_to_
if (current_ptr >= substream-
current_ptr = 0;
return current_ptr;
sudodus (nio-wiklund) wrote : | #102 |
OK. A small step forward. It seems that I have compiled, but there are errors:
--
scripts/
compilation terminated.
scripts/
--
Can I use this file? ~/linux/
but there is no file with the name opensslv.h
What is the next step?
sudodus (nio-wiklund) wrote : | #103 |
Or should I try in another version of Ubuntu, for example 14.04.1 LTS? But then I won't get those spammed messages anyway.
sudodus (nio-wiklund) wrote : | #104 |
I installed Lubuntu 15.10 and tried according to the same method
https:/
but it did not work at all.
This is impossible for me. I do not understand the instructions. It is not cherry-picking, it is sour grapes :-(
Raymond (superquad-vortex2) wrote : | #105 |
https:/
You need to know ubuntu 16.04 using which version of kernel
You will find those XRUN/BUGS/invalid position message in system log before patching and no more message after patching
sudodus (nio-wiklund) wrote : | #106 |
Is this part of the instruction
git clone git://git.
wrong alias only a template? In that case, should it be
git://git.
or something else?
sudodus (nio-wiklund) wrote : | #107 |
I need detailed instructions as terminal window command lines
I think the only way I can manage this task is that I get detailed instructions as terminal window command lines (or a shellscript file).
Otherwise I will be lost. You know how to do things, and you give instructions on a high level, but I don't know, and I can't understand how to transform those instructions into command lines.
Raymond (superquad-vortex2) wrote : | #108 |
FIG. 15e is a diagrammatic block diagram of a control register of FIG. 15d, in accordance with one embodiment. Control register 384(c) includes a sub-buffer enable interrupt flag 384(c)(0), a stop flag 384(c)(1) and a next segment pointer 384(c)(2). Sub-buffer enable interrupt flag 384(c)(0) typically serves a similar function as enable interrupt flag 382(f), except on the data segment level rather than the channel level.
...
Stop flag 384(c)(1) typically indicates whether the data segment pointed to by data segment pointer 384 is the last data segment 150(n). When stop flag 384(c)(1) is set DMA engine 372 will cease operations for the particular DMA channel and the associated FIFO 306 after all the contents of the particular data segment has been read and processed. If stop flag 384(c)(1) is reset then DMA engine 372 may continue to the next data segment in the sequence.
In theory, stop flag should be set at the last period
how do the driver know which period is the last one?
sudodus (nio-wiklund) wrote : | #109 |
Is this part of the instruction
git clone git://git.
wrong alias only a template? In that case, should it be
git clone git://git.
(as one line) or something else?
It would be best to give instructions as command lines. Otherwise I cannot use them.
sudodus (nio-wiklund) wrote : | #110 |
I upgraded to a new kernel
$ uname -a
Linux xenial32 4.4.0-12-generic #28-Ubuntu SMP Wed Mar 9 00:33:13 UTC 2016 i686 i686 i686 GNU/Linux
and I am no longer spammed by prompts to report kernel oops. I rebooted and still no such prompts.
- The sound is working as usual. Has some change already tricked down? :-)
- Or is it only a random variation?
Anyway, I will keep running this installed system and report if there will be any more prompts to report kernel oops.
sudodus (nio-wiklund) wrote : | #111 |
Edit: Has some change already *trickled* down? :-)
Raymond (superquad-vortex2) wrote : | #112 |
For building alsa driver as module
https:/
You just follow the instruction in that link
What you need to do is
cd alsa-driver
git checkout build
utils/setup-
./gitcompile --enable-
Use --with-
If no error when configure and compile , you can
sudo make install
If you just need two drivers
Raymond (superquad-vortex2) wrote : | #113 |
You can specify card to just build the needed driver or specify all cards
Raymond (superquad-vortex2) wrote : | #114 |
A real kernel oops usually consist of stacktrace and dump of all cpu registers
sudodus (nio-wiklund) wrote : | #115 |
Following comment #71 caused the following error:
olle@xenial32 ~/linux $ cd ..
olle@xenial32 ~ $ mkdir tiwai; cd tiwai
olle@xenial32 ~/tiwai $ git clone git://github.
Klonar till "alsa-driver-
remote: Counting objects: 159995, done.
remote: Total 159995 (delta 0), reused 0 (delta 0), pack-reused 159995
Tar emot objekt: 100% (159995/159995), 37.39 MiB | 4.04 MiB/s, klart.
Analyserar delta: 100% (113780/113780), klart.
Kontrollerar om vi fick alla objekt... klart.
olle@xenial32 ~/tiwai $ git clone git://github.
Klonar till "sound"...
remote: Counting objects: 4600984, done.
remote: Compressing objects: 100% (17/17), done.
remote: Total 4600984 (delta 8), reused 8 (delta 8), pack-reused 4600959
Tar emot objekt: 100% (4600984/4600984), 1.42 GiB | 3.51 MiB/s, klart.
Analyserar delta: 100% (3802354/3802354), klart.
Kontrollerar om vi fick alla objekt... klart.
Checkar ut filer: 100% (52938/52938), klart.
olle@xenial32 ~/tiwai $ cd alsa-driver-build
olle@xenial32 ~/tiwai/
Grenen build ställdes in att spåra fjärrgrenen build från origin.
Växlade till en ny gren "build"
olle@xenial32 ~/tiwai/
olle@xenial32 ~/tiwai/
olle@xenial32 ~/tiwai/
gcc utils/mod-deps.c -o utils/mod-deps
utils/mod-deps.c: In function ‘output_card_list’:
utils/mod-
printf(
^
utils/mod-deps --basedir /home/olle/
can't handle 'default SND_SEQUENCER && SND_RAWMIDI', translating as depends on
can't handle 'default SND_SEQUENCER && SND_OPL3_LIB', translating as depends on
can't handle 'default SND_SEQUENCER && SND_OPL4_LIB', translating as depends on
can't handle 'default SND_SEQUENCER && SND_SBAWE', translating as depends on
can't handle 'default SND_SEQUENCER && SND_EMU10K1', translating as depends on
can't handle word INPUT=y properly, supposing it's OK
can't handle word INPUT=SND_ES1968 properly, supposing it's OK
can't handle word VIDEO_V4L2=y properly, supposing it's OK
can't handle word VIDEO_V4L2=
can't handle word VIDEO_V4L2=y properly, supposing it's OK
can't handle word VIDEO_V4L2=
can't handle word INPUT=y properly, supposing it's OK
can't handle word INPUT=SND_MAESTRO3 properly, supposing it's OK
can't handle word INPUT=y properly, supposing it's OK
can't handle word INPUT=SND_HDA properly, supposing it's OK
can't handle word SND_HDA_
can't handle word INPUT=y properly, supposing it's OK
can't handle word INPUT=SND_USB_CAIAQ properly, supposing it's OK
can't handle word DW_DMAC_CORE=y properly, supposing it's OK
can't handle word DW_DMAC_CORE=y properly, supposing it's OK
Wrong condition =
Makefile:152: receptet för mål...
sudodus (nio-wiklund) wrote : | #116 |
I don't understand the talk about another computer in the link from comment #71. Does it apply for me?
And the directory structure does not match the instructions. I'm lost again.
Trying to follow comment #112 caused the following error:
olle@xenial32 ~/linux $ cd ~/tiwai/
olle@xenial32 ~/tiwai/
Redan på "build"
Din gren är à jour med "origin/build".
olle@xenial32 ~/tiwai/
bash: utils/setup-
[127] olle@xenial32 ~/tiwai/
bash: utils/setup-
[127] olle@xenial32 ~/tiwai/
bash: utils/setup-
[127] olle@xenial32 ~/tiwai/
sudodus (nio-wiklund) wrote : | #117 |
olle@xenial32 ~/tiwai/
./gitcompile: rad 59: aclocal: kommandot finns inte
[1] olle@xenial32 ~/tiwai/
make: Inget behöver göras för ”all-deps”.
./gitcompile: rad 59: aclocal: kommandot finns inte
-o-
Where can I find/install aclocal? What about all-deps?
Raymond (superquad-vortex2) wrote : | #118 |
Did you change to alsa directory after git checkout build?
The alsa directory should contain
https:/
Raymond (superquad-vortex2) wrote : | #119 |
gitcompile.sh and utils subdirectory
Raymond (superquad-vortex2) wrote : | #120 |
Usually the reason fail to compile are those patch in acore directory are out dated and you need to report to alsa-devel mailng list
https:/
sudodus (nio-wiklund) wrote : | #121 |
I think the subdirectories are correct, but still, something is missing.
alias l='ls -l --group-
[100] olle@xenial32 ~/tiwai/
totalt 324
drwxrwxr-x 5 olle olle 4096 mar 16 11:23 acore
drwxrwxr-x 27 olle olle 4096 mar 16 11:50 alsa-kernel
drwxrwxr-x 6 olle olle 4096 mar 16 11:23 aoa
drwxrwxr-x 2 olle olle 4096 mar 16 11:23 arm
drwxrwxr-x 3 olle olle 4096 mar 16 11:23 doc
drwxrwxr-x 7 olle olle 4096 mar 16 11:23 drivers
drwxrwxr-x 7 olle olle 4096 mar 16 11:23 firewire
drwxrwxr-x 2 olle olle 4096 mar 16 11:23 hal2
drwxrwxr-x 3 olle olle 4096 mar 16 11:23 hda
drwxrwxr-x 4 olle olle 4096 mar 16 11:23 i2c
drwxrwxr-x 6 olle olle 4096 mar 16 11:53 include
drwxrwxr-x 13 olle olle 4096 mar 16 11:23 isa
drwxrwxr-x 2 olle olle 4096 mar 16 11:23 mips
drwxrwxr-x 2 olle olle 4096 mar 16 11:23 misc
drwxrwxr-x 2 olle olle 4096 mar 16 11:23 modules
drwxrwxr-x 2 olle olle 4096 mar 16 11:23 parisc
drwxrwxr-x 28 olle olle 4096 mar 16 11:23 pci
drwxrwxr-x 4 olle olle 4096 mar 16 11:23 pcmcia
drwxrwxr-x 2 olle olle 4096 mar 16 11:23 ppc
drwxrwxr-x 2 olle olle 4096 mar 16 11:23 sh
drwxrwxr-x 35 olle olle 4096 mar 16 11:23 soc
drwxrwxr-x 2 olle olle 4096 mar 16 11:23 sparc
drwxrwxr-x 3 olle olle 4096 mar 16 11:23 synth
drwxrwxr-x 2 olle olle 4096 mar 16 11:23 test
drwxrwxr-x 9 olle olle 4096 mar 16 11:23 usb
drwxrwxr-x 4 olle olle 4096 mar 16 11:24 utils
-rw-rw-r-- 1 olle olle 0 mar 16 11:25 acinclude.m4
-rw-rw-r-- 1 olle olle 4753 mar 16 11:23 CARDS-STATUS
-rw-rw-r-- 1 olle olle 103109 mar 16 11:23 configure.ac
-rw-rw-r-- 1 olle olle 18009 mar 16 11:23 COPYING
-rw-rw-r-- 1 olle olle 3059 mar 16 11:23 FAQ
-rwxrwxr-x 1 olle olle 2067 mar 16 11:23 gitcompile
-rw-rw-r-- 1 olle olle 12797 mar 16 11:23 INSTALL
-rw-rw-r-- 1 olle olle 5585 mar 16 11:23 install-sh
-rw-rw-r-- 1 olle olle 582 mar 16 11:23 kconfig-vers
-rw-rw-r-- 1 olle olle 10764 mar 16 11:23 Makefile
-rw-rw-r-- 1 olle olle 1864 mar 16 11:23 Makefile.conf.in
-rw-rw-r-- 1 olle olle 1171 mar 16 11:23 README
-rw-rw-r-- 1 olle olle 1503 mar 16 11:23 Rules.make
-rw-rw-r-- 1 olle olle 1603 mar 16 11:23 Rules.make1
-rw-rw-r-- 1 olle olle 6729 mar 16 11:23 snddevices.in
lrwxrwxrwx 1 olle olle 11 mar 16 11:50 sound -> alsa-kernel
-rw-rw-r-- 1 olle olle 420 mar 16 11:23 SUPPORTED_KERNELS
-rw-rw-r-- 1 olle olle 1188 mar 16 11:23 TODO
-rw-rw-r-- 1 olle olle 0 mar 16 11:24 toplevel.config.in
-rw-rw-r-- 1 olle olle 219 mar 16 11:23 WARNING
-rw-rw-r-- 1 olle olle 21 mar 16 11:23 version.in
olle@xenial32 ~/tiwai/
totalt 260
drwxrwxr-x 2 olle olle 4096 mar 16 11:23 old
drwxrwxr-x 2 olle olle 4096 mar 16 11:23 patches
-rwxrwxr-x 1 olle olle 32801 mar 16 11:23 alsa-compile.sh
-rw-rw-r-- 1 olle olle 1865 mar 16 11:23 alsa-driver.spec.in
-rwxrwxr-x 1 olle olle 27678 mar 16 11:23 alsa-info.sh
-rw-rw-r-- 1 olle olle 5781 mar 16 11:23 alsasound.in
-rw-rw-r-- 1 olle olle 3264 mar 16 11:23 alsasound.posix.in
-rw-rw-r-- 1 olle olle 917 mar 16 11:23 buildrpm.in
-rwxrwxr-x 1 olle olle 2207 mar 16 11:23 convert_...
sudodus (nio-wiklund) wrote : | #122 |
'Usually the reason fail to compile are those patch in acore directory are out dated and you need to report to alsa-devel mailng list
https:/
Can you see anything wrong, or should I report to the alsa-devel mailng list? In that case, what mail address is it?
Raymond (superquad-vortex2) wrote : | #123 |
utils/setup-
Only use the following option to build debug driver which enable those dev_dbg call
--with-debug=full
sudodus (nio-wiklund) wrote : | #124 |
utils/setup-
worked without complaints :-)
Please tell me *the whole command line* that should end like that!
--with-debug=full
Raymond (superquad-vortex2) wrote : | #125 |
https:/
gitcompile only pass the command to configure and run make if no errors
./configure --help
You have to ask the author
Raymond (superquad-vortex2) wrote : | #126 |
It need aclocal and autoconf to generate configure script
Have you installed the packages?
Raymond (superquad-vortex2) wrote : | #127 |
The minimum version of the packages are defined at the first few lines
automake
autoconf
libtool
sudodus (nio-wiklund) wrote : | #128 |
- gitcompile.out Edit (21.6 KiB, text/plain)
I installed those 3 packages and ran gitcompile:
$ ./gitcompile --enable-
See the whole output in the attached file.
It worked better, but there are still errors.
make[2]: Går till katalogen ”/home/
make[2]: Lämnar katalogen ”/home/
make[2]: Går till katalogen ”/home/
copying file alsa-kernel/
patching file mixer_oss.c
Hunk #3 FAILED at 390.
Hunk #4 succeeded at 420 (offset 13 lines).
1 out of 4 hunks FAILED -- saving rejects to file mixer_oss.c.rej
/home/olle/
make[2]: *** [mixer_oss.c] Fel 1
make[2]: Lämnar katalogen ”/home/
/home/olle/
make[1]: *** [prepare] Fel 1
make[1]: Lämnar katalogen ”/home/
Makefile:175: receptet för målet ”dep” misslyckades
make: *** [dep] Fel 1
sudodus (nio-wiklund) wrote : | #129 |
Since March 15 (during two full days and part of a third day) I am no longer spammed by prompts to report kernel oops like I used to be at login after reboot and shutdown + cold boot. There has been no notification of a kernel oops at all. I have rebooted and still no such prompts. I have also shutdown overnight + cold booted. Something has really changed to the better :-)
I can continue to try helping to improve the driver for the Aureal card (although there are no symptoms in this computer now). But as I said before - I need a lot of help, this task is far beyond what I have been doing before.
Raymond (superquad-vortex2) wrote : | #130 |
You have to send email with the errors to Tiwai
The errors related to file in alsa-driver/
https:/
sudodus (nio-wiklund) wrote : | #131 |
Reply from Tiwai:
The build with alsa-driver external tree is no longer supported.
You need to build the kernel module directly.
Takashi
-o-
And as usual - I need detailed help.
Raymond (superquad-vortex2) wrote : | #132 |
In theory , there is no need to use any patch in oss directory if you have disabled oss enumeration by passing --with-oss=no
https:/
You get checkout or use browser to extract the old version of two file pcm_oss.c and mixer_oss.c at last year 2015 october since acore log was last upated at 2015 october
Raymond (superquad-vortex2) wrote : | #133 |
https:/
Last update was 2015 october 12
Raymond (superquad-vortex2) wrote : | #134 |
Raymond (superquad-vortex2) wrote : | #135 |
The above link is just the oss directory just before
ALSA: oss: underflow in snd_mixer_
Save the plain text of the two affected files
Raymond (superquad-vortex2) wrote : | #136 |
it is strange that pcm_avail.c which only wite one buffer can trigger when the messages are rate limited
sudodus (nio-wiklund) wrote : | #137 |
I can continue to try helping to improve the driver for the Aureal card (although there are no symptoms in this computer now). But as I said before - I need a lot of help, this task is far beyond what I have been doing before.
*An alternative is that you upload kernels that I can test*
If you are not running Ubuntu, but another distro, maybe I can install such a system (for example in an SSD connected via eSATA to my computer with the Aureal card) and try experimental kernels made by you (that work in your 'native' distro).
Raymond (superquad-vortex2) wrote : | #138 |
It seem there is no way to build alsa driver as module after kenerl 4.3 since alsa-driver-build no longer maintained after 2015 october
sudodus (nio-wiklund) wrote : | #139 |
I hope it is still possible to build the alsa driver into a whole kernel ?!
Would it be an alternative that I install the same distro as you are using, and that you compile kernels with the properties that you want me to test. and upload its files for me to download and install?
Then I can run the tests you need to debug and develop the driver (as long as my Aureal card is working :-)
This change was made by a bot.