Radioactive@home + GQ GMC-300E Geiger Counter

Page 2 - Seeking answers? Join the AnandTech community: where nearly half-a-million members share solutions and discuss the latest tech.

Skillz

Senior member
Feb 14, 2014
940
962
136
Basically ignore the labels. Enter the first number Google maps gives you in the first field and the second number good gives you in the second field.

Takes about a day to show up.
 

gsrcrxsi

Member
Aug 27, 2022
46
26
51
My progress so far:


  • Wine links /dev/ttyUSB0 to ~/.wine/dosdevices/com33. I therefore entered <portnumber>33</portnumber> in gmc.xml, started wine gmc300.exe in a temporary directory which also contains gmc.xml, but the program fails with "Unable to open port COM33". It isn't a permission error, see above.
This part has an easier workaround than what you did. Indeed wine by default doesnt link to the COM ports correctly

I created a udev rule to always link the device (based on product and vendor ID) to a static device in /dev/gqgmc

51-gqgmc.rules
Code:
SUBSYSTEM=="usb", ATTR{idVendor}=="1a86", ATTRS{idProduct}=="7523", MODE:="666", GROUP="plugdev"

SUBSYSTEM=="tty", SUBSYSTEMS=="usb", DRIVERS=="usb", ATTRS{idVendor}=="1a86", MODE:="666", SYMLINK+="gqgmc"

copy the file to the right location:
Code:
sudo cp 51-gqgmc.rules /etc/udev/rules.d/51-gqgmc.rules

reload rules:
Code:
sudo udevadm control --reload-rules

then unplug and replug the device and you will see it show up in /dev/gqgmc.

then on wine, edit the registry:
Code:
wine regedit

navigate to "HKEY_LOCAL_MACHINE\Software\Wine\Ports" and create a new string value, with the name "COM1", and the contents "/dev/gqgmc". close regedit.

restart wineserver. and the changes will take effect when you start wine again.
Code:
wineserver -k

and yourself (or the user 'boinc' if you run boinc under that user). to the dialout group. I run boinc standalone so my command looks like this:
Code:
sudo adduser $USER dialout

this method has the benefit of not being bound to any specific port number. and will always bind the device to COM1 under wine.
 
Last edited:

gsrcrxsi

Member
Aug 27, 2022
46
26
51
N00b question: How to add a host to the map?


Edit 2:
Although my host isn't shown on the map yet, it is at least already getting double credit for its results (which happens when a host was added to the map).
for some reason, despite entering everything correctly and submitting validating results with the correct amount of credit, my Linux+wine systems never show up on the map. I'm not sure if it's a consequence of BOINC running the app in "standalone mode" or not, as that seems to be the only difference i can see between the stderr output of my systems and Skillz's/biodoc's native Windows systems who do show up on the map.
 

StefanR5R

Elite Member
Dec 10, 2016
5,591
8,013
136
This part has an easier workaround than what you did.
In a former period of my life, authorship and upstream co-maintenance of certain udev rules was part of one of my pastimes. :-)
I spotted the regedit part on the web but didn't try it because I wasn't sure if this will apply to all users, including boinc. I could have tried to find out though...
However, my goal yesterday was merely to have something temporary to look at trickle message contents and so on.

for some reason, despite entering everything correctly and submitting validating results with the correct amount of credit, my Linux+wine systems never show up on the map. I'm not sure if it's a consequence of BOINC running the app in "standalone mode" or not, as that seems to be the only difference i can see between the stderr output of my systems and Skillz's/biodoc's native Windows systems who do show up on the map.
Whoops! I didn't notice until now that the "Can't set up shared mem: -1. Will run in standalone mode." message is emitted only on the Wine hosts, not on Windows hosts. When I get home, I'll need to check if gmc300.exe generates trickles at all when run in Wine. If radac_1.78 is started standalone, it won't create trickles; gmc300.exe might not do so too. I didn't get suspicious yesterday because the validator gave credit.

