Broadcom bcm70015 crystalhd

Iniciado por Hernani81, 30 de Janeiro de 2017, 12:17

tópico anterior - próximo tópico

Hernani81

Viva malta,
Estou com um problema a tentar instalar esta placa gráfica num MacMini correndo Ubuntu 16.10!
Já tenho todos os drivers, a máquina reconhece a placa, mas não consigo que a active! Quando faço

Dmesg | grep crystalhd

dá-me esse erro:

Crystalhd: loading out-of-tree module taints kernel.
Crystalhd: module verification failed: signature and/or required key missing - tainting kernel.
Loading crystalhd v3.10.0
Crystalhd 0000:02:00.0: starting device: 0x1615

Alguém tem alguma sugestão de com resolver isto?

Obrigado

druidaobelix

#1
É uma placa muita específica, provavelmente essa:

Broadcom BCM70015 Crystal HD PCI Express Mini Card Video/Audio Hardware DecoderHardware Decoder for Apple TV 1080p(TBS7015 )

O driver Linux é diretamente fornecido pelo fabricante, talvez a correção  já esteja incorporada a um kernel mais recente.
O Ubuntu 16.10 tem o kernel 4.8 por padrão, então experimente o 4.9 e se não funcionar, experimente ainda a versão RC (release candidate) do 4.10.
A vantagem é que se já estiver lá funcionará direto, sem precisar fazer nada.

O último RC que está lá na mainline é o v4.10-rc6, experimente esse.

http://kernel.ubuntu.com/~kernel-ppa/mainline/

É só baixar os .deb correspondente, conforme seja a arquitetura aí instalada (64-bit ou 32-bit) e instalar usando o dpkg

Sabe fazer?

Um modelinho de como fazer (os dados reais precisam ser alterados), pode ser visto aqui:

http://ubuntuforum-br.org/index.php/topic,121225.msg665914.html#msg665914

Evidentemente uma vez instalado os .deb precisa reiniciar o sistema e subir pela versão recém instalada.
www.arredondar.org.br
Vencedor Desafio de Impacto Social Google 2016!
Você também pode participar e fazer a diferença.

druidaobelix

#2
Complementando, por via das dúvidas, com o novo kernel (4.9 ou 4.10rc) remova a instalação anterior que fez do pacote libcrystalhd3 e instale de novo.
Instale também o libcrystalhd-dev, e se já o fez, igualmente remova e reinstale.

sudo apt install --reinstall libcrystalhd3

sudo apt install --reinstall libcrystalhd-dev

www.arredondar.org.br
Vencedor Desafio de Impacto Social Google 2016!
Você também pode participar e fazer a diferença.

Hernani81

Fiz tudo direitinho como me explicou, instalei o novo kernel 4.10rc6 e agora quando faço

dmesg | grep crystalhd

não tenho informação alguma...  :-\ :-\

druidaobelix

#4
Então não funcionou com o kernel  v4.10-rc6, assim sendo remova-o do sistema, evidentemente tomando o cuidado de antes subir o sistema pelo kernel atual padrão do sistema (4.8 ) e mais cuidado ainda para não removê-lo também.

Certamente você sabe, mas enfim, para ver a versão ativa do kernel:

uname -a

Para remover pode usar o gerenciador de pacores Synaptic, nele clicando em remoção completa :

Para instalar o synaptic, se já não tiver:

sudo apt install synaptic

Para listar os kernels instalados:

dpkg --list | grep linux-image

ou igualmente

dpkg -l 'linux-im*'

ou ainda uma listagem mais compacta e direta (prefiro para essa finalidade de remoção):

dpkg-query -l | awk '/linux-image-*/ {print $2}'

Então a remoção propriamente dita:

sudo apt-get --purge remove linux-image-4.10.0-041000rc6.-generic

substituindo, claro, a referência numérica do comando acima pela forma exata como ela aparece na listagem antes obtida.

Mas voltando ao crystalhd  bcm70015 propriamente dito, que é o que interessa:

Chegou a experimentar também o kernel 4.9 ?
www.arredondar.org.br
Vencedor Desafio de Impacto Social Google 2016!
Você também pode participar e fazer a diferença.

Hernani81

Por acaso não. Passei logo à versão 4.10rc6...

Eu penso que o "package" da crystalhd foi removido do kernel desde a versão 3.17 e então  a partir daí tudo tem que ser feito à mão...

Tenho seguido várias indicações, dos mais variados foruns, que tem alturas que me perco...
Ter chegado ao ponto de ser reconhecido pelo Ubuntu, já é uma pequena vitória, mas ainda falta um pouquinho para a ter a funcionar

