View RSS Feed

oldcpu's meandering thoughts on Computers, GNU/Linux and openSUSE

Foscam FI9831W IP-Camera with openSUSE-13.1

Rate this Entry
.
This blog entry describes some of my early openSUSE-13.1 experiences with a Foscam FI9831W IP-Camera using openSUSE-13.1. First let me say this IP-Camera works well with my Android device (and WinXP under Virtual Box), albeit I don't yet have full native openSUSE GNU/Linux functionality.

One thing to note in general about most (all ?? ) IP-Camera(s), is they have in fact computers embedded inside, which run the GNU/Linux operating system, where that GNU/Linux is not observable from the outside (its all transparent to IP-Camera users and the operating system can not be seen).

First some detail on this camera :

Some specifications:

  • Display Resolution 1280x960 (1.3 Megapixel)
  • Lens f: 2.8mm, F:2.4
  • Mini Lumination 0.5 Lux (this equates to very good night vision)
  • Input Built-In Microphone
  • Output Built-In Speaker (External Speaker Jack Available)
  • Audio Compression G.711/G.726, Audio sampling Bit rate 128kbps ~ 2.048Mbps
  • Image Compression H.264
  • Image Frame Rate 25fps(50Hz), 30fps(60Hz),Down adjustable
  • Ethernet One 10/100 MBPS RJ - 45
  • Wireless Standards IEEE 802.11 b/g/n - Data Rate WIFI(IEEE802.11b/g/n)
  • Wireless Security WEP & WPA WPA2 Encryption
  • Pan/Tilt Angle Horizontal: 300° & Vertical: 120°
  • Infrared Light 5mm 11 IR LEDs, Night visibility up to 8 metres


The box it comes in looks like this:



and from the manufacturer's page, the webcam looks like this from the front:



.
and this from the back :


with the connections on the back looking like this :