Edit,
if the trickle mechanism works via shared memory between boinc-client and application, then it might be necessary to run the client in Wine too. (The Windows version of the client of course, as an extra instance.)
 
Last edited:

gsrcrxsi

Member
Aug 27, 2022
46
26
51
what are "trickles" and what do they do? and how would they be transmitted to the project in a way that might prevent display on the map?

in researching the error message, the only thing that seemed to make sense was this note from the boinc docs:

Function not implemented Can't set up shared mem: -1. Will run in standalone mode.
Not all Android kernels have shared memory support enabled. Make sure to use BOINC API >=6 and include "<api_version>x.y.z</api_version>" (where x>=6) in your app_info.xml file.

the closest i could come to figuring out what version of boinc was used for compiling our gmc300.exe app, was looking at the source code for the stock apps, which is revealed to be 6.13.0 in version.h. so I added the line <api_version>6.13.0</api_version> to the <app_version> element. this then created an extra file in the running slot for boinc_mmap_file, so something *different* happened, but the stderr still reported can't set up shared mem and running as standalone.

I just haven't found a conclusive answer if this is truly the reason for not showing up on the map. because the only file sent back to the project is the data.bin file which is still created fine in standalone
 

StefanR5R

Elite Member
Dec 10, 2016
5,591
8,013
136
About the udev rules:
If you set MODE 666 (world-writable), you can leave your and boinc's group memberships alone.
If you set MODE 660 (owner + group writable, access denied to others) and GROUP somegroup, add yourself or/and boinc to this group.

Trickle messages:
https://boinc.berkeley.edu/trac/wiki/TrickleMessages
So far I am not aware of a project which uses "trickle down" messages, with which the server can send info to currently running tasks.
Examples of "trickle up" messages:
They are sometimes used by projects with rather long running tasks.
  • At PrimeGrid, running tasks send completion status messages via trickle up messages to the server, from what I understand. The server occasionally uses this info to extend deadlines of tasks for which the host needs more time than expected. (Which can easily happen because PrimeGrid uses a single Duration Correction Factor per host across all applications.) These trickle messages are tiny.
  • At ClimatePrediction.Net, most tasks are running extremely long. They can easily take a week or a couple of weeks, sometimes more. The application(s) periodically generate intermediate results as they go, and send them to the server by means of trickles. You get credit already for each trickle, even if you are unlucky and the application crashes before completion of the task. That's mostly to keep user frustration levels in check, but the scientists may still be able to get something out of partially finished workunits if none of the replicas have finished successfully before the scientist needs to see results. (They have project deadlines too, after all.) These trickle files are quite large.
  • At RadioActive@Home, the application periodically sends intermediate results too. All these trickles taken together contain the same information as the final data.bin result file. Except that the trickles have xml tags for semantics, whereas data.bin is a plain-text dump.

I just haven't found a conclusive answer if this is truly the reason for not showing up on the map. because the only file sent back to the project is the data.bin file which is still created fine in standalone
I looked now on my Linux+Wine host. In standalone mode, there are no trickle messages generated by gmc300.exe indeed. But you are right that the data.bin is correctly generated nevertheless, with all of the readings which the app took during the task runtime.

Maybe the server part which generates the map only looks at the trickles, whereas the final result file is only for the validator to decide whether the result is worth some credit.
 
Reactions: Skillz and gsrcrxsi

gsrcrxsi

Member
Aug 27, 2022
46
26
51
ok, I'm trying out your earlier idea of running BOINC under wine.

seems to be working (with a little extra CPU used to run the manager under wine for some reason) and no more shared mem message. we'll see if it shows up on the map
 

StefanR5R

Elite Member
Dec 10, 2016
5,591
8,013
136
The client log should mention trickles every now and then, probably every 12 minutes.

