Broadcom BCM70015 mini pcie card

Everything relating to hacking, expanding and modifying the Joggler hardware.
Post Reply
User avatar
pete
Posts: 2950
Joined: Mon Aug 01, 2011 6:33 am
Location: Time Traveler

Broadcom BCM70015 mini pcie card

Post by pete »

Today installed the Crystal HD mini PCiE card. Loaded the drivers and it is working fine with XBMC. Next is still the SD card and ordered up a mini PC IDE PCiE card to see if it works.
- Pete
O2 Jogglers running EFI Ubuntu / Squeezeplayer
OpenPeak Voip Telephony / Zigbee tabletops hardware modded with Seabios / RTC / Ethernet ROM edits / SSD drives running XPe for automation screens

Auto mater
User avatar
roobarb!
Posts: 1746
Joined: Sat Mar 05, 2011 1:30 pm
Location: Salford, UK
Contact:

Re: Broadcom BCM70012 mini pcie card

Post by roobarb! »

Great stuff! :)
BirdsLikeWires - Get fresh builds of Debian Bullseye and Bookworm for OpenFrame with the latest 5.10 and 6.1 kernels! 8-)
User avatar
pete
Posts: 2950
Joined: Mon Aug 01, 2011 6:33 am
Location: Time Traveler

Re: Broadcom BCM70012 mini pcie card

Post by pete »

Decided yesterday to keep the one Openframe 2 marked O2 #1 intact with no hardware mods (no soldering etc) as I consider it kind of a museum piece.

Its been soldered and desoldered and hacked up a bit so it really might have been some beta test device for the O2 Joggler.

I am guessing too it will be the only OpenFrame 2 box that will have a socketed flash chip in it. But that is only two taken openframe 2 devices taken apart.

To me and I may be mistaken but it looks to be like there was a phone hub Openframe 2 device and an energy hub openframe 2 device; not sure if there was a combo of the two on one device; but that is me and I do not know for sure. Maybe each one had the pieces of Zigbee and DECT but they were removed depending on what the device was utilized for.

I don't really know the timeframe of what was what when though.

Did the O2 Joggler come after the Openframe 2 device or before it?
- Pete
O2 Jogglers running EFI Ubuntu / Squeezeplayer
OpenPeak Voip Telephony / Zigbee tabletops hardware modded with Seabios / RTC / Ethernet ROM edits / SSD drives running XPe for automation screens

Auto mater
User avatar
pete
Posts: 2950
Joined: Mon Aug 01, 2011 6:33 am
Location: Time Traveler

Re: Broadcom BCM70012 mini pcie card

Post by pete »

Went back to the XBMC build. Ran out of room on the 2Gb MMC so wiped it and went back to Buzz's ext4 build Ubuntu. DD'd built to MMC and it is working fine.

First add is the Broadcom Crystal HD card to see how it works with XBMC....baby steps here though...

goofing around a bit may install x windows and mono just to see if it works....
- Pete
O2 Jogglers running EFI Ubuntu / Squeezeplayer
OpenPeak Voip Telephony / Zigbee tabletops hardware modded with Seabios / RTC / Ethernet ROM edits / SSD drives running XPe for automation screens

Auto mater
User avatar
pete
Posts: 2950
Joined: Mon Aug 01, 2011 6:33 am
Location: Time Traveler

Re: Broadcom BCM70015 mini pcie card

Post by pete »

Card works great with XBMC. Very quick. 1080 HD plays back fine. Only thing is I lost my sound and I had it before.
- Pete
O2 Jogglers running EFI Ubuntu / Squeezeplayer
OpenPeak Voip Telephony / Zigbee tabletops hardware modded with Seabios / RTC / Ethernet ROM edits / SSD drives running XPe for automation screens

Auto mater
User avatar
pete
Posts: 2950
Joined: Mon Aug 01, 2011 6:33 am
Location: Time Traveler

Re: Broadcom BCM70015 mini pcie card

Post by pete »

I got the sound to work. I had checked the drivers and they were fine. Played a bit with the Alsa configuration. I then just installed the XBMC mixer and it was just one output that was turned all of the way down. Working now.

Testing HD playback by playing back largest 1080HD movies (18-20 Gb sized movies).

It is working great with no jitters or flickering of movies.

Next trying to install the PVR stuff for MythTV to see how well it streams live HD 1080 Video.

Installed MythTV PVR. It is streaming live TV just fine with the Crystal HD card.

Relating to XBMC video / menus and stuff; much faster now touch responses etc...
- Pete
O2 Jogglers running EFI Ubuntu / Squeezeplayer
OpenPeak Voip Telephony / Zigbee tabletops hardware modded with Seabios / RTC / Ethernet ROM edits / SSD drives running XPe for automation screens

Auto mater
User avatar
roobarb!
Posts: 1746
Joined: Sat Mar 05, 2011 1:30 pm
Location: Salford, UK
Contact:

Re: Broadcom BCM70015 mini pcie card

Post by roobarb! »

Seven years later and I'm catching up!

