Problems with BCM70015: Buffer Underrun?
#1
I've tried a few different ways of getting my ATV up and running and no luck. I figured it was my BCM70012 so bought the BCM70015 but still having problems. Here are my EXACT steps, I've got these from various threads so props to everyone here for these:

1) Restore ATV OS so no trace of XBMC or anything on there
2) Used ATV USB Creator to make a patchstick and install SSH etc
3) Before installing any version of XBMC, used herod98's guide to install drivers, just replacing 2.0.1 with 3.6.0 to install latest drivers and using Method 1 only, modifying the rc.local
4) Installed latest SVN 33035
5) Copied one MKV to ATV (to make sure it isn't network issues) Movies directory
6) Rebooted and launched XBMC
7) Play MKV

Result is the video never plays, I can still navigate in XBMC but if I try and play anything else or exit then the system locks up.

Log files etc:

xbmc.log
dmesg
Futurama Media Info

The most noticeable thing for me is these lines in xbmc.log repeated over and over again:

20:23:18 T:52413952 M: 3624960 DEBUG: CCoreAudioRenderer::OnRender: Buffer underrun.
20:23:18 T:52295680 M: 3649536 DEBUG: CoreAudioRenderer::Resume: Resuming Playback.
20:23:18 T:51963904 M: 3620864 DEBUG: CoreAudioRenderer:Tongueause: Pausing Playback.

I tried googling and found someone else with a similar problem on these boards but using a normal avi which all play fine for me. I figured it might be to do with my setup which was just HDMI into a receiver, so I tried plugging straight into TV and even tried using toslink for audio but no joy.
Reply
#2
would be interesting to get the codec OSD up and see what aq, vq and a/v are doing. It would be "o" on a keyboard.
Reply
#3
davilla Wrote:would be interesting to get the codec OSD up and see what aq, vq and a/v are doing. It would be "o" on a keyboard.

Unfortunately, it never gets to that point. It sits on the screen with the video highlighted in yellow. I tried turning on debug to see if anything special came up there but nothing either. I'm at a loss. If I go elsewhere it will show the No Playing window with a static shot of the the show, but the counter never moves.
Reply
#4
vengeance Wrote:Unfortunately, it never gets to that point. It sits on the screen with the video highlighted in yellow. I tried turning on debug to see if anything special came up there but nothing either. I'm at a loss. If I go elsewhere it will show the No Playing window with a static shot of the the show, but the counter never moves.

top and dmesg when this happens.
Reply
#5
davilla Wrote:top and dmesg when this happens.

Here you go:

top
dmesg
Reply
#6
vengeance Wrote:Here you go:

top
dmesg

No Format change coming back. Since this is a bcm70015, are you playing the same video format (mpeg2, h2.64 or vc1) or are you playing different formats ? There's a bug in driver with bcm70015 when if you change video format, the 1st time, it will not play, 2nd time it will.
Reply
#7
davilla Wrote:No Format change coming back. Since this is a bcm70015, are you playing the same video format (mpeg2, h2.64 or vc1) or are you playing different formats ? There's a bug in driver with bcm70015 when if you change video format, the 1st time, it will not play, 2nd time it will.

At the moment I'm just trying the same file as it is the only one I put locally. I have tried other files in the past on the network with the same issue but I'm trying to keep this environment as clean as possible. I've worked QA in the past so figured the clean environment, minimal would be best for trying to track this down. I could use a different reference file if you have one that you'd prefer me to use. I can also rebuild the ATV from scratch, formatting internal drive and pretty much put anything on there. I'm going to play around with the ubuntu thumbstick for a bit as I haven't tried them with the new card.
Reply
#8
Ok, wow. Using pin87a's image, worked right off the bat. Occasional dropped frames but this is running stuff off the network and I haven't even updated the drivers yet. Gonna try that next.
Reply
#9
And updating the drivers kills it. PPA looks like still linking to the old driver but whenever I create the symlink, it is still broken.
Reply
#10
vengeance Wrote:And updating the drivers kills it. PPA looks like still linking to the old driver but whenever I create the symlink, it is still broken.

grep libcrystalhd.0.1 xbmc.bin

or

grep libcrystalhd.0.3 xbmc.bin
Reply
#11
davilla Wrote:grep libcrystalhd.0.1 xbmc.bin

