[linux-dvb] DViCO FusionHDTV DVB-T Dual Digital card - fail to load firmware

Michael Krufky mkrufky at linuxtv.org
Sat Jun 2 03:11:05 CEST 2007


Craig Cook wrote:
> May 2006 I went through pain to make this card work.  I did get it working under FC4.  Now it is time to upgrade.
> 
> Chose ubuntu 7.04 this time (installed a bigger disk in same box so I know everything works).  FC4 is still available until I can make this new version work.
> 
> ===
> from lspci -vvv
> =====
> 02:01.0 Multimedia video controller: Conexant CX23880/1/2/3 PCI Video and Audio Decoder (rev 05)
>         Subsystem: DViCO Corporation FusionHDTV DVB-T Dual Digital
>         Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- Stepping- SERR+ FastB2B-
>         Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
>         Latency: 64 (5000ns min, 13750ns max), Cache Line Size: 32 bytes
>         Interrupt: pin A routed to IRQ 21
>         Region 0: Memory at fc000000 (32-bit, non-prefetchable) [size=16M]
>         Capabilities: [44] Vital Product Data
>         Capabilities: [4c] Power Management version 2
>                 Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
>                 Status: D0 PME-Enable- DSel=0 DScale=0 PME-
> 
> 02:01.2 Multimedia controller: Conexant CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port] (rev 05)
>         Subsystem: DViCO Corporation Unknown device db50
>         Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- Stepping- SERR+ FastB2B-
>         Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
>         Latency: 64 (1500ns min, 22000ns max), Cache Line Size: 32 bytes
>         Interrupt: pin A routed to IRQ 21
>         Region 0: Memory at fd000000 (32-bit, non-prefetchable) [size=16M]
>         Capabilities: [4c] Power Management version 2
>                 Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
>                 Status: D0 PME-Enable- DSel=0 DScale=0 PME-
> =====
> I have manually added 
> cx88_dvb
> to /etc/modules
> 
>  uname -a
> Linux myth 2.6.20-16-generic #2 SMP Wed May 23 01:46:23 UTC 2007 i686 GNU/Linux
> 
> partial dmesg output:
> 
> [   31.372109] dvb-usb: found a 'DViCO FusionHDTV DVB-T Dual USB' in cold state, will try to load a firmware
> [   31.381966] cx2388x cx88-mpeg Driver Manager version 0.0.6 loaded
> [   31.382100] CORE cx88[0]: subsystem: 18ac:db50, board: DViCO FusionHDTV DVB-T Dual Digital [card=44,autodetected]
> [   31.382106] TV tuner 4 at 0x1fe, Radio tuner -1 at 0x1fe
> [   31.432095] cx2388x v4l2 driver version 0.0.6 loaded
> [   31.575744] usb 4-4: USB disconnect, address 3
> [   31.615455] parport: PnPBIOS parport detected.
> [   31.615488] parport0: PC-style at 0x378, irq 7 [PCSPP,TRISTATE,EPP]
> [   32.023840] dvb-usb: downloading firmware from file 'dvb-usb-bluebird-01.fw'
> [   32.023850] dvb-usb: could not stop the USB controller CPU.
> [   32.023856] dvb-usb: error while transferring firmware (transferred size: -19, block size: 10)
> [   32.023860] dvb-usb: firmware download failed at 15 with -22
> [   32.023881] dvb_usb_cxusb: probe of 4-4:1.0 failed with error -22
> [   32.151047] usbcore: registered new interface driver dvb_usb_cxusb
> [   32.554524] cx88[0]/2: cx2388x 8802 Driver Manager
> [   32.554559] ACPI: PCI Interrupt 0000:02:01.2[A] -> GSI 22 (level, low) -> IRQ 21
> [   32.554575] cx88[0]/2: found at 0000:02:01.2, rev: 5, irq: 21, latency: 64, mmio: 0xfd000000
> [   32.554766] ACPI: PCI Interrupt 0000:02:01.0[A] -> GSI 22 (level, low) -> IRQ 21
> [   32.554780] cx88[0]/0: found at 0000:02:01.0, rev: 5, irq: 21, latency: 64, mmio: 0xfc000000
> [   32.554902] cx88[0]/0: registered device video0 [v4l2]
> [   32.554948] cx88[0]/0: registered device vbi0
> [   32.555767] ACPI: PCI Interrupt 0000:00:1f.5[B] -> GSI 17 (level, low) -> IRQ 22
> [   32.555816] PCI: Setting latency timer of device 0000:00:1f.5 to 64
> [   32.822194] usb 4-4: new high speed USB device using ehci_hcd and address 4
> [   32.870123] intel8x0_measure_ac97_clock: measured 54105 usecs
> [   32.870127] intel8x0: clocking to 48000
> [   32.954554] usb 4-4: configuration #1 chosen from 1 choice
> [   33.071330] usbtest 4-4:1.0: FX2 device
> [   33.071337] usbtest 4-4:1.0: high speed {control bulk-in bulk-out} tests (+alt)
> [   33.071350] usbcore: registered new interface driver usbtest
> [   33.188448] fuse init (API version 7.8)
> [   33.223451] lp0: using parport0 (interrupt-driven).
> [   33.302665] cx2388x dvb driver version 0.0.6 loaded
> [   33.302673] cx8802_register_driver() ->registering driver type=dvb access=shared
> [   33.302679] CORE cx88[0]: subsystem: 18ac:db50, board: DViCO FusionHDTV DVB-T Dual Digital [card=44]
> [   33.302685] cx88[0]/2: cx2388x based dvb card
> [   33.353012] DVB: registering new adapter (cx88[0]).
> [   33.353022] DVB: registering frontend 0 (Zarlink MT352 DVB-T)...
> 
> =======
> # ls -R /dev/dvb
> /dev/dvb:
> adapter0
> 
> /dev/dvb/adapter0:
> demux0  dvr0  frontend0  net0
> 
> 
> USB cable is attached to the card as required.  Mythtv is operational and I can watch TV.  I do not have a second tuner and my remote does not work.
> 
> Any ideas?
> 
> Thanks
> 
> Craig



Craig,

Please show me the output of lsusb.  It looks as though the eeprom on the usb portion of the device may have gotten corrupted, and it might now be showing the default configuration ids for the cypress fx2 chip.  I am led to believe this, due to the 'usbtest' output:

> [   32.954554] usb 4-4: configuration #1 chosen from 1 choice
> [   33.071330] usbtest 4-4:1.0: FX2 device
> [   33.071337] usbtest 4-4:1.0: high speed {control bulk-in bulk-out} tests (+alt)
> [   33.071350] usbcore: registered new interface driver usbtest

This happened to me once, after I was experimenting with dangerous i2c probing on the i2c bus of my FusionHDTV5 USB Gold...  I have never gotten the device to work since.  (I got a new one instead)

Your situation is not hopeless, however...  What you must do is reprogram the eeprom inside the device with the bluebird fx2 firmware.  Unfortunately, I don't know exactly how to do this... I could probably figure it out if I put enough time into it, but I didnt.  Instead, I just got a new device, and swear to never do i2c probes on it ever again.

If you can get it to work while in windows, you may be able to do a warm reboot back into linux, and have it work again... However, this still depends on the usb ids associated with the box.  You might have to manually edit dvb-usb-ids.h and change the ids for your device driver to match that of your device with corrupted eeprom.

How did this happen to you?  Did you test it in windows recently?

Good Luck,

Mike Krufky



More information about the linux-dvb mailing list