However, my tale is one of woe. In the latest Ubuntu Bionic image the crystalhd.ko kernel driver for BCM70012 and BCM70015 is included! However, it's terrible. I've tried with mplayer and mpv and while I can get them both to use the card (it's confirmed as hardware decoding, I can see the stream being opened in syslog) the performance is complete bobbins.

For mplayer I use this /etc/mplayer/mplayer.conf:

Code: Select all

ao=alsa
vo=x11
joystick=no
stop-xscreensaver=yes
xy=800
zoom=yes
fs=yes
lavdopts=threads=2
Then test between software and hardware decoding including or omitting the flag:

Code: Select all

-lavdopts o=crystalhd_downscale_width=800
This auto-selects the codec and downscales (on hardware, apparently with the hardware scaler, which looks right given the player sees an 800 pixel wide stream) for output to the screen. Performance is awful with video and audio sliding out of sync within seconds with 720p content. Content in 1080p plays for 3 seconds before overwhelming the system. This is using both vo=x11 or vo=fbdev2 for pure throw-it-at-the-tty-screen-without-xserver testing.

For mpv I've not had framebuffer video output working, but performance overall with X is much better. I use this /etc/mpv/mpv.conf:

Code: Select all

ao=alsa
vo=x11
geometry=50%:50%
autofit=100%x100%
ytdl-format=[height<720]
script-opts=osc-scalefullscreen=3.0,osc-scalewindowed=3.0,osc-hidetimeout=3000
Then test between software and hardware decoding including or omitting the flag:

Code: Select all

--hwdec=crystalhd
You know what performs better? Software decoding. So long as your OpenFrame has hyperthreading enabled I've had no problem playing back 1280x720 content, downscaled on the fly to fit 800x480 for the OpenFrame's display, at common bitrates. Just make sure your kernel has hyperthreading enabled. This is the output you should see:

Code: Select all

of@openframe:~$ cat /proc/cpuinfo 
processor	: 0
vendor_id	: GenuineIntel
cpu family	: 6
model		: 28
model name	: Intel(R) Atom(TM) CPU Z520   @ 1.33GHz
stepping	: 2
microcode	: 0x20a
cpu MHz		: 800.000
cache size	: 512 KB
physical id	: 0
siblings	: 2
core id		: 0
cpu cores	: 1
apicid		: 0
initial apicid	: 0
fdiv_bug	: no
f00f_bug	: no
coma_bug	: no
fpu		: yes
fpu_exception	: yes
cpuid level	: 10
wp		: yes
flags		: fpu vme de tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx constant_tsc arch_perfmon pebs bts aperfmperf eagerfpu pni dtes64 monitor ds_cpl vmx est tm2 ssse3 xtpr pdcm movbe lahf_lm dtherm tpr_shadow vnmi flexpriority
bugs		:
bogomips	: 2660.12
clflush size	: 64
cache_alignment	: 64
address sizes	: 32 bits physical, 32 bits virtual
power management:

processor	: 1
vendor_id	: GenuineIntel
cpu family	: 6
model		: 28
model name	: Intel(R) Atom(TM) CPU Z520   @ 1.33GHz
stepping	: 2
microcode	: 0x20a
cpu MHz		: 800.000
cache size	: 512 KB
physical id	: 0
siblings	: 2
core id		: 0
cpu cores	: 1
apicid		: 1
initial apicid	: 1
fdiv_bug	: no
f00f_bug	: no
coma_bug	: no
fpu		: yes
fpu_exception	: yes
cpuid level	: 10
wp		: yes
flags		: fpu vme de tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx constant_tsc arch_perfmon pebs bts aperfmperf eagerfpu pni dtes64 monitor ds_cpl vmx est tm2 ssse3 xtpr pdcm movbe lahf_lm dtherm tpr_shadow vnmi flexpriority
bugs		:
bogomips	: 2660.12
clflush size	: 64
cache_alignment	: 64
address sizes	: 32 bits physical, 32 bits virtual
power management:

Two processors should be shown; processor 0 and processor 1. If you only see processor 0, SMP is likely disabled in your kernel.

You then need to make sure lavdopts=threads=2 is set in your /etc/mplayer/mplayer.conf to enable multithreading, though if you don't need framebuffer playback and use X, mpv is a better option as you get on screen controls and multithreaded playback is the default.

Code: Select all

sudo of-install xserver
sudo apt update
sudo apt install mpv
If anyone else goes nuts and puts a BCM70015 into their OpenFrame 2, or if anybody has suggestions as to why I'm not seeing the performance we should get from this card, please post!
BirdsLikeWires - Get fresh builds of Debian Bullseye and Bookworm for OpenFrame with the latest 5.10 and 6.1 kernels! 8-)
User avatar
pete
Posts: 2950
Joined: Mon Aug 01, 2011 6:33 am
Location: Time Traveler

Re: Broadcom BCM70015 mini pcie card

Post by pete »

Here tested way back on the KODI 14.X build and only tested 1080 video to work fine. No stuttering.

I did modify the Openframe 2 motherboard adding another USB port to the top (camera port), removed the combo WLAN/Bluetooth card and installed the Crystall 1/2 sized video card. I don't even remember what it was that I purchased.

It is all apart where I have used painters tape to tape the screen over the heatsink to get it working. Will have a look see.

I never did open the other Openframe 2 boxes that I have.

On the side here doing a few side things:

1 - changing brakes and rotors on my BMW SUV - taking my time with it.
2 - building a new NAS box using an LSi SAS controller and EMC SAS drives and ZFS for this one.
3 - helping a bit moderate the IPCAMTalk forum mostly related to my new Hikvision Video Doorbell - used the Ring for a while and didn't like it.
- Pete
O2 Jogglers running EFI Ubuntu / Squeezeplayer
OpenPeak Voip Telephony / Zigbee tabletops hardware modded with Seabios / RTC / Ethernet ROM edits / SSD drives running XPe for automation screens

Auto mater
Post Reply