or

grep libcrystalhd.0.3 xbmc.bin

This produces no hits. I tried the .so.1 and .so.3 as I think that is what you meant and got no hits on .so.1 and got a hit on .so.3. I've redid pin's image fresh and just updated XBMC live and installed the latest 2.0.0. packaged drivers per this post: http://forum.xbmc.org/showpost.php?p=589...stcount=13

And at this point haven't touched any symlinks or anything, so if I do this:

ls -lart libcrystalhd.so*

I get this:

-rwxr-xr-x 1 root root 190997 2010-06-07 19:17 libcrystalhd.so.1.0
lrwxrwxrwx 1 root root 19 2010-06-07 19:17 libcrystalhd.so.1 -> libcrystalhd.so.1.0
-rwxr-xr-x 1 root root 316199 2010-08-23 20:53 libcrystalhd.so.3.5
lrwxrwxrwx 1 root root 19 2010-08-23 20:53 libcrystalhd.so.3 -> libcrystalhd.so.3.5
lrwxrwxrwx 1 root root 19 2010-08-23 20:53 libcrystalhd.so -> libcrystalhd.so.3.5

.so1 should point to so.3.5 though right? What syntax should I use?

ln -s libcrystalhd.so.3.5 libcrystalhd.so.1 ?
Reply
#12
vengeance Wrote:This produces no hits. I tried the .so.1 and .so.3 as I think that is what you meant and got no hits on .so.1 and got a hit on .so.3. I've redid pin's image fresh and just updated XBMC live and installed the latest 2.0.0. packaged drivers per this post: http://forum.xbmc.org/showpost.php?p=589...stcount=13

And at this point haven't touched any symlinks or anything, so if I do this:

ls -lart libcrystalhd.so*

I get this:

-rwxr-xr-x 1 root root 190997 2010-06-07 19:17 libcrystalhd.so.1.0
lrwxrwxrwx 1 root root 19 2010-06-07 19:17 libcrystalhd.so.1 -> libcrystalhd.so.1.0
-rwxr-xr-x 1 root root 316199 2010-08-23 20:53 libcrystalhd.so.3.5
lrwxrwxrwx 1 root root 19 2010-08-23 20:53 libcrystalhd.so.3 -> libcrystalhd.so.3.5
lrwxrwxrwx 1 root root 19 2010-08-23 20:53 libcrystalhd.so -> libcrystalhd.so.3.5

.so1 should point to so.3.5 though right? What syntax should I use?

ln -s libcrystalhd.so.3.5 libcrystalhd.so.1 ?

depends on what hit you get off of the grep. But even if you do make the symlink, XBMC will still use the old API if referencing libcrystalhd.so.1. For bcm70012, that's ok, but for bcm70015, that's bad. bcm70015 needs to talk using the new crystalhd API for best results.
Reply
#13
davilla Wrote:depends on what hit you get off of the grep. But even if you do make the symlink, XBMC will still use the old API if referencing libcrystalhd.so.1. For bcm70012, that's ok, but for bcm70015, that's bad. bcm70015 needs to talk using the new crystalhd API for best results.

I got the hit from .so.3. I'm guessing there isn't much I can do now but wait for Dharma to hit?
Reply
#14
vengeance Wrote:I got the hit from .so.3. I'm guessing there isn't much I can do now but wait for Dharma to hit?

so.3 is the new crystalhd API. that matches the 2.0.1 or 3.6.0 driver/lib/firmware at crystalhd-for-osx. The full libcrystalhd.so.3.5 version is like crystalhd-for-osx-3.6.0. Major version is "3", minor is "6". That means API is compatible. 2.0.1 is also compatible but the versioning was goofy so I re-sync'ed to 3.6.0.
Reply
#15
davilla Wrote:depends on what hit you get off of the grep. But even if you do make the symlink, XBMC will still use the old API if referencing libcrystalhd.so.1. For bcm70012, that's ok, but for bcm70015, that's bad. bcm70015 needs to talk using the new crystalhd API for best results.

Let me qualify this, h.264 might be ok.
Reply

Logout Mark Read Team Forum Stats Members Help
Problems with BCM70015: Buffer Underrun?0