Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Hacking the Samsung NX300 'Smart' Camera (op-co.de)
87 points by jnord on April 3, 2023 | hide | past | favorite | 38 comments


This was such an exciting age, where cameras were hopefully embracing a General Purpose Computing vibe, excited to become powerful flexible API platforms open to all kinds of use.

Modern cameras have some APIs but they are very limited. Sony for example eventually built a neat Android compatibility shim that devices like the A7 ii (2014) could use to run Android apps on the camera's base OS. Latter they evolved a "Remote Camera API" with good wireless control, but which seemingly offers no on-camera programmability: a sharp turn. In early 2020, they announced a new updated Remote Camera API, which doesn't even support wireless connectivity to the camera. https://support.d-imaging.sony.co.jp/app/sdk/en/index.html

There's such a story of the aughts that is untold, of how opening the floodgates to creativity & possibility was the believed path. Your platform won by enabling more developers than any other platform. Today, we're in such a darker sadder world, where platforms are all entrapment & enshittification, enshittification all the way down, where possibilities close & doors slam shut. The NX cameras were a brilliant hopeful exciting camera, but everyone wanted hockeystick growth & massive success, and I think we radically underrated how long it really took ecosystems to develop. NX disappeared almost as fast it came. But what a promising promising device series, especially the latter appearing Linux/Tizen devices. With NX300, it was Linux to the core, great extensibility (if not well exposed).


Indeed! And they arguably should have continued down that path - the workflow on "real" cameras still generally sucks much harder than it should. If they at least exposed decent API's you could at least scaffold around the limitations more effectively. Seems odd that not any of the major players were brave enough to really try that and see if it could be turned into a competitive advantage.


I remember being amazed I could connect to the live video feed from my gopro3 over the wifi with just vlc, or trigger the shutter with an http request and a curl cronjob, back around that time. Jump to today and I got a used Sony RX10 III just to find sony had discontinued the app that your are supposed to use to control it wirelessly and there is no real alternative.


The ZCam E1 I've been using for a while for videoconferencing has a pretty marginal Android app that worked fine on my Samsung S9, but which crashes on my new S22. The bitrot on these systems is just surreal. :/

There is thankfully a decent well documented API I can hit up. The wrinkle is, I've never gotten the device to actually pair with my network so far- I have definitely contemplated plugging in a usb-wifi card to my desktop explicitly for purpose of connecting to the camera. There is an API for connecting to another wifi, which maybe perhaps might be more successful than the in-camera control, which would be nice.


Flexibility is a liability (a larger space of configurations to support) and an impediment to market segmentation :(


I always wanted to look into the Sony Android API, but I'm too heavily invested into Samsung NX right now. Do you know what functions are exposed? Can you actually write a custom camera app for time-lapses, modify exposure and WB, or is it merely a "Share with" integration to post your photos to insta?


I have Sony a5100 (from 2014) that can run Android apps and they have full control of camera, I used unofficial timelapse app for astrophotography.

https://github.com/obs1dium/BetterManual


Blog author here. This article is from 2014, and the latest documentation of Samsung NX cameras and their Linux underpinning is https://op-co.de/blog/posts/samsung_nx_archaeology/

My most fascinating find was actually the Galaxy NX, which is an Android 4 phone with a dedicated camera SoC running the same flavor of Tizen Linux as the NX300.

Edited to add: Since Dpreview is shutting down, I've also created a reddit for the Samsung NX fans: https://old.reddit.com/r/SamsungNX/


Oh hi thanks for doing this ! So I actually had dug out my one (Galaxy NX GN-120) that we had a few clients use the other day for my startup and did a little video of it here : https://www.instagram.com/reel/CpUPz0zJ-4z/?utm_source=ig_we...

I was lamenting about the development stopping on them - in our very unique use case I'd wished they'd kept that line going. There's still nothing like taking photos through a real sensor, with real glass and then having the convenience of Android with our app behind it.

I've pre-ordered an Alice Camera, I fear it won't live up to the NX somehow...


> Because hardware engineers suck at software security, nothing else was to be expected.

Person almost sounds upset, when this is fantastic news. More stuff should be open.


Blog author here. I was actually a bit upset about it, and only later realized the value they created for und community, even if inadvertently. Unfortunately, later they tried to close this door again: https://github.com/ge0rg/samsung-nx-hacks/wiki/NX300M-autoex...


> ...this is fantastic news. More stuff should be open.

Interesting idea. Did you notice this part?

>> Two of the on-camera apps (MobileLink, Remote Viewfinder) open an unencrypted access point... we can connect with whichever client, stream a live video or download all the private pictures from the SD card

It's a pretty radical idea that people's private photos and videos should be downloadable and viewable by any random stranger. Is that what you meant by "more stuff should be open"?


In an ideal world stuff would be open and secure. But that doesn't seem to be happening.


Maybe if we are super clear what "open" means. As we see here, it has different meanings for different people, apparently radically so.


Something a bit similar (although sadly less advanced) for some Sony Alpha mirrorless models: https://github.com/ma1co/OpenMemories-Tweak


I was curious about the 30min limit for G9. I thought it was from overheating or something. I had A7R3 didn't think about 30min limit (don't think I ran into it) can't recall though.


