Case study
fuji-cam-wifi-tool: reconstructing Fujifilm X-series Wi-Fi remote control
Reimplements the Wi-Fi remote-control protocol of Fujifilm X-series cameras as a C++ library and an interactive command-line client that joins the camera's access point. Its headers name the control, event and JPEG live-view ports, message types and camera property codes, and source comments keep hex traces of exchanges along with what "the app" sends; the client connects, fires the shutter, records video, adjusts exposure settings and focus point, and streams live view, optionally into a Linux webcam device. README calls the tool very limited and mostly undocumented, so the protocol knowledge lives in code and comments rather than a specification.
- Targets
- Protocol
- Category
- Independent reconstruction cases
- Relationship
- Independent reconstruction project
- Sources reviewed
Requirements & limits
- Reviewed at master commit c597fc4 of 2021-03-17, the repository's last push; there are no releases or tags. The README describes an attempt to reverse-engineer the protocol, calls the tool very limited and mostly undocumented, and suggests reading the code. Its connection steps name the X-T10 and a source comment mentions focus-point ranges on the X-T100; no compatibility list for other X-series models is given.
- Requires the user's own Fujifilm X-series camera with Wi-Fi remote control: the computer joins the camera's access point, the client connects to 192.168.0.1 on ports 55740–55742, and the first connection must be confirmed on the camera, where the tool registers as "HackedClient". The repository contains no camera firmware, Fujifilm app or capture files; the README gives Wireshark display filters for viewing control messages and streamed JPEG frames.
- README documents CMake builds on macOS, Linux and Windows (CMake 2.8.11 minimum, C++11). The interactive shell needs the hkr/linenoise-ng submodule initialized, and Windows builds link Winsock. Optional OpenCV support adds stream_cv, which can feed live view into a Linux v4l2loopback device for use as a webcam.
- The repository has no tests or CI. Message meanings are inferred in code comments, several of which are marked unknown or TODO, and command behavior on cameras remains contributor-reported; this review built and ran nothing.
- Released under the Unlicense, a public-domain dedication; AUTHORS.txt lists five contributors. Fujifilm cameras, firmware, apps and trademarks keep their own rights. The reviewed sources establish no AI or REA use.
About this entry
The description was reviewed against primary sources. This does not establish runtime testing, security auditing or verified compatibility.
Primary sources
- README.md GitHub · hkr/fuji-cam-wifi-tool · Revision c597fc4
- lib/include/comm.hpp GitHub · hkr/fuji-cam-wifi-tool · Revision c597fc4
- lib/include/message.hpp GitHub · hkr/fuji-cam-wifi-tool · Revision c597fc4
- lib/include/capabilities.hpp GitHub · hkr/fuji-cam-wifi-tool · Revision c597fc4
- lib/src/commands.cpp GitHub · hkr/fuji-cam-wifi-tool · Revision c597fc4
- tool/src/main.cpp GitHub · hkr/fuji-cam-wifi-tool · Revision c597fc4
- tool/CMakeLists.txt GitHub · hkr/fuji-cam-wifi-tool · Revision c597fc4
- .gitmodules GitHub · hkr/fuji-cam-wifi-tool · Revision c597fc4
- AUTHORS.txt GitHub · hkr/fuji-cam-wifi-tool · Revision c597fc4
- LICENSE GitHub · hkr/fuji-cam-wifi-tool · Revision c597fc4