I have an OS WMR918 which I have had running perfectly with Weather Display on XP on my laptop.
I have decided to change to Linux, and installed Ubuntu 8.04 and WD for Linux (latest version).
I can’t get the weather station to talk to WD now though, no matter what settings I choose.
I have the right comm port selected I’m sure, and if I select the WMR918/WMR968 station in WD I sometimes get one temp reading and one humidity reading appear, but no more. If I choose the straight WMR918 setting in WD I get nothing.
Any ideas? I’m not sure if this is a WD issue or perhaps a comm port thing with Ubuntu.
I also get this from the terminal, which I guess is probably relevant:
Gtk-WARNING **: gtk_widget_size_allocate(): attempt to allocate widget with width 17 and height 65535
TApplication.HandleException Access violation
Stack trace:
$B78D0811
$B7CD057E
$0844F473 TFORMCOMPORT__OPENTHECOMPORT, line 336 of comport.pas
$08130E15 TMAINFORM__COMPORTCONNECT, line 44764 of mainunit.pas
$081409FD TMAINFORM__COMMUNICATIONS1CLICK, line 52123 of mainunit.pas
$088AD9D9 TFORMCONTROL__IMAGE1CLICK, line 223 of controlpanel.pas
$0807C9A4 TCONTROL__CLICK, line 2094 of ./include/control.inc
$0807C78D TCONTROL__WMLBUTTONUP, line 2006 of ./include/control.inc
$08C98829
$0807AA18 TCONTROL__PERFORM, line 984 of ./include/control.inc
$080722EF TWINCONTROL__ISCONTROLMOUSEMSG, line 4129 of ./include/wincontrol.inc
$08073579 TWINCONTROL__WNDPROC, line 4687 of ./include/wincontrol.inc
$08B19757 DELIVERMESSAGE, line 3605 of gtkproc.inc
$08B24343 DELIVERMOUSEUPMESSAGE, line 1642 of gtkcallback.inc
$08B24447 GTKMOUSEBTNRELEASE, line 1698 of gtkcallback.inc
$B7AD0754
$B7B050A2
The terminal now gives ever increasing numbers off:
“ser_read error Resource temporarily unavailable”
The title line of the WD window still says Comm OK #1. The data received button is not flashing.
Ok, under the data setup page it says:
Loaded all time records
Connecting comm port
Trying to open comm port 1 handle → 16
Comm port connected OK
Changing to the WMR968 and restarting doesn’t cause the data received light to start flash. The data logger says the same as above, plus ‘Set comm port to 9600 OK’. If I click ‘Get Data’ in the logger it repeatedly scrolls ‘trying to get data, Retrying 0’.
You might try validating serial communication with logserial. You may want to check this thread out http://discourse.weather-watch.com/t/37127 just to validate that you are getting data down the serial port from the weather station.
Several things to check permissions on the serial port, use logserial to validate data flow and statserial to check the status of the serial port.
That thread looked very promising, as the problems are exactly the same as I’m experiencing. I thought I was going to get the problem solved, till I got to the punchline:
“I don’t know what I did, it just started working.”
Now that’s no help to me I’m afraid!
I’ve used minicom to see what’s coming down the serial port (as I can’t compile logserial), and I’m getting a regular feed of data from the weather station through the comm port OK.
I have tried everything in that thread, including amending permissions of ttyS0 and WeatherD, and running as super user. It’s definately a problem with WD reading from the serial port though, because I get ‘ser_read error. Resource temporarily unavailable’ straight after initialisation.
One key thing is to change only one thing at a time and test. Most common is making sure you have the right serial port with the correct permissions.
It seems odd that if you have data coming through the minicom and running WD as root did not work. One thought is that you are not using the right hardware port, do you have two serial ports on the box?
My understanding of the ser_read error is that it is timeout message and may be an indicator that you are not actually talking to the serial port.
What is the reason you can’t compile logserial? I may have a perl script that I can configure to test the serial port but logserial is pretty good and it may take me some time to get the perl script in place.
This may a little off the wall
is youconsole and Linux machine times are the same I have The 968 and I confirm it does work
Another option is try a complete reset of the console
Coyote
before starting WD type in : export DEBUG=
then start WD.
Normally after WD is started you should see debugging messages sent by the libcom functions. Tell us what you see. I am afraid you’ll get error “resources busy” or smthg like this. This is an issue we are trying to fix.
First of all, thanks everyone for taking the time to reply.
Mike - I totally get what you say about logically searching for the cause of the problem. As I see it, I know the hardware works as the same hardware works 100% with WD on XP. I’m 99.9% certain comm 1 is the correct comm port, and I only have one serial port on this laptop. Short of reinstalling XP and seeing which comm works I won’t be 100% certain. I have ascertained that comm 1 is accessible to software under my Ubuntu install, and I can receive data on it at 9600 baud with minicom. Why logserial won’t compile I don’t know, but I can’t see it will add anything to what minicom is telling me (i.e. data is being received on ttyS0 at 9600 baud).
Coyote - It’s encouraging to hear<you have the same setup working. I’m not giving up yet! 8O I may reset the console, but I’m receiving data on the serial port OK!
Yves - I have tried as you suggested. Here are what seem to be the relevant bits of the output:
Opening the serial port /dev/ttyS0
Saving serial configuration
Serial port /dev/ttyS0 opened File desc = 16
setting speed to 9600
ser_read : Entering
ser_read error Resource temporarily unavailable
Read size -1 :
ser_read : Exiting