From owner-freebsd-multimedia@FreeBSD.ORG Sat Oct 30 15:06:37 2010 Return-Path: Delivered-To: freebsd-multimedia@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BBFB0106566B for ; Sat, 30 Oct 2010 15:06:37 +0000 (UTC) (envelope-from hselasky@c2i.net) Received: from swip.net (mailfe04.swip.net [212.247.154.97]) by mx1.freebsd.org (Postfix) with ESMTP id 21F418FC20 for ; Sat, 30 Oct 2010 15:06:36 +0000 (UTC) X-Cloudmark-Score: 0.000000 [] X-Cloudmark-Analysis: v=1.1 cv=gl0LPzB4YDQuuzpDoHYit7deEV0cOo++Sg28kyvF6vg= c=1 sm=1 a=N5IAIDgfLPYA:10 a=Q9fys5e9bTEA:10 a=CL8lFSKtTFcA:10 a=i9M/sDlu2rpZ9XS819oYzg==:17 a=8kQB0OdkAAAA:8 a=6I5d2MoRAAAA:8 a=cgo7ehMVg5bIQryBmskA:9 a=uevkSJNgWftDwmR-l0kA:7 a=Adhe5QDBIHJHjuG86temY6M08MgA:4 a=PUjeQqilurYA:10 a=9aOQ2cSd83gA:10 a=SV7veod9ZcQA:10 a=i9M/sDlu2rpZ9XS819oYzg==:117 Received: from [188.126.198.129] (account mc467741@c2i.net HELO laptop002.hselasky.homeunix.org) by mailfe04.swip.net (CommuniGate Pro SMTP 5.2.19) with ESMTPA id 42188999; Sat, 30 Oct 2010 17:06:34 +0200 From: Hans Petter Selasky To: App Deb Date: Sat, 30 Oct 2010 17:07:44 +0200 User-Agent: KMail/1.13.5 (FreeBSD/8.1-STABLE; KDE/4.4.5; amd64; ; ) References: <201010301402.08201.hselasky@c2i.net> In-Reply-To: X-Face: +~\`s("[*|O,="7?X@L.elg*F"OA\I/3%^p8g?ab%RN'(; _IjlA: hGE..Ew, XAQ*o#\/M~SC=S1-f9{EzRfT'|Hhll5Q]ha5Bt-s|oTlKMusi:1e[wJl}kd}GR Z0adGx-x_0zGbZj'e(Y[(UNle~)8CQWXW@:DX+9)_YlB[tIccCPN$7/L' MIME-Version: 1.0 Content-Type: Text/Plain; charset="iso-8859-15" Content-Transfer-Encoding: 7bit Message-Id: <201010301707.44939.hselasky@c2i.net> Cc: freebsd-multimedia@freebsd.org Subject: Re: webcamd: usb dvb-t tuner needs to be re-plugged (after boot/reboot) to work. X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 30 Oct 2010 15:06:37 -0000 On Saturday 30 October 2010 15:54:14 App Deb wrote: > 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 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@freebsd.org mailing list > > > http://lists.freebsd.org/mailman/listinfo/freebsd-multimedia > > > To unsubscribe, send any mail to > > > "freebsd-multimedia-unsubscribe@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 Hi, If you grep for the idVendor and idProduct as shown by usbconfig -d X.Y dump_device_desc, in the webcamd sources, you will probably find the driver and can by-pass the warm check by inspecting the code. --HPS