Edit,
I reactivated my Windows laptop which had the GMC-500+ attached yesterday (which gave absurdly high pseudo CPM because of the byte shifting bug after odd version string length), plugged the GMC-300S into it, added it to the map. After not much more than an hour I looked at the map and this host was already there. Its graph has got the alarmingly high values from yesterday (the little safety card which came with the GMCs says about this sort of level: "Extremely high. Evacuate immediately, report to government") and the proper values of today ("Normal background. No action needed").
 
Last edited:

StefanR5R

Elite Member
Dec 10, 2016
5,591
8,013
136
From what I have read, the Radioactive@Home project has not been on the forefront of server uptime during the last several years… Right now, the server hasn't been responding to HTTP requests for almost a week now. I posted a notice to the Universe@Home message board.

Out of curiosity, I looked up BOINC@Poland's team URL from their PrimeGrid team page, which is http://www.boincatpoland.org, thinking that it might be more polite to register there and report the Rad@H issue that way. Guess what; this site isn't responding either.
 
Last edited:
Reactions: Skillz

gsrcrxsi

Member
Aug 27, 2022
46
26
51
From what I have read, the Radioactive@Home project has not been on the forefront of server uptime during the last several years… Right now, the server hasn't been responding to HTTP requests for almost a week now. I posted a notice to the Universe@Home message board.

Out of curiosity, I looked up BOINC@Poland's team URL from their PrimeGrid team page, which is http://www.boincatpoland.org, thinking that it might be more polite to register there and report the Rad@H issue that way. Guess what; this site isn't responding either.
as far as i can tell, Krzysztof is the common link between all Radioactive, BOINC@Poland, and even Universe@home.

and he's been MIA for many months now.

Universe's security cert will expire on November 25th. not looking good for Universe either...
 

Icecold

Golden Member
Nov 15, 2004
1,090
1,008
146
Does it make sense to go ahead and order the detector now or wait until we've figured out a workaround / code change/ etc.? If so which one should I order?
 

StefanR5R

Elite Member
Dec 10, 2016
5,591
8,013
136
Krzysztof brought the site back up now.

I think the GMC-300S works best, until I get around to make it work for all of the current GQ GMCs.
 

Skillz

Senior member
Feb 14, 2014
940
962
136
I picked up a 300S as it was down to $54 and it received credit on the 1st task.

Make sure you set the location. Credits without location set is 1.5 points while credits with location are worth 3.0. Click on the host details and scroll to the bottom. Make note that the labels of those fields are backwards. So when you go to google to copy the coords, but them in order of how Google gives them.

First set of coords from Google Maps goes in the first box.
Second set of coords from Google Maps goes in the second box.

Make note also that the second field will most likely be a negative number if you are in the USA. Make sure you include that negative symbol if any are present.
 

mmonnin03

Senior member
Nov 7, 2006
218
221
116
Make sure you set the location. Credits without location set is 1.5 points while credits with location are worth 3.0. Click on the host details and scroll to the bottom. Make note that the labels of those fields are backwards. So when you go to google to copy the coords, but them in order of how Google gives them.

First set of coords from Google Maps goes in the first box.
Second set of coords from Google Maps goes in the second box.

Make note also that the second field will most likely be a negative number if you are in the USA. Make sure you include that negative symbol if any are present.

I did it right away. Looks like I'm on the map now and the 3rd task gave 3 credit.
 
Reactions: Skillz

gsrcrxsi

Member
Aug 27, 2022
46
26
51
I did it right away. Looks like I'm on the map now and the 3rd task gave 3 credit.
are you the data point in Ohio? looks like all of your readings are out of wack.

what is the firmware version of your detector? (in the detector menus they call it revision)
 

StefanR5R

Elite Member
Dec 10, 2016
5,591
8,013
136
I think the GMC-300S works best, until I get around to make it work for all of the current GQ GMCs.
Looks like that's not true, as currently sold units evidently come with different firmware revisions. It's luck of the draw, i.e. how old the stock of your vendor is.

