Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - Admin

Pages: [1] 2 3
1
BPI Watchdog Software / Updated Config & Tickle Programs
« on: February 02, 2014, 18:05:24 »
The Config & Tickle programs have been updated for Win 8 (and Win XP, Vista, Win7) using .NET Framework 4. You can download a CD image here:  Download CD


2
General Discussions / Win 8 x32 & x64
« on: February 02, 2014, 17:57:37 »
Just to let you know: The watchdogs have been tested and all of them work with Win 8 - both 32 & 64 bit versions.

The Config & Tickle programs have been updated for Win 8 using .NET Framework 4. You can download a CD image here:  Download

3
This was shared by one of our users:

I find also that the included tickle program BPI_WDog_Tickle can be run as a service in Windows using Pirmasoft RunAsSvc (http://www.pirmasoft.com/runassvc.php) which is freeware.  This way the watchdog is tickled whenever the OS is running, even if no user is logged on.  It's working great.  The only drawback to this method is that the GUI for the tickle program is not accessible, so there is no visual status information (though the important stuff is visible in the config tool BPI_WDog_Config) and it must be configured via the INI file.  I have only tested this configuration on Windows Server 2003 Enterprise 32-bit.  I am using Primasoft RunAsSvc with another product on Windows 7 Enterprise 32-bit successfully but have not tested your tickle program on that OS.

Running the tickle software as a service makes the whole product transparent to the operation of Windows (except in Safe Mode) and provides built-in recovery/notification options if it crashes.

4
BPI Watchdog Software / 64 Bit DLL Added
« on: September 09, 2012, 14:30:36 »
A 64 bit DLL and sample code has been added to the distribution CD.
It is in the sub-directory: WDog_Univrsl_ConsoleAp_x64

You can download it at: Download

5
The PCIe Express version of the board uses an interface chip that has two PCIe serial COM ports. In some cases Windows assigns these COM ports to really high numbers - like COM 41 & 41.

The DLL we supply to auto-scan for our board stops searching at COM 25 to keep the search time reasonable. Therefor it fails to find an installed board.

The fix is easy.

Go into device manager and re-assign the two COM ports to something like COM16 & COM17. Windows may show a warning - but will let you change them unless there is truly another COM port there.

We are not sure why Windows assigns new COM ports such high numbers sometimes.

6
The .exe installer will fail when you try to install the driver for the PCIe card on a Win 2008 server.
You need to install drivers manually:
- go to Device Manager under control panel to find the PCIe Serial and Parallel (Parallel on Rev-A boards Only) ports
    with the yellow exclamation symbols.
- right click on them one at a time and select option to install drivers.
- select options to install manually (not from the web) and from a known location.
- on the screen for the known location browse to the CD under drivers - PN1170 (Rev-A for Rev-A boards)
    and then the 32 bit or 64 bit versions based on you system and the drivers should
    install fine.

7
** NOTE **   - Do not turn on this switch if there is no device (like a MODEM) on the Serial Output port that drives the RI pin. Otherwise this pin will float and spurious noise will cause the watchdog to think it is “seeing” RI activity and it will prematurely reset.

8
** NOTE **   - Do not turn on this switch if there is no device (like a MODEM) on the Serial Output port that drives the RI pin. Otherwise this pin will float and spurious noise will cause the watchdog to think it is “seeing” RI activity and it will prematurely reset.

9
Over the past 6 months we have had a few (less than 5) customers unable to get the WDog_Config program to work and find an installed Watchdog. We finally found a customer close by who also had the issue and they helped us to get to the bottom of the issue. The problem was in the DLL. The DLL is now version 01.14.00.

You can update your WDog_Config program by downloading a new CD image Here or you can download the updated WDog_Config program only Here. The update will also have the updated DLL.

10
BPI Watchdog Software / Another Delphi Sample
« on: June 26, 2011, 15:14:42 »
This Delphi sample code was provided recently:

unit utlberkWDog;

{
Developed by Tisfoon.com

May be used freely.
}

interface

uses Windows;

type
  WD_HANDLE  = Pointer;
  PWD_HANDLE = ^WD_HANDLE;


function berkWDogDriverExists : Boolean;
function berkWDogBoardExists  : Boolean;
function berkWDogTickle(var aTemp : Double) : Boolean;
function berkWDogEnable : Boolean;
function berkWDogDisable : Boolean;

implementation

type
  TWD_Open = function (aHandle : PWD_HANDLE): LongWord; stdcall; //cdecl;
  TWD_GetTempTickle = function (aHandle : WD_HANDLE; aTempW : PLongInt; aTempF : PLongWord; aCnt : PLongWord): LongWord; stdcall; //cdecl;
  TWD_EnableDisable = function (aHandle : WD_HANDLE; aState : LongWord) : LongWord; stdcall;

var
  FLib           : THandle = 0;

  FCheckedDriver : Boolean = False;
  FCheckedBoard  : Boolean = False;

  FDriverExists  : Boolean = False;
  FBoardExists   : Boolean = False;

  FProc_WD_Open            : TWD_Open = nil;
  FProc_WD_GetTempTickle   : TWD_GetTempTickle = nil;
  FProc_WD_EnableDisable   : TWD_EnableDisable = nil;

  FDeviceHandle  : WD_HANDLE;


{-------------------------------------------------------------------------------
-------------------------------------------------------------------------------}
function berkWDogDriverExists : Boolean;
begin
if not FCheckedDriver then
  begin
  FCheckedDriver := True;
  FLib := LoadLibrary('WDog_Univrsl.dll');
  if FLib <> 0 then
    begin
    FDriverExists := True;

    FProc_WD_Open := GetProcAddress(FLib, 'WD_Open');
    FProc_WD_GetTempTickle := GetProcAddress(FLib, 'WD_GetTempTickle');
    FProc_WD_EnableDisable := GetProcAddress(FLib, 'WD_EnableDisable');

    //FreeLibrary(FLib);  //Isn't this needed when calling procs?  YES
    end;
  end;

Result := FDriverExists;
end;

{-------------------------------------------------------------------------------
-------------------------------------------------------------------------------}
function berkWDogBoardExists  : Boolean;
var aStat : LongWord;
begin
if not FCheckedDriver then
  berkWDogDriverExists;

if FDriverExists and (not FCheckedBoard) then
  begin
  FCheckedBoard := True;

  if Assigned(FProc_WD_Open) then
    begin
    aStat := FProc_WD_Open(@FDeviceHandle);

    if aStat = ERROR_SUCCESS then
      begin
      FBoardExists := True;
      berkWDogEnable;   //enable the Watchdog 
      end;
    end;
  end;

Result := FBoardExists;
end;

{-------------------------------------------------------------------------------
-------------------------------------------------------------------------------}
function berkWDogTickle(var aTemp : Double) : Boolean;
var aTempW : LongInt;  aTempF, aCnt : LongWord; aStat : LongWord;
begin
Result := False;

if not FBoardExists then
  berkWDogBoardExists;

if FBoardExists then
  if Assigned(FProc_WD_GetTempTickle) then
    begin
    aStat := FProc_WD_GetTempTickle(FDeviceHandle, @aTempW, @aTempF, @aCnt);
    if aStat = ERROR_SUCCESS then
      begin
      aTemp := aTempW;
      Result := True;
      end;
    end;

end;

{-------------------------------------------------------------------------------
-------------------------------------------------------------------------------}
function berkWDogEnable : Boolean;
var aStat : LongWord;
begin
Result := False;

if not FBoardExists then
  berkWDogBoardExists;

if FBoardExists then
  if Assigned(FProc_WD_EnableDisable) then
    begin
    aStat := FProc_WD_EnableDisable(FDeviceHandle, $2);
    if aStat = ERROR_SUCCESS then
      Result := True;
    end;
end;

{-------------------------------------------------------------------------------
-------------------------------------------------------------------------------}
function berkWDogDisable : Boolean;
var aStat : LongWord;
begin
Result := False;

if not FBoardExists then
  berkWDogBoardExists;

if FBoardExists then
  if Assigned(FProc_WD_EnableDisable) then
    begin
    aStat := FProc_WD_EnableDisable(FDeviceHandle, $1);
    if aStat = ERROR_SUCCESS then
      Result := True;
    end;
end;


initialization

//release the library
finalization
if FLib <> 0 then
  FreeLibrary(FLib);

end.


11
Effective June of 2011 we have released a new ATX Reset Adaptor for Dell Optiplex and other models that use a non-industry standard mini-ATX connector. The Dell version is a 3.25" long assembly that also has a small circuit board with a 2 pin reset header.


12
We were recently asked by a customer - how can you incorporate user-created DLLs in WinCC - specifically the WDog_Univrsl.dll. In exchange for our help integrating their Siemens WinCC script with our DLL - they graciously provided us with a copy of the script. If you Contact Us - we will be glad to mail you a copy of the script to use as a starting point.

13
USB PC Watchdog / USB Hardware Revision-C released
« on: February 23, 2011, 20:37:31 »
An updated version of the USB board has been released. It now has a digital input that can be used as an external "tickle" signal, a general purpose digital input, or an input edge change detector. An example of edge change usage would be a kiosk door entry switch.

14
USB PC Watchdog / Using the USB Watchdog with Linux
« on: February 11, 2011, 12:55:36 »
This is a question we get frequently. Here is the answer for a customer using Debian v6:

To use watchdog devices in Linux you will need a watchdog deamon.
This daemon will communicate via the /dev/watchdog device to your watchdog-driver/device.
The watchdog daemon needs to tickle/ping the watchdog to keep the system running.
If the daemon doesn't tickle/ping the watchdog, then the system will now that something is wrong and reboot.

How is this done in debian:

First make sure that you have the USB watchdog module loaded.
With the following command you can see it the module exists:
debian-server:~# ls /lib/modules/`uname -r`/kernel/drivers/watchdog/pcwd_usb.ko

Check if the module is loaded with:
debian-server:~# lsmod | grep pcwd_usb
If it is not loaded the load the module with:
debian-server:~# /sbin/modprobe pcwd_usb
And you could add it to your /etc/modules files so that it get's automatically loaded on reboot:
debian-server:~# echo 'pcwd_usb' >> /etc/modules

The watchdog dameon is available in the watchdog package.
You can get/install it with:
debian-server:~# apt-get install watchdog

You then need to check it's configuration file (/etc/watchdog.conf) and set things right.
With Debian Lenny you could do this:
debian-server:~# echo "file = /var/log/messages" >> /etc/watchdog.conf
debian-server:~# echo "watchdog-device = /dev/watchdog" >> /etc/watchdog.conf

you can start the watchdog ow with:
debian-server:~# /etc/init.d/watchdog restart

15
BPI Watchdog Software / Utility Programs are now digitally signed
« on: February 06, 2011, 18:25:52 »
The two utility programs supplied on the CD: BPI_WDog_Config & BPI_WDog_Tickle are now digitally signed so they can be installed without getting the Untrusted Software warning screen. Use this Link to get a .ZIP image of the current CD.

Pages: [1] 2 3