atom feed11 messages in org.freebsd.freebsd-multimediaRe: Webcamd testers wanted on FreeBSD...
FromSent OnAttachments
Hans Petter SelaskyJan 8, 2011 9:40 am 
Torfinn IngolfsenJan 8, 2011 10:04 am 
SubbsdJan 8, 2011 10:06 am 
Hans Petter SelaskyJan 8, 2011 10:17 am.patch
Hans Petter SelaskyJan 8, 2011 10:23 am 
kerbzoJan 8, 2011 11:45 am 
SubbsdJan 8, 2011 12:05 pm 
Hans Petter SelaskyJan 8, 2011 3:10 pm 
Luigi RizzoJan 8, 2011 3:16 pm.Other
Luigi RizzoJan 8, 2011 3:16 pm 
Hans Petter SelaskyJan 8, 2011 3:18 pm 
Subject:Re: Webcamd testers wanted on FreeBSD 8.2
From:Hans Petter Selasky (hsel@c2i.net)
Date:Jan 8, 2011 10:17:32 am
List:org.freebsd.freebsd-multimedia
Attachments:

On Saturday 08 January 2011 18:41:10 Hans Petter Selasky wrote:

Hi,

Can someone running FreeBSD 8.2-RC1 with more than one or external USB webcam or DVB-XXX devices verify the following:

1) Install /usr/ports/multimedia/webcamd

2) Reboot

3) Check that character devices are created for your device(s) under /dev

/dev/videoX for webcams

/dev/dvb/adapterX for DVB devices

3) HAL should show your device.

lshal | grep -i video lshal | grep -i dvb

4) Hot replug the USB plug of your USB webcam/DVB device, perform checks 1,2 and 3. If same result everything is OK.

Hi,

After that the devd notify string was changed last year, hald stopped registering attached USB devices because the match string was too narrow. Can someone with HAL knowledge please review the attached patch for /usr/ports/sysutils/hal .

My patch uses strstr() instead of strncmp(), but really a full parse with respect to " characters is required, because cdev=ugen, could appear inside some strings.

When it works, lshal will show USB devices plugged after boot.

--HPS

diff -ur hal.orig/files/patch-hald_freebsd_hf-usb2.c
hal/files/patch-hald_freebsd_hf-usb2.c --- hal.orig/files/patch-hald_freebsd_hf-usb2.c 2011-01-08 19:01:54.000000000
+0100 +++ hal/files/patch-hald_freebsd_hf-usb2.c 2011-01-08 19:05:14.000000000 +0100 @@ -133,8 +133,8 @@ + (strcmp(type, "CREATE") && strcmp(type, "DESTROY"))) + return FALSE; + -+ if (! strncmp(data, "cdev=ugen", strlen("cdev=ugen")) || -+ ! strncmp(data, "cdev=usb", strlen("cdev=usb"))) ++ if ((strstr(data, "cdev=ugen") != NULL) || ++ (strstr(data, "cdev=usb") != NULL)) + return TRUE; + + return FALSE;