Voltei à versão 4.8 e já detecta de novo a placa, mas continuo com o mesmo erro...

hernani@hernani-Macmini:~$ dmesg | grep crystalhd
[   19.626827] crystalhd: loading out-of-tree module taints kernel.
[   19.626973] crystalhd: module verification failed: signature and/or required key missing - tainting kernel
[   19.627499] Loading crystalhd v3.10.0
[   19.627540] crystalhd 0000:02:00.0: Starting Device:0x1615
hernani@hernani-Macmini:~$

Terá outra ideia do que poderá ser?  :-[

Hernani81

Este é o ficheiro README e estes são os passos a seguir...

# Crystal HD Hardware Decoder Driver on Ubuntu 13.04 Linux kernel 3.8.0-25
## Broadcom BCM70012 & BCM70015

After a lot a retries to get the rigth experience with the Crystal HD on Ubuntu,

**1. Install required files**

    sudo apt-get install checkinstall git-core autoconf build-essential subversion dpkg-dev fakeroot pbuilder build-essential dh-make debhelper devscripts patchutils quilt git-buildpackage pristine-tar git yasm zlib1g-dev zlib-bin libzip-dev libx11-dev libx11-dev libxv-dev vstream-client-dev libgtk2.0-dev libpulse-dev libxxf86dga-dev x11proto-xf86dga-dev git libgstreamermm-0.10-dev libgstreamer0.10-dev automake libtool python-appindicator
   
**2. Ge the source**

Get the driver source code from the git repository.

    git clone https://github.com/dbason/crystalhd.git

_The original repo source is available at git://git.linuxtv.org/jarod/crystalhd.git_
   
**3. Compile driver, install libraries, and load driver**

Use make command to compile driver. If you have multiple core processor then use the “-j2″ or “-j4″ option (2 or 4 is the number of cores). This will speed up the make process.

    cd crystalhd/driver/linux
    autoconf
    ./configure
    make -j2
    sudo make install
   
**4. Install the libraries.**

    cd ../../linux_lib/libcrystalhd/
    make -j2
    sudo make install
   
**5. Load the driver.**

    sudo modprobe crystalhd
   
**6. Reboot your system** , then check if 'crystalhd' is listed in the output of the following commands.

    lsmod
    dmesg | grep crystalhd
   
Then you should see something like this:

    [    4.349765] Loading crystalhd v3.10.0
    [    4.349823] crystalhd 0000:02:00.0: Starting Device:0x1615
    [    4.351848] crystalhd 0000:02:00.0: irq 43 for MSI/MSI-X
    [  108.512135] crystalhd 0000:02:00.0: Opening new user[0] handle
    [  258.976583] crystalhd 0000:02:00.0: Closing user[0] handle via ioctl with mode 10200

Now is time to enjoy our FullHD content.

I'm using XMBC , VLC (2.1.0), Mplayer2, GStreamer because they are using (they should) the Crystal HD decoder libraries.

For example , lets try VLC :

    vlc --codec=crystalhd ourgreatfullhdmedia.mkv
   
Now runs smoothly rigth ?

# After kernel update

Reinstall the driver.

    cd crystalhd/driver/linux
    sudo make install


Btw this instructions referred to http://knowledge.evot.biz/documentation/how-to-compile-and-install-the-broadcom-crystal-hd-hardware-decoder-bcm70012-70015-driver-on-ubuntu and fixed some issues appeared using a patch from M25 user at https://bbs.archlinux.org/viewtopic.php?pid=1253622#p1253622

So, the sources on this repository are updated with the fixes and patches in order to make your life easier.

## History

See [HISTORY.md](HISTORY.md) for a rough history of the various versions of this driver floating around the web.


O problema é que quando chego ao ponto **3 ele pede que vá ao directório e faça

autoconf

Sempre que faço isso, tenho o seguinte erro

autoconf: error: no input file

Ou seja, eu penso que esse ficheiro não existe, certo?...  :-[

druidaobelix

#7
Veja, "Hernani81",

Na verdade o módulo (=driver) está sendo carregado (Loading crystalhd v3.10.0) e parece estar ativo inicializando a placa (Crystalhd 0000:02:00.0: starting device: 0x1615), não parece ser o caso de uma compilação manual de um módulo que já existe e está sendo corretamente identificado.

O que ocorre é um "tainting kernel", em razão da autenticação, ou dito de outra forma, se o módulo estiver carregado a placa deveria estar funcional.
A proposta de um kernel mais recente era ver se a "signature verification" estava resolvida.

Mas vamos tirar a dúvida quanto a esse aspecto também, inicialmente veja se esses dois pacotes estão instalados e caso não estejam instale também:

sudo apt install ubuntu-restricted-addons

sudo apt install ubuntu-restricted-extras

Então reinicie e depois, tendo retornado ao kernel 4.8 padrão do Ubuntu 16.10 e reinstalado libcrystalhd3, conforme mencionado no post #2 acima, vamos verificar o estado atual dessa ocorrência, verifique novamente o dmesg e então os comandos adiante:

dmesg | grep -i crystalhd

lspci -nn

Não sei dizer se esta placa aparece realmente na classe display, mas vamos tentar:

sudo lshw -c display

Confirme se o módulo está carregado ou não através do:

lsmod
www.arredondar.org.br
Vencedor Desafio de Impacto Social Google 2016!
Você também pode participar e fazer a diferença.

Hernani81

hernani@hernani-Macmini:~$ sudo apt install ubuntu-restricted-addons
[sudo] password for hernani:
Reading package lists... Done
Building dependency tree
Reading state information... Done
ubuntu-restricted-addons is already the newest version (23).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
hernani@hernani-Macmini:~$ sudo apt install ubuntu-restricted-extras
Reading package lists... Done
Building dependency tree
Reading state information... Done
ubuntu-restricted-extras is already the newest version (65).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
hernani@hernani-Macmini:~$ sudo apt install --reinstall libcrystalhd3
Reading package lists... Done
Building dependency tree
Reading state information... Done
0 upgraded, 0 newly installed, 1 reinstalled, 0 to remove and 0 not upgraded.
Need to get 0 B/46.1 kB of archives.
After this operation, 0 B of additional disk space will be used.
(Reading database ... 242488 files and directories currently installed.)
Preparing to unpack .../libcrystalhd3_1%3a0.0~git20110715.fdd2f19-11build1_amd64.deb ...
Unpacking libcrystalhd3:amd64 (1:0.0~git20110715.fdd2f19-11build1) over (1:0.0~git20110715.fdd2f19-11build1) ...
Setting up libcrystalhd3:amd64 (1:0.0~git20110715.fdd2f19-11build1) ...
Processing triggers for libc-bin (2.24-3ubuntu2) ...
hernani@hernani-Macmini:~$ sudo apt install --reinstall libcrystalhd-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
0 upgraded, 0 newly installed, 1 reinstalled, 0 to remove and 0 not upgraded.
Need to get 15.2 kB of archives.
After this operation, 0 B of additional disk space will be used.
Get:1 http://archive.ubuntu.com/ubuntu yakkety/universe amd64 libcrystalhd-dev amd64 1:0.0~git20110715.fdd2f19-11build1 [15.2 kB]
Fetched 15.2 kB in 0s (27.3 kB/s)
(Reading database ... 242488 files and directories currently installed.)
Preparing to unpack .../libcrystalhd-dev_1%3a0.0~git20110715.fdd2f19-11build1_amd64.deb ...
Unpacking libcrystalhd-dev:amd64 (1:0.0~git20110715.fdd2f19-11build1) over (1:0.0~git20110715.fdd2f19-11build1) ...
Setting up libcrystalhd-dev:amd64 (1:0.0~git20110715.fdd2f19-11build1) ...
hernani@hernani-Macmini:~$


hernani@hernani-Macmini:~$ dmesg | grep -i crystalhd
[   19.533763] crystalhd: loading out-of-tree module taints kernel.
[   19.533925] crystalhd: module verification failed: signature and/or required key missing - tainting kernel
[   19.534585] Loading crystalhd v3.10.0
[   19.534627] crystalhd 0000:02:00.0: Starting Device:0x1615


hernani@hernani-Macmini:~$ lspci -nn
00:00.0 Host bridge [0600]: Intel Corporation Mobile 945GM/PM/GMS, 943/940GML an                                                                                        d 945GT Express Memory Controller Hub [8086:27a0] (rev 03)
00:02.0 VGA compatible controller [0300]: Intel Corporation Mobile 945GM/GMS, 94                                                                                        3/940GML Express Integrated Graphics Controller [8086:27a2] (rev 03)
00:07.0 Performance counters [1101]: Intel Corporation Device [8086:27a3] (rev 0                                                                                        3)
00:1b.0 Audio device [0403]: Intel Corporation NM10/ICH7 Family High Definition                                                                                         Audio Controller [8086:27d8] (rev 02)
00:1c.0 PCI bridge [0604]: Intel Corporation NM10/ICH7 Family PCI Express Port 1                                                                                         [8086:27d0] (rev 02)
00:1c.1 PCI bridge [0604]: Intel Corporation NM10/ICH7 Family PCI Express Port 2                                                                                         [8086:27d2] (rev 02)
00:1d.0 USB controller [0c03]: Intel Corporation NM10/ICH7 Family USB UHCI Contr                                                                                        oller #1 [8086:27c8] (rev 02)
00:1d.1 USB controller [0c03]: Intel Corporation NM10/ICH7 Family USB UHCI Contr                                                                                        oller #2 [8086:27c9] (rev 02)
00:1d.2 USB controller [0c03]: Intel Corporation NM10/ICH7 Family USB UHCI Contr                                                                                        oller #3 [8086:27ca] (rev 02)
00:1d.3 USB controller [0c03]: Intel Corporation NM10/ICH7 Family USB UHCI Contr                                                                                        oller #4 [8086:27cb] (rev 02)
00:1d.7 USB controller [0c03]: Intel Corporation NM10/ICH7 Family USB2 EHCI Cont                                                                                        roller [8086:27cc] (rev 02)
00:1e.0 PCI bridge [0604]: Intel Corporation 82801 Mobile PCI Bridge [8086:2448]                                                                                         (rev e2)
00:1f.0 ISA bridge [0601]: Intel Corporation 82801GBM (ICH7-M) LPC Interface Bri                                                                                        dge [8086:27b9] (rev 02)
00:1f.1 IDE interface [0101]: Intel Corporation 82801G (ICH7 Family) IDE Control                                                                                        ler [8086:27df] (rev 02)
00:1f.2 IDE interface [0101]: Intel Corporation 82801GBM/GHM (ICH7-M Family) SAT                                                                                        A Controller [IDE mode] [8086:27c4] (rev 02)
00:1f.3 SMBus [0c05]: Intel Corporation NM10/ICH7 Family SMBus Controller [8086:                                                                                        27da] (rev 02)
01:00.0 Ethernet controller [0200]: Marvell Technology Group Ltd. 88E8053 PCI-E                                                                                         Gigabit Ethernet Controller [11ab:4362] (rev 22)
02:00.0 Multimedia controller [0480]: Broadcom Limited BCM70015 Video Decoder [C                                                                                        rystal HD] [14e4:1615]
03:03.0 FireWire (IEEE 1394) [0c00]: LSI Corporation FW322/323 [TrueFire] 1394a                                                                                         Controller [11c1:5811] (rev 61)
hernani@hernani-Macmini:~$


hernani@hernani-Macmini:~$ sudo lshw -c display
  *-display
       description: VGA compatible controller
       product: Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Control                                                                                        ler
       vendor: Intel Corporation
       physical id: 2
       bus info: pci@0000:00:02.0
       version: 03
       width: 32 bits
       clock: 33MHz
       capabilities: msi pm vga_controller bus_master cap_list rom
       configuration: driver=i915 latency=0
       resources: irq:16 memory:d0b80000-d0bfffff ioport:20f0(size=8) memory:c00                                                                                        00000-cfffffff memory:d0c00000-d0c3ffff memory:c0000-dffff
hernani@hernani-Macmini:~$

hernani@hernani-Macmini:~$ lsmod
Module                  Size  Used by
rfcomm                 77824  2
bnep                   20480  2
btusb                  45056  0
btrtl                  16384  1 btusb
btbcm                  16384  1 btusb
btintel                16384  1 btusb
bluetooth             552960  31 btrtl,btintel,bnep,btbcm,rfcomm,btusb
applesmc               20480  0
input_polldev          16384  1 applesmc
snd_hda_codec_idt      57344  1
coretemp               16384  0
snd_hda_codec_generic    73728  1 snd_hda_codec_idt
snd_hda_intel          36864  3
snd_hda_codec         135168  3 snd_hda_intel,snd_hda_codec_idt,snd_hda_codec_ge                                                                                        neric
snd_hda_core           86016  4 snd_hda_intel,snd_hda_codec,snd_hda_codec_idt,sn                                                                                        d_hda_codec_generic
kvm_intel             188416  0
snd_hwdep              16384  1 snd_hda_codec
snd_pcm               110592  3 snd_hda_intel,snd_hda_codec,snd_hda_core
kvm                   598016  1 kvm_intel
snd_seq_midi           16384  0
snd_seq_midi_event     16384  1 snd_seq_midi
snd_rawmidi            32768  1 snd_seq_midi
irqbypass              16384  1 kvm
snd_seq                69632  2 snd_seq_midi_event,snd_seq_midi
snd_seq_device         16384  3 snd_seq,snd_rawmidi,snd_seq_midi
crystalhd             106496  0
snd_timer              32768  2 snd_seq,snd_pcm
snd                    86016  16 snd_hda_intel,snd_hwdep,snd_seq,snd_hda_codec,s                                                                                        nd_hda_codec_idt,snd_timer,snd_rawmidi,snd_hda_codec_generic,snd_seq_device,snd_                                                                                        pcm
soundcore              16384  1 snd
lpc_ich                24576  0
shpchp                 36864  0
mac_hid                16384  0
parport_pc             32768  0
ppdev                  20480  0
lp                     20480  0
parport                49152  3 lp,parport_pc,ppdev
ip_tables              28672  0
x_tables               36864  1 ip_tables
autofs4                40960  2
hid_appleir            16384  0
hid_logitech_hidpp     28672  0
hid_logitech_dj        20480  0
usbhid                 53248  0
hid                   118784  5 hid_appleir,usbhid,hid_logitech_dj,hid_logitech_                                                                                        hidpp
i915                 1314816  7
firewire_ohci          40960  0
i2c_algo_bit           16384  1 i915
firewire_core          65536  1 firewire_ohci
drm_kms_helper        167936  1 i915
crc_itu_t              16384  1 firewire_core
pata_acpi              16384  0
syscopyarea            16384  1 drm_kms_helper
sysfillrect            16384  1 drm_kms_helper
sysimgblt              16384  1 drm_kms_helper
fb_sys_fops            16384  1 drm_kms_helper
fjes                   28672  0
drm                   368640  9 i915,drm_kms_helper
video                  40960  1 i915
sky2                   61440  0
hernani@hernani-Macmini:~$


Aqui tenho tudo o que pediu...  :-[


druidaobelix

Ao invés do parâmetro "display" (que não apareceu nada) use o parâmetro multimedia:

sudo lshw -c multimedia

www.arredondar.org.br
Vencedor Desafio de Impacto Social Google 2016!
Você também pode participar e fazer a diferença.

druidaobelix

Mas veja lá, como dito, claramente a placa está corretamente identificada e o módulo (=driver) já está carregado:

Citar02:00.0 Multimedia controller [0480]: Broadcom Limited BCM70015 Video Decoder [C       

Citarcrystalhd             106496  0

www.arredondar.org.br
Vencedor Desafio de Impacto Social Google 2016!
Você também pode participar e fazer a diferença.

Hernani81

hernani@hernani-Macmini:~$ sudo lshw -c multimedia
[sudo] password for hernani:
  *-multimedia
       description: Audio device
       product: NM10/ICH7 Family High Definition Audio Controller
       vendor: Intel Corporation
       physical id: 1b
       bus info: pci@0000:00:1b.0
       version: 02
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress bus_master cap_list
       configuration: driver=snd_hda_intel latency=0
       resources: irq:28 memory:d0c40000-d0c43fff
  *-multimedia
       description: Multimedia controller
       product: BCM70015 Video Decoder [Crystal HD]
       vendor: Broadcom Limited
       physical id: 0
       bus info: pci@0000:02:00.0
       version: 00
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress bus_master cap_list
       configuration: driver=crystalhd latency=0
       resources: irq:27 memory:d0800000-d080ffff memory:d0000000-d07fffff
hernani@hernani-Macmini:~$


Hernani81

Citação de: druidaobelix online 31 de Janeiro de 2017, 01:42
Mas veja lá, como dito, claramente a placa está corretamente identificada e o módulo (=driver) já está carregado:

Citar02:00.0 Multimedia controller [0480]: Broadcom Limited BCM70015 Video Decoder [C       

Citarcrystalhd             106496  0

Então como faço para passar a utilizar o modulo?  :-\

druidaobelix

Citar*-multimedia
       description: Multimedia controller
       product: BCM70015 Video Decoder [Crystal HD]
       vendor: Broadcom Limited
       physical id: 0
       bus info: pci@0000:02:00.0
       version: 00
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress bus_master cap_list
       configuration: driver=crystalhd latency=0
       resources: irq:27 memory:d0800000-d080ffff memory:d0000000-d07fffff

Perfeita a confirmação, sem dúvida alguma ela está lá e o módulo carregado.
www.arredondar.org.br
Vencedor Desafio de Impacto Social Google 2016!
Você também pode participar e fazer a diferença.

druidaobelix

Citação de: Hernani81 online 31 de Janeiro de 2017, 01:43
Então como faço para passar a utilizar o modulo?  :-\

Na verdade a questão que estamos a discutir é como se usa essa placa.

Você comprou para fazer mais exatamente o quê?
www.arredondar.org.br
Vencedor Desafio de Impacto Social Google 2016!
Você também pode participar e fazer a diferença.