Ubuntu

Nova T 500 : dib0700: firmware download failed with (-110) on any first load of the module

Reported by Robert Watkins on 2008-11-30
22
This bug affects 2 people
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Medium
Unassigned

Bug Description

Binary package hint: linux-image-2.6.27-7-generic

My Nova T 500 card works well in Hardy with kernel 2.6.24-22-386 and earlier.
It fails utterly in Intrepid Ibex Ubuntu 8.10 with kernel 2.6.27-7-generic

The problem is that the firmware always fails to load first time.
The number the firmware download fails at changes, but the "with -110" is always the same.

I've installed the same recent drivers and firmware from http://linuxtv.org/hg/v4l-dvb
over both the 2.6.24 and 2.6.27 kernels.
The problem remains the same on 2.6.27 and still does not appear with 2.6.24.
This make me think the unwanted feature is closer to usb-core that it is to the dvb-usb-dib0700.

The problem also still exists in linux-image-2.6.27-9-generic.

[ 27.612619] dib0700: loaded with support for 8 different device-types
[ 27.612833] dvb-usb: found a 'Hauppauge Nova-T 500 Dual DVB-T' in cold state, will try to load a firmware
[ 27.612841] firmware: requesting dvb-usb-dib0700-1.20.fw
[ 27.698890] Linux video capture interface: v2.00
[ 27.768667] lirc_dev: IR Remote Control driver registered, major 61
[ 29.481341] dvb-usb: downloading firmware from file 'dvb-usb-dib0700-1.20.fw'
[ 30.564132] dib0700: firmware download failed at 9562 with -110
[ 30.564345] uvcvideo: Found UVC 1.00 device <unnamed> (046d:0990)
[ 30.567037] lirc_streamzap[-1]: Streamzap, Inc. Streamzap Remote Control on usb3:9 attached
[ 30.567042] lirc_dev: lirc_register_plugin: sample_rate: 0
[ 30.568907] uvcvideo: UVC non compliance - GET_DEF(PROBE) not supported. Enabling workaround.
[ 30.573985] input: UVC Camera (046d:0990) as /devices/pci0000:00/0000:00:13.2/usb3/3-8/3-8.4/3-8.4.1/3-8.4.1.4/3-8.4.1.4:1.0/input/input6
[ 30.576353] usbcore: registered new interface driver dvb_usb_dib0700

If I remove the modules and then modprobe dvb-usb-dib0700 the firmware always loads.

[ 94.386237] usbcore: deregistering interface driver uvcvideo
[ 94.403883] usbcore: deregistering interface driver dvb_usb_dib0700
[ 94.528808] dib0700: loaded with support for 8 different device-types
[ 94.530948] dvb-usb: found a 'Hauppauge Nova-T 500 Dual DVB-T' in cold state, will try to load a firmware
[ 94.530961] firmware: requesting dvb-usb-dib0700-1.20.fw
[ 94.542518] dvb-usb: downloading firmware from file 'dvb-usb-dib0700-1.20.fw'
[ 94.758194] dib0700: firmware started successfully.
[ 95.262390] dvb-usb: found a 'Hauppauge Nova-T 500 Dual DVB-T' in warm state.
[ 95.262488] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
[ 95.263210] DVB: registering new adapter (Hauppauge Nova-T 500 Dual DVB-T)
[ 95.385822] DVB: registering adapter 0 frontend 0 (DiBcom 3000MC/P)...
[ 95.486947] MT2060: successfully identified (IF1 = 1229)
[ 95.975143] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
[ 95.975384] DVB: registering new adapter (Hauppauge Nova-T 500 Dual DVB-T)
[ 95.982037] DVB: registering adapter 1 frontend 0 (DiBcom 3000MC/P)...
[ 95.993671] MT2060: successfully identified (IF1 = 1217)
[ 96.561364] dvb-usb: Hauppauge Nova-T 500 Dual DVB-T successfully initialized and connected.
[ 96.561689] usbcore: registered new interface driver dvb_usb_dib0700

(Although the system fails a within a couple of hours, with a what seems to be Bug204857 re-surfacing.)

[ 230.456120] dvb-usb: error while enabling fifo.
[ 1958.525133] dvb-usb: error while stopping stream.
[ 1976.092180] mt2060 I2C write failed
[ 2281.908116] mt2060 I2C write failed
[ 2676.912186] mt2060 I2C write failed
[ 2806.924148] mt2060 I2C write failed (len=2)
[ 2811.924179] mt2060 I2C write failed (len=6)
[ 2816.924849] mt2060 I2C read failed