where in the above image, from left to right, one can see
  1. DC 5-volt power-inlet
  2. wired ethernet input socket
  3. two LEDs to indicate Ethernet/power status of device
  4. SD card slot
  5. connector for wireless antenna
  6. audio out (for external speaker – as the FI9831W's integrated speaker is low quality)
  7. audio in (for external microphone – as the FI981W's integrated mic is low quality)

I had previously read there was limited GNU/Linux compatibility with this Foscam FI9831W. I had also read of a number of users complaining how difficult it was to setup this Foscam camera. And finally I read of a fair number of FI9831W returns by disgruntled users who either encountered hardware failures possibly due to poor quality or who simply could not get it to work due to their technical knowledge levels. I did not know which and maybe both. Hence I decided to :

  • purchase from a reputable supplier where I knew I could return it if it did not work, and
  • setup with manufacturer supplied software/plugin under MS-Windows to ensure I could take advantage of manufacturer support if needed (which would simplify any return decisions).


Installation

When first starting, I plugged the IP-Camera power adapter in, and also plugged in a wired Ethernet connection to the IP-Camera.

With the support of some superb user 'setup guidance' videos on Youtube, and per the provided Foscam manual, I setup the IP-Camera using WinXP running inside an openSUSE-13.1 VirtualBox session. Its very important that one's PC and the Foscam FI9831W IP-Camera are on the same LAN, so that the IP-Camera can be easily seen by Firefox browser running the manufacturer's plugin. To enable this on WinXP in a Virtual Box session (under openSUSE-13.1) I had to change the network settings from the nominal “NAT“ settings that I use, to instead “Bridged Adapter“. Once I did that the winXP could see the camera on the same home LAN.

I downloaded the Manufacturer's application for setting up the webcam (which is a ZIP file with an .exe file inside) , put that on the WinXP desktop, and ran it. That launches a small window which gives the IP-Camera's IP address. In truth I did not need that to see the IP-camera's IP address, as the application “Fing“ on my home Android devices gives me a list of all IP-devices and I could see the camera there obtaining an IP-address from my home router.

In winXP in the manufacturer's installation application, I then double-clicked on the line with the IP-address, and that launched Firefox with a internet access window and a line above indicating that a plugin was needed. Clicking on the line for the plugin lead one into the process for installing the plugin.


Initial Password Hiccup

After the plugin installation process was complete, I then entered the IP-Camera setup using “admin“ as user name and < return > as the password. That is the default admin setting for this IP-Camera. Hence the very first thing I did was change the admin password. But when I went to use my new admin password I could not access the device, and I was totally locked out – rendering the device useless.

So I had to then perform a factory reset (which fortunately is easy) by using a paperclip and inserting the paperclip into the small reset hole on the bottom of the IP-Camera and holding it for ~30 seconds. That reset everything on the device to factory settings, including password.

I then repeated the above process, this time being more careful when changing the admin password, and this time it worked.

I note I am getting older and I make more typographical errors now in my age, than I did 45-years ago when I first learned to touch type. Hence all I can figure is I made a typo in first typing the lengthy password, which I could not replicate when trying to log back in with the original new password.

After successfully sorting the admin password, using the IP-Camera's menu's in firefox browser, within the IP-camera I created a new user with less permissions, and subsequently always logged on as that user.


Wireless

I then setup the IP-Camera's wireless, which was pretty easy. I had to enter the SSID, network password. I also setup the IP-Camera to have a static IP address on my home LAN (and not a dynamic IP) which was also pretty easy, as I just needed to enter in the camera's setup:
  • static IP-address that I wanted to use
  • subnet mask (always 255.255.255.0)
  • Gateway (my router's internal home LAN IP)
  • Primary DNS server (also my router's internal home LAN IP)
  • Secondary DNS server (also my internal home LAN IP)

and then save the settings. In fact the biggest mistake I normally made was forgetting to save settings, and having to go back and re-enter them.

At this point the IP-Camera had wireless access, and no longer needed a wired connection to my home LAN.

Now the above was actually quicker to do, than it was for me to compose the above text. All-in-all it was pretty quick.

I then played a bit with the IP-Camera using WinXP and then stopped. As I don't really enjoy using WinXP. So it was time to see what I could do with operating systems based on GNU/Linux. I will go into that detail in my subsequent posts:

.... to be continued ...

Submit "Foscam FI9831W IP-Camera with openSUSE-13.1" to Digg Submit "Foscam FI9831W IP-Camera with openSUSE-13.1" to del.icio.us Submit "Foscam FI9831W IP-Camera with openSUSE-13.1" to StumbleUpon Submit "Foscam FI9831W IP-Camera with openSUSE-13.1" to Google Submit "Foscam FI9831W IP-Camera with openSUSE-13.1" to Facebook Submit "Foscam FI9831W IP-Camera with openSUSE-13.1" to Twitter

Updated 24-Aug-2014 at 08:12 by oldcpu

Categories
Uncategorized

Comments

  1. oldcpu's Avatar
    .
    Android Setup

    I have a couple of Android devices at home. One is an old low-performance Asus Transformer TF-101 tablet (which has the very latest Android version on it due to superb 3rd party hacker community support) and a relatively high-performance Chinese dual-sim octa-core smartphone (Zopo ZP-980+) .

    IP-Cam Viewer – lack of success

    At first I installed an Android app called "IP-Cam-Viewer". In that I entered the Camera's IP-address on my home LAN, entered the camera's port (by default port '88') , and entered the newly created camera's username and password. That initially worked ok, and I could see the camera's video output, and control the cameras pan and tilt with my Android device !

    I then setup port forwarding on my home router to port forward from a high port number on the router (say 63000) to the camera's appropriate port (which is port '88' by default). But I failed in accessing the camera from the Internet using that setup.

    Not only did I have that problem, but then the internal LAN access to the camera stopped working. I double checked the router/application settings and they were correct, which made me think of 2 possibilities:
    (1) application did not work
    (2) camera was broken.
    Turning camera on/off did not help. I still could not access the camera remotely.

    Hence I decided to see if it was an application problem (possibly bad configuration information now stored on my Android device associated with the IP-Camera application).

    So I tried another Android application and that worked.

    IP-Cam-View-Basic - success !!

    I installed the android IP-camera application called ”IP-Cam-View-Basic” and it immediately worked both on my home LAN, and also with my external IP address settings.

    With this application, using my Smartphone from anywhere, I can control the IP-Camera's pan and tilt, and see the camera's video. It uses a lot of bandwidth, so its nominally best NOT to use with 3G, but rather use only when one's Android device has wireless Internet access. If one were to use 3G, the video that is being streamed could use up most of one's monthly bandwidth which is not desirable.

    Here are a couple of images from the IP-Cam-View-Basic webpage, which illustrates the sort of menu that one will see on their Android phone :



    and if one clicks on the "PTZ Preset" control one obtains something like:



    (the above will vary dependent on the resolution of one's Android phone display).

    I also setup the IP-Camera with motion detection at specific times of the day (when no one is nominally home) and an email alarm to indicate when there is motion detected by the camera. Hence if I receive such a notification in my email, I could then use 3G to observe the intruder.

    OpenSUSE GNU/Linux

    Thus far, until this point, my openSUSE use, had been limited to running winXP in a Virtual Session and I did not want to be restricted to only doing that for desktop PC access to the IP-Camera.


    Video in GNU/Linux Browser

    First, it is possible to access the camera's setup by typing in a GNU/Linux browser the Camera's IP and port. Ie Say for example, the camera's IP is: 192.168.1.30, and the Camera's port for the controls is port '88'. Then one would type: 192.168.1.30:88 and that gives access to the camera's login” under GNU/Linux. Entering username/password gives one entry to the Camera's setup.


    Note the plugin link on that page does NOT work with GNU/Linux. And since there is no-plugin for GNU/Linux, one does NOT see the camera's video streamed, nor does one have access to the camera's pan/tilt controls.

    But I noted this page on the Foscam support forum, which provided this line for use with one's browser (such as firefox). What I did was copy the text in the code below into a text file that I called “myfoxcam.html” and when clicking on that file, it will display the camera's video in the browser:
    Code:
     <img src="http://192.168.1.30:88/CGIProxy.fcgi?cmd=snapPicture2&usr=username&pwd=userpassword&t=" onload='setTimeout(function() {src = src.substring(0, (src.lastIndexOf("t=")+2))+(new Date()).getTime()}, 1000)' onerror='setTimeout(function() {src = src.substring(0, (src.lastIndexOf("t=")+2))+(new Date()).getTime()}, 5000)' alt='' />
    Where if you look closely at that code, you will see “http://192.168.1.30:88” and also see “username” and “userpassword” where one should instead place their Camera's internal IP address, their Camera's 'username' and their Camera's 'userpassword' .

    So I could now display the camera's video within a GNU/Linux (openSUSE-13.1) Firefox browser.

    Note this is streaming from the camera using the h264 encoding, hence I suspect ffmpeg and some other Packman applications I have installed make this display possible, and without those likely this would not work. I can not say which specific Packman apps were needed, as I already have many Packman packaged multimedia apps installed for h264.


    Video via RTSP:

    Further to this, I noted if I copied the following text into a browser I could have the option to display the browser's video with my VLC player:
    Code:
     rtsp://username:userpassword@192.168.1.30:88/videoMain
    where again, one should instead place their Camera's internal IP address, their Camera's 'username' and their Camera's 'userpassword' .

    VLC standalone

    I also noted if I launch 'vlc' player, go to Media → Stream → Network and enter the same 'rtsp' line as above, I can also stream the IP-Camera's video direct to vlc. With that, the video was displayed with my vlc viewer.


    PAN/TILT and ZOOM


    What I have failed to do thus far, is control PAN/TILT and ZOOM from a regular GNU/Linux distribution. I read of a success story here, where a GNU/Linux user with a Foscam FI9831W was able to control pan/tilt with GNU/Linux , but I have not been able to replicate their pan/tilt control success with openSUSE-13.1. Fortunately the pan-tilt DOES work with my mobile phone and my Tablet (running Android 'GNU/Linux' variant), which is the main method in which I plan to use to control the cameras pan/tilt.
    .
    Updated 27-Oct-2014 at 23:15 by oldcpu
  2. oldcpu's Avatar
    .
    Pan and Tilt control from within GNU/Linux (success)

    More on using GNU/Linux for a PAN/TILT with the FI9831W. On the Foscam Web site Forum page, user " TheUberOverLord " has packaged a number of HTML applications for FOSCAM cameras. That user also offers a commercial support, where one can pay him to help on setup one's generic browser (operating system independant) to work with a Foscam Camera for PAN and TILT.

    He also provides free packages for a browser. He provides guidance here, where I initially found that a bit over-whelming due to the many examples and varied links he had on that forum page.

    But ultimately, using his "free" pages (without having to contact him for support), the bottom line is one can download the HTML page from here and save it locally (do NOT click on it to run ... it needs to be edited) :
    http://www.saveontelephonebills.com/...neric21V20.htm

    And then one goes in and edits the file:
    • IP Address or DDNS and Port
    • Valid User Id For Camera
    • Valid Password for above

    After that is done, one can click on that locally, and one is presented in one's default browser with a page with PAN/ZOOM controls and an image (640 resolution) from their camera that works with the Camera controls (and while coded for the FI9821W, it appears to work with my FI9831W).

    The file can then be edited to have a higher resolution. ... etc ... For example 1280x920 resolution worked with my FI9831W, albeit the image (and controls) were a bit larger than my desktop computer display could show all at once, and I had to scroll up/down to access the PAN/TILT controls.

    I successfully tested this with openSUSE-13.1 (on my home LAN) with both Firefox browser and Google Chrome browser.

    I do note thou, that it will send a username and password "in the clear" (unencrypted) over the internet, so its likely not safe to use from outside of one's internal home LAN.

    Many thanks to Foscam user "TheUberOverLord" for making this freely available.
    .
    Updated 31-Aug-2014 at 01:39 by oldcpu
  3. oldcpu's Avatar
    I previous put on 'hold' my GNU/Linux efforts with this Foscam FI9831W, until I applied a firmware upgrade. I wanted to have that in place so as to obtain the latest security update, as I am concerned these IP cameras are relatively susceptible to hacking.

    My Foscam fi9831W came with firmeware 1.11.1.12. Per the FOSCAM instructions I performed the following upgrade sequence:

    • Start configuration: System Firmware 1.4.1.5, Application Firmware-1.11.1.12, Plugin-version-2.0.1.4; then to
    • System Firmware 1.4.1.8, Application Firmware-1.11.1.14, Plugin-version-2.0.1.11; then to
    • System Firmware 1.4.1.8, Application Firmware-2.11.1.6, Plugin-version-2.0.1.11; then to
    • System Firmware 1.4.1.9, Application Firmware-2.11.2.8, Plugin-version-2.0.1.11; then to
    • System Firmware 1.4.1.9, Application Firmware-2.x.1.10, Plugin-version-3.0.0.1


    = = = =

    First Firmware update:

    System firmware version:1.4.1.8
    App firmware version:1.11.1.14

    New features:
    1) Support ONVIF;
    2) Support uploading snapshots to FTP server in scheduled time;
    3) Support uploading scheduled recordings onto FTP server (without audio);
    4) Support scheduled record feature to SD card;
    5) Support pumping frame for schedule record to SD card;
    6) Prompt you change the default login user name and password to improve the security;
    7) Add the sound beep at the end of computer;
    8) Support setting cruise time;
    9) Support play all recordings function;
    10) Indicate password security level when changing/setting the camera login password;
    11) Support IE11;
    12) Support SD card management on web UI.

    Improvements:
    1) Extend the Max alarm recording time to 5 min;

    = = = = =

    Second Firmware update:

    System firmware version: 1.4.1.8
    App firmware version: 2.11.1.6

    New features:
    1) Support hidden SSID;
    2) Support privacy area on snapshots;
    3) Support to revise the video settings for sub stream;
    4) Support do scheduled record on substream;
    3) Support turnning on/off the IR LEDs in scheduled time;
    4) Support to customize the cruise loops;
    5) Support configuring dwell time at each presets when cruising.

    Improvements:
    1) Enhance the security when using CGI to do snapshot;
    2) Enhance the SD card storage feature;
    3) Enhance the ONVIF feature;
    4) Fixs the no beep sound on PC when alarm triggered if accessing via IE8 on Windows XP;
    5) Fixs the bug snapshot not complete when resolution set to 960P;
    6) More friendly Web UI.

    = = = = =

    Third Firmware update:

    System firmware version: 1.4.1.8
    App firmware version: 2.11.2.8

    Improvements:
    1) Protect all the characters involved in the code decryption, username, password;
    2) Fixed the bug that visitor and operator can brower to Settings interface if not install the plug in.

    = = = = =

    Fourth (and final) Firmware update:

    System firmware version: 1.4.1.9
    App firmware version: 2.x.1.10

    Improvements:
    1) Enhance the security of Foscam DDNS;
    2) Introduce .exe plugin which only need to be installed once and will work for 3 web browsers (for Windows user);
    3) Add patch installation function;
    4) Add setup wizard function;
    5) Add the download button of latest firmware;
    6) Support upload alarm recordings to FTP server (without audio);
    7) Add prerecord for cameras without SD card;
    8) Improve the RTSP feature;
    9) Enahnce the ONVIF;
    10) Ehance the over-write feature on SD card;
    11) Improve the wifi driver.

    = = = = =

    They don't say what the Foscam DDNS security patch may be, but I believe it important.

    With these updates in place, possibly next weekend I'll try again to check the GNU/Linux compatibility.
    .
  4. oldcpu's Avatar
    Quote Originally Posted by oldcpu
    I previous put on 'hold' my GNU/Linux efforts with this Foscam FI9831W, until I applied a firmware upgrade. I wanted to have that in place so as to obtain the latest security update, as I am concerned these IP cameras are relatively susceptible to hacking.
    It turns out there is another Foscam update to new firmware 2.x.1.116. Reference: http://foscam.us/forum/new-firmware-...ed-t11118.html. I missed this update, as it is not yet on the German Foscam site, although it is on the Foscam Asia site.

    I plan to apply this firmware prior to any further GNU/Linux updates on this blog entry wrt using the IP camera with GNU/Linux. In particular I want to the the improved security updates in place.

    New Firmware 2.x.1.116

    Improvements:
    1)Improve the security of CGI and RTSP.
    2)Optimize the Main Stream and Sub Stream function;
    3)Add new configuration option "Enhanced the night vision definition under Video Settings;
    4)Add new feature that modify IP address without rebooting the camera;
    5)Optimize the display effect of OSD;
    6)Add Variable bitrate function on the Main stream video setting;
    7) Fix the problem that certificate of the plug-in is expired.
    .
    Edit: On the US foscam Forum I read of some users who are unhappy with this firmware update: http://foscam.us/forum/fw-v-2-x-1-11...rs-t11144.html

    And I have also read there is an "optional" firmware patch for 2.x-1-116 users: http://foscam.us/forum/official-opti...16-t11259.html

    This is an optional patch for firmware version 2.x.1.116 only. That you don't need to install unless you are encountering one of the three issues listed below and/or you wish to fortify your HTTPS access to your camera, which is using firmware version 2.x.1.116.

    This is an offical patch for H.264 based IP Cameras currently being sold that are on firmware versions 2.x.1.116 produced by Foscam as an interim fix between firmware releases.

    This patch fixes the following issues:

    1. If you use HTTPS access methods to access your cameras. Disables SSL 3.0 when using HTTPS access methods to the camera using the Standard Camera Interface to mitigate the Poodle vulnerability.

    More details about the Poodle vulnerability here:

    https://www.openssl.org/~bodo/ssl-poodl ... clnk&gl=us

    2. Fixes the issue where the Pan/Tilt controls are not being shown in the Standard Camera Interface.

    3. Fixes the issue where the Playback tab is not being shown in the Standard Camera Interface.

    Given the above, I think I will wait before updating.
    Updated 07-Nov-2014 at 03:34 by oldcpu (latest information on the firmware patch)