A good GMC-300S: host ID 45547
Code:
<core_client_version>7.24.1</core_client_version>
<![CDATA[
<stderr_txt>
Debug: Using port number: 5
Radioactive@Home app rev $Rev: 585 $ for GMC-300 starting...
COM5 opened for read/write
Debug: Port timeouts:
ReadTotalTimeoutConstant: 1000
ReadIntervalTimeout: 0
ReadTotalTimeoutMultiplier: 100
WriteTotalTimeoutMultiplier: 100
WriteTotalTimeoutConstant: 1000
<GETVER>> returned GMC-300SRe 1.1
<GETCPM>> returned 51 98
CPM value: 13154 
1000,657,2023-11-22 21:20:5,0,f,0
<GETCPM>> returned 0 20
CPM value: 20 
242000,737,2023-11-22 21:24:6,0,n,0
<GETCPM>> returned 0 29
CPM value: 29 
483000,853,2023-11-22 21:28:7,0,n,0
<GETCPM>> returned 0 32
CPM value: 32 
724000,981,2023-11-22 21:32:8,0,n,0
Debug: trickle sent
Trickle sent
<GETCPM>> returned 0 20
CPM value: 20 
965000,1061,2023-11-22 21:36:9,0,n,0
<GETCPM>> returned 0 23
CPM value: 23 
1206000,1153,2023-11-22 21:40:10,0,n,0

(et cetera)
Real firmware revision string is "Re 1.1" + \51 + \98 = "Re 1.13b".
The excess part of the string contains an even number of bytes, therefore the subsequent responses to GETCPM requests are shifted by the entire length of an expected GETCPM response. The first CPM value is therefore bogus but this starting value is not relevant to the time histories shown on the map. The second and subsequent CPM values are right, just registered 4 minutes later than they actually happened.

A bad GMC-300S: host ID 45694
Code:
<core_client_version>7.16.20</core_client_version>
<![CDATA[
<stderr_txt>
Debug: Using port number: 3
Radioactive@Home app rev $Rev: 585 $ for GMC-300 starting...
COM3 opened for read/write
Debug: Port timeouts:
ReadTotalTimeoutConstant: 1000
ReadIntervalTimeout: 0
ReadTotalTimeoutMultiplier: 100
WriteTotalTimeoutMultiplier: 100
WriteTotalTimeoutConstant: 1000
<GETVER>> returned GMC-300SRe 1.1
<GETCPM>> returned 52 0
CPM value: 13312 
1000,665,2023-11-23 10:15:9,0,f,0
<GETCPM>> returned 23 0
CPM value: 5888 
242000,24315,2023-11-23 10:19:10,0,n,0
<GETCPM>> returned 14 0
CPM value: 3584 
483000,38710,2023-11-23 10:23:11,0,n,0
<GETCPM>> returned 19 0
CPM value: 4864 
724000,58247,2023-11-23 10:27:12,0,n,0
Debug: trickle sent
Trickle sent
<GETCPM>> returned 16 0
CPM value: 4096 
965000,74699,2023-11-23 10:31:13,0,n,0
<GETCPM>> returned 22 0
CPM value: 5632 
1206000,97320,2023-11-23 10:35:14,0,n,0
<GETCPM>> returned 16 0
CPM value: 4096 
1447000,113772,2023-11-23 10:39:15,0,n,0
Debug: trickle sent
Trickle sent
<GETCPM>> returned 23 0
CPM value: 5888 
1688000,137422,2023-11-23 10:43:16,0,n,0
Debug: trickle sent
Trickle sent
Done - calling boinc_finish()
05:43:16 (5656): called boinc_finish

</stderr_txt>
]]>
Real firmware revision string is "Re 1.1" + \52 = "Re 1.14".
Due to the odd number of characters, this shifts all subsequent GETCPM responses by one byte, making them 256 times too high and coloring the map point red.
 
Last edited:

mmonnin03

Senior member
Nov 7, 2006
218
221
116
My 300s has firmware v1.14

My stderr:

Debug: Using port number: 3
Radioactive@Home app rev $Rev: 585 $ for GMC-300 starting...
COM3 opened for read/write
Debug: Port timeouts:
ReadTotalTimeoutConstant: 1000
ReadIntervalTimeout: 0
ReadTotalTimeoutMultiplier: 100
WriteTotalTimeoutMultiplier: 100
WriteTotalTimeoutConstant: 1000
<GETVER>> returned GMC-300SRe 1.1
<GETCPM>> returned 52 0
CPM value: 13312
1000,665,2023-11-23 11:41:30,0,f,0
<GETCPM>> returned 13 0
CPM value: 3328
242000,14032,2023-11-23 11:45:31,0,n,0
<GETCPM>> returned 25 0
CPM value: 6400
483000,39738,2023-11-23 11:49:32,0,n,0
<GETCPM>> returned 19 0
CPM value: 4864
724000,59275,2023-11-23 11:53:33,0,n,0
Debug: trickle sent
Trickle sent
<GETCPM>> returned 14 0
CPM value: 3584
965000,73670,2023-11-23 11:57:34,0,n,0
 

StefanR5R

Elite Member
Dec 10, 2016
5,591
8,013
136
<GETCPM>> returned 25 0
CPM value: 6400
If there were really 6400 counts per minute ( = 107 counts per second), and you had the speaker of the GMC switched on, you surely would have thought of evacuating by now. ;-)
 

mmonnin03

Senior member
Nov 7, 2006
218
221
116
If there were really 6400 counts per minute ( = 107 counts per second), and you had the speaker of the GMC switched on, you surely would have thought of evacuating by now. ;-)