description: updated
Robert Watkins (grumpy-robert) wrote :
Robert Watkins (grumpy-robert) wrote :
Robert Watkins (grumpy-robert) wrote :

The VIA USB controllers are built into the Nova T 500 PCI card.

Robert Watkins (grumpy-robert) wrote :
description: updated
Robert Watkins (grumpy-robert) wrote :

I've installed the oldest kernel package for Ubuntu 8.10
uname -a
Linux watkins-desktop 2.6.25-2-386 #1 Tue Sep 30 14:47:35 UTC 2008 i686 GNU/Linux

The firmware download failed. (It's an earlier version of the firmware.)

dmesg attached.

Changed in linux:
assignee: nobody → ubuntu-kernel-team
importance: Undecided → Medium
status: New → Triaged

Per a decision made by the Ubuntu Kernel Team, bugs will longer be assigned to the ubuntu-kernel-team in Launchpad as part of the bug triage process. The ubuntu-kernel-team is being unassigned from this bug report. Refer to https://wiki.ubuntu.com/KernelTeamBugPolicies for more information. Thanks.

This happens to me even for the latest kernel ppa:
uname -r: 2.6.30-020630rc8-generic

My dmesg after resuming:

[34258.180072] usb 1-1: reset high speed USB device using ehci_hcd and address 4
[34258.312799] dvb-usb: found a 'Hauppauge Nova-T Stick' in cold state, will try to load a firmware
[34258.312805] usb 1-1: firmware: requesting dvb-usb-dib0700-1.20.fw
[34318.312097] dvb-usb: did not find the firmware file. (dvb-usb-dib0700-1.20.fw) Please see linux/Documentation/dvb/ for more details on firmware-problems. (-2)
[34318.312225] PM: resume devices took 63.620 seconds
[34318.312227] ------------[ cut here ]------------
[34318.312237] WARNING: at /home/kernel-ppa/mainline/build/kernel/power/main.c:176 suspend_test_finish+0x83/0x90()
[34318.312241] Hardware name: Inspiron 2200
[34318.312243] Component: resume devices
[34318.312245] Modules linked in: dvb_usb_dib0700 dib7000p dib7000m dvb_usb dvb_core dib3000mc dibx000_common dib0070 aes_i586 aes_generic binfmt_misc fbcon tileblit font bitblit softcursor ppdev i915 drm i2c_algo_bit bridge stp bnep lp parport arc4 ecb ath5k mac80211 led_class cfg80211 snd_intel8x0 snd_ac97_codec joydev ac97_bus snd_pcm_oss snd_mixer_oss snd_pcm snd_seq_dummy snd_seq_oss snd_seq_midi pcmcia snd_rawmidi snd_seq_midi_event dcdbas snd_seq snd_timer snd_seq_device yenta_socket psmouse rsrc_nonstatic pcmcia_core serio_raw pcspkr iTCO_wdt iTCO_vendor_support snd soundcore snd_page_alloc video output intel_agp agpgart usbhid e100 mii
[34318.312304] Pid: 1212, comm: pm-suspend Not tainted 2.6.30-020630rc8-generic #020630rc8
[34318.312307] Call Trace:
[34318.312314] [<c0166a23>] ? suspend_test_finish+0x83/0x90
[34318.312318] [<c0166a23>] ? suspend_test_finish+0x83/0x90
[34318.312326] [<c013b7ec>] warn_slowpath_common+0x7c/0xa0
[34318.312330] [<c0166a23>] ? suspend_test_finish+0x83/0x90
[34318.312335] [<c013b856>] warn_slowpath_fmt+0x26/0x30
[34318.312339] [<c0166a23>] suspend_test_finish+0x83/0x90
[34318.312344] [<c0166abf>] suspend_devices_and_enter+0x8f/0xc0
[34318.312348] [<c0166d23>] enter_state+0xc3/0xe0
[34318.312352] [<c0166dd1>] state_store+0x91/0xd0
[34318.312356] [<c0166d40>] ? state_store+0x0/0xd0
[34318.312362] [<c02cc934>] kobj_attr_store+0x24/0x30
[34318.312369] [<c02134db>] flush_write_buffer+0x4b/0x70
[34318.312374] [<c02135c2>] sysfs_write_file+0x42/0x70
[34318.312381] [<c01c7e76>] vfs_write+0x96/0x160
[34318.312386] [<c0213580>] ? sysfs_write_file+0x0/0x70
[34318.312391] [<c01c7ffd>] sys_write+0x3d/0x70
[34318.312396] [<c0102ebc>] sysenter_do_call+0x12/0x28
[34318.312399] ---[ end trace 4c001d490f284970 ]---
[34318.312473] PM: Finishing wakeup.
[34318.312475] Restarting tasks ... done.

Ralf (ralf-kaestner) wrote :

same here with latest karmic kernel (2.6.31-7-generic-pae):

[ 48.596358] dvb-usb: found a 'Hauppauge Nova-TD-500 (84xxx)' in cold state, will try to load a firmware
[ 48.596362] usb 3-1: firmware: requesting dvb-usb-dib0700-1.20.fw
[ 108.596024] dvb-usb: did not find the firmware file. (dvb-usb-dib0700-1.20.fw) Please see linux/Documentation/dvb/ for more details on firmware-problems. (-2)
[ 108.596144] PM: resume devices took 65.812 seconds
  108.596145] ------------[ cut here ]------------
