Page MenuHomeFreeBSD

fwcam: add IIDC 1394 FireWire camera driver
Needs ReviewPublic

Authored by guest-seuros on Fri, Jun 19, 8:41 PM.
Referenced Files
F160271505: D57685.diff
Mon, Jun 22, 7:05 PM
F160253818: D57685.diff
Mon, Jun 22, 2:33 PM
F160213947: D57685.diff
Mon, Jun 22, 6:08 AM
F160179043: D57685.diff
Sun, Jun 21, 10:52 PM
Unknown Object (File)
Sun, Jun 21, 7:10 PM
Unknown Object (File)
Sat, Jun 20, 3:16 AM
Subscribers

Details

Reviewers
adrian
ziaee
Group Reviewers
firewire
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 74032
Build 70915: 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
955

why's it empty?

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

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

60

tag renders really bad, please use bullet

65

please no macros in width fields

share/man/man4/fwcam.4
12

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
955

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
955

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

share/man/man4/fwcam.4
12

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
12

fair!

So i put both ?

share/man/man4/fwcam.4
54–63
93

here too

share/man/man4/fwcam.4
12

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.