It may have been, but at least in the EU, there was a tax of 4.9% for video cameras (vs. tax free digital photo cameras) in the past, causing many manufacturers to artificially limit the video length to 29:59 minutes to not be classified as such.


It's both, actually. I run an A7S2, you have to take care that the camera has a sun shade and the screen is angled away from the case so that the CPU doesn't overheat.

And obviously, you'll still need to run Openmemories ;)


I did remember the A7R3 getting super hot in the sun, I just thought it was the because the body was black


Many years ago I bought a Samsung WB2000 and started to pick apart the firmware to see whether it would be possible to do a CHDK [1] for this camera. I dumped my findings into a wiki but life caught up with my ambitions so I never got any further, nor did I ever find out anyone else working on something similar. I was therefore quite surprised to find my initial quest [2] and an archived copy of my findings [3] linked to in this document.

I still use this camera, together with a Canon G12 which I got for €9 at a thrift store, the price was low because it had a "broken sensor" which was quickly fixed by using a hot air wand on the flex connector. It would still be interesting to make the thing do more than Samsung intended, e.g. enable that 6400 ISO setting which is present in the firmware but not exposed in the UI. Yes, it will be noisy but sometimes a noisy shot is better than no shot at all...

I eventually shut down the (Mediawiki) wiki on my server because all it attracted was spammers trying to gain access to the thing. I still have the data so I could resurrect it on my current wiki (based on Bookstack) if there is any interest - i.e. is anyone out there is interested in trying to hack camera firmware.

[1] https://chdk.fandom.com/wiki/CHDK

[2] https://chdk.setepontos.com/index.php?topic=6834.0

[3] https://web.archive.org/web/20130622011132/http://www.untern...


For the latter, the camera provides the Remote Viewfinder and MobileLink modes where it creates an unencrypted access point with wide-open access to its X server and any data which you would expect only to be available to your smartphone.

They believe in "security through not fucking working the way it's supposed to". Seriously, no other technology I've ever used has been as prone to breaking between uses and straight-up refusing to work when it was fine yesterday.


> Seriously, no other technology I've ever used has been as prone to breaking between uses and straight-up refusing to work when it was fine yesterday.

This means you didn't use Windows ME.


All this sounds great to me. Not everything needs to be security locked down; the last thing I need is a camera that demands a PIN or a fingerprint to open up its storage and take or view pictures (e.g. by encrypting the SD card). I'd much rather have one where I can rig up useful features thanks to these "security holes".


Lol what the flying f***, a whole X-server on a camera??? This sounds like really fun but horribly badly designed.


From what I've read, Samsung is pretty good at creating bloated software. But hey, it's the old "processing power is cheap but dev hours are expensive" trade-off that's lead to things like an IDE or video conferencing apps written in JavaScript...

Maybe the next camera UI will be written in React...


At one time an x-server would appear to be a sign of excessive bloat, but now days I would bet it is one of the smallest, memory efficient, pieces of software on the system.

As to leaving it open.... yeah that's a problem. or perhaps not, it is an appliance that sits on your lan, if someone gets on your lan they get to use your appliance. sort of like saying "my stove is terribly insecure, any body could just get on and use it, they could even use it to blow my house up. it is criminal that the manufacturer failed to put an auth layer on my stove"

And conversely.... it is a radio lan. there are not hard boundary like with a wired lan. and to make things worse the infernal thing enjoys making open hotspots... so final grade... shoddy workmanship in the software department.


Cameras are full fledged computers, it makes total sense. Android was originally meant to be an OS for cameras.


Been reading that book Androids pretty cool


Which book?


Androids: The Team that Built the Android Operating System (Chet Haase)

Also enjoying Dealers of Lightning about Xerox Parc


Thanks!!


There was a recent video on YT, risc-v camera hacking, pretty cool, guy was able to compile/run c code on it via serial


(2014)


I have an NX1 with grip and some nice lenses. I've been meaning to hack on it a bit, but still haven't gotten around to it


I'd recommend starting with https://mewlips.github.io/nx-remote-controller-mod/ - it's easy to install / is part of NX-KS2 mod and gives you an immediate benefit.

All the other hacks for NX1, including NX-KS2, are listed at https://github.com/ottokiksmaler/nx500_nx1_modding


It had an X server on it, seems fun.


Perhaps that makes it a good platform for hacking it into a FOSS like webcam platform?


The NX300 doesn't support running from external power, you only can charge the battery when off, or run from battery, even when plugged in. The NX500 can be used as a HDMI or network streaming camera, but I'm not sure which protocols it's using for that.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: