by falco peregrinus » 18 May 2014, 14:05
Seriously this time. Just speaking from long experience with computers, it sounds to me like data corruption, possibly caused by failure of a memory chip. It seems to me that you can read some data correctly, no problems, but other data won't read, and the obvious two differences between those two situations is (1) different data, and (2) the data is stored in a different place. In the case of "different data", this translates to data corruption, and the software trying to read it detects that the data is corrupted because of the CRC (cyclic reduncancy check) method that is commonly used in such situations so that a program reading the data knows whether it has correctly read the data or has read garbage. In the case of "data stored in a different place", we're talking about different locations in memory, which translates to failure of a memory chip in this instance (seems how I would assume that the memory chips are soldered to the PCB and are not plug-in to socket types, therefore bad connection is not a possible explanation.)
What can you do about it? Well, the easiest way to test which of the two alternatives is the explanation is to load fresh data into the same memory locations. Ie, create a new-from-scratch configuration file and upload it to the controller. If the memory chips are ok, the upload will work. If the memory chips are not ok, the upload may or may not appear to work, but probably won't work and will tell you that it didn't work, because I would expect the upload algorithym to verify the transferred data before declaring the upload complete, but it may not, depending upon how experienced and intelligent the programmer who wrote the code is. Having achieved what appears to be a successful upload, try changing things in the configuration again, and try a download. If no problems, then it was just data corruption, possibly caused by a memory chip with an intermittent fault, but also quite possibly caused by an electrical or electro-magnetic event that may or may not ever happen again.
Actually, that gives me an idea. Before doing anything, try downloading the configuration from the controller to your PC. Given the problems you have had, I would expect the download to fail (with CRC or read errors), but if it works, that's good, because then you can take a look at the data on the PC instead of on the controller, and you'll have a copy of it on your PC. I doubt if it will work, though.
Upon rereading your post explaining your latest difficulties, a third possible explanation comes to mind. If the software version you were using to read the controller is not fully compatible with the firmware on that controller, that too could cause your present problems. Such a situation could arise if you were using generic software on your PC but the wheelchair manufacturer had installed custom firmware on the controller that would only talk correctly with similarly-customised software on the PC. For example, I've heard that Pride customise their latest controllers so that you need a Pride version of the programming software in order to program their controllers. If that was the case, then you may be able to solve the problems by uploading generic firmware to the controller to match the generic PC software - but how you do that I don't know. I'll guarantee that it can be done, though. Nobody these days is going to build computer-based equipment that they can't upload fresh firmware to in case they accidentally release a product that has bugs in the firmware.
Again, after yet another reread of your latest difficulties, I'm puzzled by "reading device menu". Clearly it times out on it's attempt to read whatever it is that it is trying to read, which supports my three proposed explanations, but why does it call it "device menu"? If it was encountering a security flag that was preventing it reading somewhere that it wasn't authorised to read (eg, using dealer version software to read something that required OEM version software), then I wouldn't expect it to time out. Rather, I would expect a fast response with an error message - perhaps a meaningful one that can reasonably be understood to mean that you were using software not authorised to do what you are trying to do, or alternatively a nonsense message intended to leave you none the wiser as to the true reason the read failed - but if it was a security flat, I would expect a fast response of some nature, NOT a delay before error message caused by the retries timing out. So I don't think it is a security flag problem.
So why does it say "device menu?" Does anybody know? Can anyone throw some light on that? Is this something specific to this product, with special meaning that I am unaware of?
Falco