Upgrade to 2.7 mostly ok.. wj200 still bugged

More
04 Jan 2016 14:18 #67827 by green751
Hi, all;

I've been using a git pull from the repository to run my machine for 9 months or so. It's worked ok, especially with a few tweaks to the source. Plus I've been too busy to spend a lot of time in the shop.

Yesterday I pulled my control PC out and backed it up, then did a fresh install of Wheezy/2.7.3 using the download from linuxcnc.org, and installed my old config file. With the exception of editing out the "watchdog pet" line that's no longer needed, everything seems to have worked just fine. A remarkably painless upgrade, pretty much.

However, I was disappointed to find out that the fix for the wj200 user space VFD driver that I posted here last March (and which Andy copied to the dev list) has been forgotten:

forum.linuxcnc.org/forum/38-general-linu...ter-updates?start=10

I don't know how many people are using this code or have tried, but I do know that the version included out of the box on Wheezy doesn't work. I had to do another git pull, configure, load all the packages needed to compile (took a while), change the code again, recompile and replace the wj200_vfd file in /usr/bin.

It's unfortunate, but in my experience the developers of Linuxcnc are pretty set in their ways of communicating with users and handling bug reports, so it's not terribly unusual that this fix got lost.

I'm posting it here again so anyone who's trying to use the new 2.7/Debian Wheezy image knows that wj200_vfd needs a fix before it'll work. The fix is as follows:

In line 94 of wj200_vfd.comp, the definition:

bits[10]

should be changed to

bits[16]


... because 10 isn't large enough for the data returned from the new version of libmodbus, and the overflow is clobbering the pointer to the __comp_inst structure inside the loop FOR_ALL_INSTANCES() and causing a segfault.


Once this change is made, users will no longer get a segfault trying to use this userspace module.

Erik

Please Log in or Create an account to join the conversation.

More
04 Jan 2016 15:17 #67834 by andypugh
It should be possible for you to make this change happen. (I would be interested to see if the process works)

If you go to
github.com/LinuxCNC/linuxcnc/blob/2.7/sr...0_vfd/wj200_vfd.comp

Then click the "edit" icon (pencil) you should be able to make a "fork" of the project, then add a description of the change and send a "pull request".

You may need to add a "Signed off by {name} {email.address}" to the description field.

You may need to sign up with github first.

Please Log in or Create an account to join the conversation.

More
04 Jan 2016 16:51 #67849 by green751
I may give this a shot.

Once I make the change, I'm guessing one of the core developers will have to merge it with the main tree?

Please Log in or Create an account to join the conversation.

More
04 Jan 2016 16:53 #67851 by andypugh
Yes, but I think they just have to press a button.

Please Log in or Create an account to join the conversation.

Time to create page: 0.096 seconds
Powered by Kunena Forum