webcamd: usb dvb-t tuner needs to be re-plugged (after boot/reboot) to work.

App Deb appdebgr at gmail.com
Sat Oct 30 13:54:16 UTC 2010


OK, first I tried usbconfig -d 2.2 reset (or "power_off" and "power_on") but
it didn't work. The tuner was still not working after I restarted webcamd.


However webcamd with HAVE_DEBUG gives some useful information:

- webcamd log when IT IS NOT working (first start after boot/reboot without
manually replugging device):

Attached ugen2.2[0] to cuse unit 0
dvb-usb: found a 'Gigabyte U8000-RH' in warm state.
dvb-usb: will pass the complete MPEG2 transport stream to the software
demuxer.
DVB: registering new adapter (Gigabyte U8000-RH)
DVB: registering adapter 0 frontend 0 (DiBcom 7000PC)...
xc2028 130-0061: creating new instance
xc2028 130-0061: type set to XCeive xc2028/xc3028 tuner
dvb-usb: schedule remote query interval to 50 msecs.
dvb-usb: Gigabyte U8000-RH successfully initialized and connected.
Creating /dev/dvb/adapter0/demux0
Creating /dev/dvb/adapter0/dvr0
Creating /dev/dvb/adapter0/frontend0


webcamd log when it IS working (start webcamd after I manually re-plug usb
device):

 Attached ugen2.2[0] to cuse unit 0
dvb-usb: found a 'Gigabyte U8000-RH' in cold state, will try to load a
firmware
Loading firmware at '/boot/modules/dvb-usb-dib0700-1.20.fw', f=7
dvb-usb: downloading firmware from file 'dvb-usb-dib0700-1.20.fw'
dib0700: firmware started successfully.
dvb-usb: found a 'Gigabyte U8000-RH' in warm state.
dvb-usb: will pass the complete MPEG2 transport stream to the software
demuxer.
DVB: registering new adapter (Gigabyte U8000-RH)
DVB: registering adapter 0 frontend 0 (DiBcom 7000PC)...
xc2028 130-0061: creating new instance
xc2028 130-0061: type set to XCeive xc2028/xc3028 tuner
dvb-usb: schedule remote query interval to 50 msecs.
dvb-usb: Gigabyte U8000-RH successfully initialized and connected.
Creating /dev/dvb/adapter0/demux0
Creating /dev/dvb/adapter0/dvr0
Creating /dev/dvb/adapter0/frontend0


- - -

As you see, when webcamd first finds the usb tuner in "cold state" and loads
the firmware it works, but when it finds it in warm state (and bypasses
firmware load) it doesn't.

Also sometimes a message appears like that:

dvb-usb: Gigabyte U8000-RH successfully initialized and connected.
dib0700: rc submit urb failed

But even when it doesn't appear, the tuner still doesn't work if it was
started from warm-state.




Is there any way to force webcamd to behave like the tuner is always in Cold
State to fix this? As I said the usbconfig command didn't seem to work for
that.

Thanks.





On Sat, Oct 30, 2010 at 3:02 PM, Hans Petter Selasky <hselasky at c2i.net>wrote:

> On Saturday 30 October 2010 10:54:55 App Deb wrote:
> > Great work on webcamd, I easily managed to get my usb dvb-t working with
> > VLC. It works great but there is a slight problem.
> >
> > For it to work it needs to be unplugged and plugged again once after a
> > FreeBSD boot or reboot.
> >
> > My usb dvb-t uses 2 firmware files: "dvb-usb-dib0700-1.20.fw" and
> > "xc3028-v27.fw" (I have them in /boot/modules of course).
> >
> > Looking at the webcamd program output, The dib0700 firmware doesn't seem
> to
> > be loaded if my usb tuner was already connected when FreeBSD booted. The
> > result is that when trying to view TV, all channels have garbled video
> and
> > audio output (if they work at all).
> >
> > Replugging it on a live system, correctly shows a webcamd message
> "Loading
> > dvb-usb-dib0700-1.20.fw firmware.." and from there on the usb tuner works
> > perfectly.
> >
> > I don't exactly know the internal workings of USB tuners, but for some
> > reason the tuner itself seems to need a full power-cycle (replug) to be
> > initialized properly, or maybe webcamd "thinks" that the firmware is
> > already loaded when it is not (when FreeBSD boots).
> >
> > Is there any workaround/solution for this? Is there any command that does
> > some virtual (software) re-plug of a usb device. I could use it in a
> > startup script to solve the problem.
> >
> > Thanks, keep up the good work on webcamd, great project.
> > _______________________________________________
> > freebsd-multimedia at freebsd.org mailing list
> > http://lists.freebsd.org/mailman/listinfo/freebsd-multimedia
> > To unsubscribe, send any mail to
> > "freebsd-multimedia-unsubscribe at freebsd.org"
>
> Hi,
>
> 1) You can try to compile webcamd using the "make HAVE_DEBUG=YES".
>
> 2) Also try: usbconfig -d X.Y reset
>
> --HPS
>


More information about the freebsd-multimedia mailing list