Na, my plan is to become a real life Hulk.

The screen is showing like 12-20 CPM.
 
Reactions: StefanR5R
sale-70-410-exam    | Exam-200-125-pdf    | we-sale-70-410-exam    | hot-sale-70-410-exam    | Latest-exam-700-603-Dumps    | Dumps-98-363-exams-date    | Certs-200-125-date    | Dumps-300-075-exams-date    | hot-sale-book-C8010-726-book    | Hot-Sale-200-310-Exam    | Exam-Description-200-310-dumps?    | hot-sale-book-200-125-book    | Latest-Updated-300-209-Exam    | Dumps-210-260-exams-date    | Download-200-125-Exam-PDF    | Exam-Description-300-101-dumps    | Certs-300-101-date    | Hot-Sale-300-075-Exam    | Latest-exam-200-125-Dumps    | Exam-Description-200-125-dumps    | Latest-Updated-300-075-Exam    | hot-sale-book-210-260-book    | Dumps-200-901-exams-date    | Certs-200-901-date    | Latest-exam-1Z0-062-Dumps    | Hot-Sale-1Z0-062-Exam    | Certs-CSSLP-date    | 100%-Pass-70-383-Exams    | Latest-JN0-360-real-exam-questions    | 100%-Pass-4A0-100-Real-Exam-Questions    | Dumps-300-135-exams-date    | Passed-200-105-Tech-Exams    | Latest-Updated-200-310-Exam    | Download-300-070-Exam-PDF    | Hot-Sale-JN0-360-Exam    | 100%-Pass-JN0-360-Exams    | 100%-Pass-JN0-360-Real-Exam-Questions    | Dumps-JN0-360-exams-date    | Exam-Description-1Z0-876-dumps    | Latest-exam-1Z0-876-Dumps    | Dumps-HPE0-Y53-exams-date    | 2017-Latest-HPE0-Y53-Exam    | 100%-Pass-HPE0-Y53-Real-Exam-Questions    | Pass-4A0-100-Exam    | Latest-4A0-100-Questions    | Dumps-98-365-exams-date    | 2017-Latest-98-365-Exam    | 100%-Pass-VCS-254-Exams    | 2017-Latest-VCS-273-Exam    | Dumps-200-355-exams-date    | 2017-Latest-300-320-Exam    | Pass-300-101-Exam    | 100%-Pass-300-115-Exams    |
http://www.portvapes.co.uk/    | http://www.portvapes.co.uk/    |