News:

Re-organized the forum to more cleanly delineate the development section, as the end user support side appears to have taken a life of its own!

Author Topic: Change Device ID on Foscam?  (Read 13310 times)

January 31, 2013, 02:42:47 pm
(This is in regards to an FI8910W, but I imagine it would apply to any foscam cam)

I find it *really* annoying that whenever I get an email alarm alert, the subject line always includes the long (and useless) device ID before showing the device alias in parentheses.

I doubt there's a way to change this behavior, so I thought I would change the device ID to something useful (or just blank it out altogether). I downloaded a backup parameter file using the "backup_params.cgi" command and opened up the bin file with a hex editor.

The device ID is stored in bytes 12 (0xc) through 23 (0x17) in ASCII. Is it safe to replace these bytes with my own and then send this parameter file back to the camera? Could I replace it with all x00s to completely blank it out? Or with an alias shorter than 12 characters with x00s padded on the end?

Am I risking a brick? Are there any other parts of the camera software that rely on this value being unchanged?

  • ***
January 31, 2013, 04:31:06 pm
(This is in regards to an FI8910W, but I imagine it would apply to any foscam cam)

I find it *really* annoying that whenever I get an email alarm alert, the subject line always includes the long (and useless) device ID before showing the device alias in parentheses.

I doubt there's a way to change this behavior, so I thought I would change the device ID to something useful (or just blank it out altogether). I downloaded a backup parameter file using the "backup_params.cgi" command and opened up the bin file with a hex editor.

The device ID is stored in bytes 12 (0xc) through 23 (0x17) in ASCII. Is it safe to replace these bytes with my own and then send this parameter file back to the camera? Could I replace it with all x00s to completely blank it out? Or with an alias shorter than 12 characters with x00s padded on the end?

Am I risking a brick? Are there any other parts of the camera software that rely on this value being unchanged?

I answered you about this subject, in the Foscam forum, but I will do it here as well.

This Device ID is multi-purpose. It's a MAC Address, a Bonjour registration ID as well as used for many other things. So, modifying it incorrectly, could cause enough issues to brick your camera, if it's not done properly.

Secondly. There is a checksum in this file, that would require re-calculation for any content you change or alter, in this file, after it was initially created.

If, somehow/someway your changes cause the camera not to be able to initialize in some way correctly. The camera might not be able to complete a full boot. Additionally, any camera functions during normal camera operations that may reference the Device ID and fail due to parsing issues could also take place during normal camera operations.

Since this memory area that stores the params.bin data in the camera, is not always the same length or even located in the same place. It might be complicated to recover the camera due to the camera not being able to fully re-boot to be able to use the .cgi or WebUI restore methods for a new params.bin file to replace the one failing.

This would mean you could end up needing to modify camera memory using the boot loader interface to alter memory to a point where the camera could complete a full boot.

IMHO. If I were going to do this. I would make sure I knew the memory location of the specific camera, where the params.bin data was being stored, prior to making a change like this. Which of course would also imply that to have that knowledge, you would also have a working serial interface to the camera as well.

Just as one example. Because the Device ID is also a MAC Address, most likely trying to use ASCII spaces in place of current Hex Digits in the Device ID, will cause issues with the cameras communications interface capabilities, not to mention anything else the camera may use that parses/uses the cameras Device ID, during or after camera initialization.

More here on examples of locating that memory area:

http://www.openipcam.com/forum/index.php/topic,473.0.html

Please note that the link above has a link to a modified w_fostarn.exe that can calculate/create a new checksum, for a modified params.bin file.

That said. It's known that there have been more than one params.bin format. So please understand the risks involved when doing any of these things.

Who knows? You might get lucky enough that simply using the cameras reset button you could get away with undoing whatever changes you make that cause the camera not to be able to do a complete initialization. But, no promises.

Additionally. Other things that could be impacted by as an example adding ACSII spaces in the Device ID are URL encoding, the IP Camera Tool, the standard camera interface that comes with the camera as well as 3rd party applications that may have parsing logic for the value of the Device ID, that could now fail.

Don
« Last Edit: January 31, 2013, 07:34:57 pm by TheUberOverLord »

February 01, 2013, 12:44:49 pm
Ha, didn't realize you were on this forum as well!  I won't double-post in that case.  :)