USB camera causing OS crash?
Mark Ovens
marko at freebsd.org
Thu Jan 13 03:00:18 PST 2005
Julian Elischer wrote:
>
> Mark Ovens wrote:
>
>> Canon Powershot A70
>>
>> FreeBSD redshift 5.3-STABLE FreeBSD 5.3-STABLE #0: Sat Jan 1 18:37:13
>> GMT 2005 mark at redshift:/usr/obj/usr/src/sys/REDSHIFT i386
>>
>> ugen1: Canon Inc. Canon Digital Camera, rev 1.10/0.01, addr 2
>>
>> This camera used to work just fine in digikam but now doesn't (can't
>> say exactly when it stopped though). Keep getting "Can't connect to
>> camera" error when trying to open the camera although digikam does
>> auto-detect it.
>>
>> Googling threw up some info at
>> http://gphoto.org/doc/manual/permissions-usb.html about allowing USB
>> devices to be accessed by non-root users (section 4.3.3.1. FreeBSD 5.x
>> near the bottom of the page) which says to add the following to
>> /etc/rc.local:
>>
>> /sbin/devfs ruleset 10
>> /sbin/devfs rule applyset
>> /sbin/devfs rule add path ugen1* mode 666
>> /sbin/devfs rule show
>>
>> I've done that, but now instead of "Can't connect to camera" the
>> computer locks up and after about 10 seconds reboots - all the
>> filesystems are reported as not being properly dismounted on reboot.
>> Nothing is written to any logs (obviously) so I can't provide any info.
>
>
> you probably need to run with ddb, kdb and a serial console, or at least
> from the console, outside of
> X11 so you can see the error messages. The system will not go int ddb if
> the console is being controlled by X11.
>
Here's the ouput when it panics:
WARNING: Driver mistake: destroy_dev on 0/0
panic: don't do that
cpuid = 0
KDB: stack backtrace:
kdb_backtrace(c076d635,0,c0757f6f,e9b559e0,5) at kdb_backtrace+0x2e
panic(c0757f6f,0,0,1,c2bac000) at panic+0x128
idestroy_dev(c07b7b50,e9b55a10,c04ff092,c07b7b50,3) at idestroy_dev+0x42
destroy_dev(c07b7b50,3,0,e9b55a50,c04ff2cc) at destroy_dev+0x16
ugen_destroy_devnodes(c2bac000,2,2,1,c23db830) at ugen_destroy_devnodes+0x52
ugen_set_config(c2bac000,1,180,c3000640,c301c108) at ugen_set_config+0x22c
ugen_do_ioctl(c2bac000,0,80045565,e9b55c54,3,c3000640) at
ugen_do_ioctl+0x253
ugenioctl(c07b7c38,80045565,e9b55c54,3,c3000640) at ugenioctl+0x5f
spec_ioctl(e9b55b7c,e9b55c28,c05e23c5,e9b55b7c,e0e8c330) at spec_ioctl+0x16e
spec_vnoperate(e9b55b7c,e0e8c330,c2f15dd0,10,bfca6ff8) at
spec_vnoperate+0x18
vn_ioctl(c2f15dd0,80045565,e9b55c54,c2b41b80,c3000640) at vn_ioctl+0x195
ioctl(c3000640,e9b55d14,c,c3000640,c27a1bb8) at ioctl+0x6a8
syscall(2f,2f,2f,8369200) at syscall+0x300
Xint0x80_syscall() at Xint0x80_syscall+0x1f
--- syscall (54, FreeBSD ELF32, ioctl), eip = 0x298f19cf, esp =
0xbfaeb394, ebp = oxbfaeb3c0 ---
KDB: enter: panic
[thread pid 678 tid 100184 ]
Stopped at kbd_enter+0x30: leave
db>
Regards,
Mark
More information about the freebsd-usb
mailing list