Page MenuHomeFreeBSD

fwcam: add IIDC 1394 FireWire camera driver
ClosedPublic

Authored by guest-seuros on Fri, Jun 19, 8:41 PM.
Referenced Files
F160640746: D57685.id180112.diff
Fri, Jun 26, 10:16 AM
F160634144: D57685.id180259.diff
Fri, Jun 26, 9:06 AM
F160619201: D57685.id180108.diff
Fri, Jun 26, 6:44 AM
Unknown Object (File)
Thu, Jun 25, 10:55 AM
Unknown Object (File)
Wed, Jun 24, 10:06 AM
Unknown Object (File)
Wed, Jun 24, 7:53 AM
Unknown Object (File)
Wed, Jun 24, 2:58 AM
Unknown Object (File)
Wed, Jun 24, 12:00 AM
Subscribers

Details

Summary

Add fwcam(4), a driver for IIDC v1.30 (TA Document 1999023) digital
cameras over IEEE 1394.

Supports Format_0 (VGA) video modes with isochronous receive DMA,
feature control (brightness, exposure, gain, shutter, white balance,
focus, etc.), poll/kqueue, and hot-plug via bus reset handling.

Test Plan

Documetation sections are annotated.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 74036
Build 70919: arc lint + arc unit

Event Timeline

share/man/man4/fwcam.4
2

Please prepend a blank comment line for conformance with style guides and consistency with C style comments.

12–27

I know we have widespread usage of this, but if you read mdoc(7), it is wrong.

remove bring-up debug logging.

in general this looks fine! thanks!

sys/dev/firewire/fwcam.c
954

why's it empty?

This revision is now accepted and ready to land.Sun, Jun 21, 8:14 PM
share/man/man4/fwcam.4
11

i dont know the international expectations, but in the US i think firewire would be a much more common and expected search term

59

tag renders really bad, please use bullet

64

please no macros in width fields

share/man/man4/fwcam.4
11

The how the spec spell it : https://damien.douxchamps.net/ieee1394/libdc1394/iidc/IIDC_1.31.pdf

Write : IIDC over firewire in google, and you get Gemini explaining you IIDC 1394-based digital camera

When i asked AI if we have such driver, it searched "FreeBSD IIDC 1394-based digital camera driver 2025 2026"

In the driver messages i used firewire.

sys/dev/firewire/fwcam.c
954

The cameras I have tested so far don't need any bus reset recovery IIDC state is re-established through post_explore.

I left the empty stub as scaffolding so the hook isn't forgotten when I get hardware that does need it (some cameras require re-negotiation after reset).

Happy to remove it and track in my notes if you'd prefer it gone.

sys/dev/firewire/fwcam.c
954

It's fine leaving it in here as scaffolding! thanks.

share/man/man4/fwcam.4
11

i want humans to be able to search the manual to find what they need. the Nd field contains the search keywords.

share/man/man4/fwcam.4
11

fair!

So i put both ?

share/man/man4/fwcam.4
53–62
92

here too

share/man/man4/fwcam.4
11

both is fine with me, although i dont know how to word that elegantly. compare with the other firewire device driver in the tree, https://man.freebsd.org/fwohci

This revision now requires review to proceed.Mon, Jun 22, 12:18 AM
share/man/man4/fwcam.4
97

can it only be set in loader.conf and not at runtime? we separate these out usually into SYSCTLS and TUNABLES, which (from ux standpoint) are the same except tunables can only be set at boot time through loader.conf or the loader prompt, whereas you can do that with sysctls but they can also be turned during runtime.

This revision is now accepted and ready to land.Thu, Jun 25, 2:07 AM
This revision was automatically updated to reflect the committed changes.