DVB-T (siano sms1xxx) w Video4BSD/Cuse4BSD

Hans Petter Selasky hselasky at c2i.net
Mon Feb 15 14:38:50 UTC 2010


On Monday 15 February 2010 15:35:46 Joerg Pulz wrote:
> Hi,
> 
> today i found some time to try the latest stuff regarding Video4BSD and
> DVB-T USB devices.
> My system is:
> FreeBSD hades.admin.frm2 8.0-STABLE FreeBSD 8.0-STABLE #2: Thu Jan 21
> 12:42:55 CET 2010     root at hades.admin.frm2:/usr/obj/usr/src/sys/GENERIC
> amd64
> 
> My device is a Hauupauge WinTV MiniStick:
> usbconfig -u 7 -a 3 dump_device_desc
> 
> ugen7.3: <WinTV MiniStick Hauppauge Computer Works> at usbus7, cfg=0
> md=HOST spd=HIGH (480Mbps) pwr=ON
> 
>    bLength = 0x0012
>    bDescriptorType = 0x0001
>    bcdUSB = 0x0200
>    bDeviceClass = 0x0000
>    bDeviceSubClass = 0x0000
>    bDeviceProtocol = 0x0000
>    bMaxPacketSize0 = 0x0040
>    idVendor = 0x2040
>    idProduct = 0x5500
>    bcdDevice = 0x0001
>    iManufacturer = 0x0001  <Hauppauge Computer Works>
>    iProduct = 0x0002  <WinTV MiniStick>
>    iSerialNumber = 0x0003  <f0683e81>
>    bNumConfigurations = 0x0001
> 
> I svn up'ed the sources (revision 1469) and recompiled. So far everything
> wnet fine. I kldload'ed video4bsd and cuse4bsd without errors.
> After plugging in the DVB-T stick i tried to start webcamd and it just
> bails out with a segmentation fault:
> ./webcamd
> Attached ugen7.3[0] to cuse unit 0
> Segmentation fault (core dumped)
> 
> After recompiling webcamd with "-g" and using gdb i found that it faults
> at: v4l-dvb-82bbb3bd0f0a/linux/drivers/media/dvb/siano/smsusb.c (line 358)
> Which is the following line:
>      snprintf(params.devpath, sizeof(params.devpath),
>          "usb\\%d-%s", dev->udev->bus->busnum, dev->udev->devpath);
> 
> As i'm not that deep inside Video4BSD i'm lost at this point.
> 
> The only thing i already tried was uncommentig the above line and trying
> again. This in fact, solved the segmentation fault and results in the
> following output:
> 
> ./webcamd -f /tmp
> Attached ugen7.3[0] to cuse unit 0
> Loading firmware at '/tmp/sms1xxx-hcw-55xxx-dvbt-02.fw', f=7
> Creating /dev/dvb/adapter0/demux0
> Creating /dev/dvb/adapter0/dvr0
> Creating /dev/dvb/adapter0/frontend0
> 
> So it seems the device should work but it doesn't. Whatever i try no
> application identifies it as a usable device.
> A simple 'cat /dev/dvb/adapter0/dvr0' results in "Device not configured".
> May be this is due to uncommenting the code in smsusb.c, i don't know.
> What i found by doing a simple 'ls -l /dev/dvb/adapter0' is that the above
> mentioned devices (demux0, dvr0 and frontend0) exist twice!
> 
> ls -l /dev/dvb/adapter0
> <snip>
> crw-r--r--  1 root  operator    0, 224 Feb 15 15:25 demux0
> crw-r--r--  1 root  operator    0, 224 Feb 15 15:25 demux0
> crw-------  1 root  operator    0, 225 Feb 15 15:25 demux_daemon0
> crw-r--r--  1 root  operator    0, 226 Feb 15 15:25 dvr0
> crw-r--r--  1 root  operator    0, 226 Feb 15 15:25 dvr0
> crw-------  1 root  operator    0, 227 Feb 15 15:25 dvr_daemon0
> crw-r--r--  1 root  operator    0, 228 Feb 15 15:25 frontend0
> crw-r--r--  1 root  operator    0, 228 Feb 15 15:25 frontend0
> crw-------  1 root  operator    0, 229 Feb 15 15:25 frontend_daemon0
> <snap>
> 
> I don't know how this is possible?

Hi,

Try to kldload video4bsd, and only have cuse4bsd in the kernel.

I will try to fix that segmentation fault.

--HPS


More information about the freebsd-multimedia mailing list