[ 108.596151] WARNING: at /build/buildd/linux-2.6.31/kernel/power/suspend_test.c:52 suspend_test_finish+0x80/0x90()
[ 108.596154] Hardware name: System Product Name
[ 108.596155] Component: resume devices
[ 108.596156] Modules linked in: binfmt_misc ppdev lp parport snd_hda_codec_intelhdmi snd_hda_codec_realtek snd_hda_intel snd_hda_codec snd_pcm_oss snd_mixer_oss snd_pcm dvb_usb_dib0700 dib7000p snd_seq_dummy dib7000m dvb_usb snd_seq_oss dvb_core snd_seq_midi dib3000mc snd_rawmidi dibx000_common dib0070 snd_seq_midi_event asus_atk0110 snd_seq snd_timer lirc_imon snd_seq_device lirc_dev snd soundcore snd_page_alloc usb_storage usbhid r8169 mii floppy fbcon tileblit font bitblit softcursor i915 drm i2c_algo_bit video output intel_agp agpgart
[ 108.596196] Pid: 3250, comm: pm-suspend Not tainted 2.6.31-7-generic-pae #27-Ubuntu
[ 108.596197] Call Trace:
[ 108.596201] [<c01420bd>] warn_slowpath_common+0x6d/0xa0
[ 108.596203] [<c0172410>] ? suspend_test_finish+0x80/0x90
[ 108.596205] [<c0172410>] ? suspend_test_finish+0x80/0x90
[ 108.596207] [<c0142136>] warn_slowpath_fmt+0x26/0x30
[ 108.596209] [<c0172410>] suspend_test_finish+0x80/0x90
[ 108.596211] [<c01721ff>] suspend_devices_and_enter+0x9f/0xd0
[ 108.596214] [<c056d9d9>] ? printk+0x18/0x1f
[ 108.596216] [<c01722e9>] enter_state+0xb9/0xf0
[ 108.596218] [<c01719dd>] state_store+0x6d/0xb0
[ 108.596220] [<c0171970>] ? state_store+0x0/0xb0
[ 108.596223] [<c0312920>] kobj_attr_store+0x20/0x30
[ 108.596225] [<c0239e50>] sysfs_write_file+0x90/0x100
[ 108.596228] [<c01e802a>] vfs_write+0x9a/0x190
[ 108.596230] [<c0239dc0>] ? sysfs_write_file+0x0/0x100
[ 108.596232] [<c057233b>] ? do_page_fault+0x19b/0x380
[ 108.596234] [<c01e8aed>] sys_write+0x3d/0x70
[ 108.596236] [<c0103263>] sysenter_do_call+0x12/0x28
[ 108.596237] ---[ end trace 17be8ffc5952dda7 ]---
[ 108.596264] PM: Finishing wakeup.

Ralf (ralf-kaestner) wrote :

btw. I forgot to mention the firmware file itself is there:

#ls -la /lib/firmware/dvb-usb-dib0700-1.20.fw
-rw-r--r-- 1 root root 33768 2009-08-17 04:31 /lib/firmware/dvb-usb-dib0700-1.20.fw
#

and during normal boot it works fine:

[ 5.890098] dvb-usb: found a 'Hauppauge Nova-TD-500 (84xxx)' in cold state, will try to load a firmware
[ 5.890101] usb 3-1: firmware: requesting dvb-usb-dib0700-1.20.fw
[ 5.899455] dvb-usb: downloading firmware from file 'dvb-usb-dib0700-1.20.fw'
[ 5.924128] alloc irq_desc for 22 on node -1
[ 5.924130] alloc kstat_irqs on node -1
[ 5.924135] HDA Intel 0000:00:1b.0: PCI INT A -> GSI 22 (level, low) -> IRQ 22
[ 5.924184] HDA Intel 0000:00:1b.0: setting latency timer to 64
[ 5.996324] input: HDA Digital PCBeep as /devices/pci0000:00/0000:00:1b.0/input/input5
[ 6.108361] dib0700: firmware started successfully.
[ 6.612010] dvb-usb: found a 'Hauppauge Nova-TD-500 (84xxx)' in warm state.
[ 6.612054] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
[ 6.612243] DVB: registering new adapter (Hauppauge Nova-TD-500 (84xxx))
[ 6.844554] DVB: registering adapter 0 frontend 0 (DiBcom 7000PC)...
[ 7.024318] DiB0070: successfully identified
[ 7.024321] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
[ 7.024520] DVB: registering new adapter (Hauppauge Nova-TD-500 (84xxx))
[ 7.173082] DVB: registering adapter 1 frontend 0 (DiBcom 7000PC)...
[ 7.352222] DiB0070: successfully identified
[ 7.352282] input: IR-receiver inside an USB DVB receiver as /devices/pci0000:00/0000:00:1e.0/0000:04:00.2/usb3/3-1/input/input6
[ 7.352308] dvb-usb: schedule remote query interval to 50 msecs.
[ 7.352310] dvb-usb: Hauppauge Nova-TD-500 (84xxx) successfully initialized and connected.

The issue just happens after suspend/resume. Resume takes 50seconds (as it can be seen above) until it times out the fw load for the nova-t card.

Ralf (ralf-kaestner) wrote :

the blocking delay is already reported for otehr drivers like 331415
so issue1 is that the nova-t module does use request_firmwar() instead of request_firmware_nowait() which is causing the ~1min resume delay

the second issue, where the firmware loads fine on boot but not after resume anymore is unclear.
A similar problem is reported for different hardware as weel (e.g.388383)

I suspect the dvb-usb/dib modules might need to get unloaded prior suspend and reloaded after resume as a workaround

Ralf (ralf-kaestner) wrote :

bug 279143 reports the same issue2 where firmware does not load anymore after resume.

Ralf (ralf-kaestner) wrote :

I worked around the problem of dib0700 fw not loading after resume by a quirk script within /etc/pm/sleep.d that unloads the dib0700 module prior suspend and reloads after resume.

Ralf (ralf-kaestner) wrote :

I moved my stuff into bug #388383 as that one is for fw load fails after resume with (-2) and changed to topic of this one as its a different issue originally reported where teh fw does not load on first try with (--110)

@Gonzhauser
the one you reported does also match bug #388383 and not this one.

summary: - Nova T 500 : dib0700: firmware download failed
+ Nova T 500 : dib0700: firmware download failed with (-110) on any first
+ load of the module
Jeremy Foshee (jeremyfoshee) wrote :

This bug report was marked as Triaged a while ago but has not had any updated comments for quite some time. Please let us know if this issue remains in the current Ubuntu release, http://www.ubuntu.com/getubuntu/download . If the issue remains, click on the current status under the Status column and change the status back to "New". Thanks.

[This is an automated message. Apologies if it has reached you inappropriately; please just reply to this message indicating so.]

tags: added: kj-triage
Changed in linux (Ubuntu):
status: Triaged → Incomplete
Jeremy Foshee (jeremyfoshee) wrote :

This bug report was marked as Incomplete and has not had any updated comments for quite some time. As a result this bug is being closed. Please reopen if this is still an issue in the current Ubuntu release http://www.ubuntu.com/getubuntu/download . Also, please be sure to provide any requested information that may have been missing. To reopen the bug, click on the current status under the Status column and change the status back to "New". Thanks.

[This is an automated message. Apologies if it has reached you inappropriately; please just reply to this message indicating so.]

tags: added: kj-expired
Changed in linux (Ubuntu):
status: Incomplete → Expired
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers