93c46 programming: verification fails, but contents are correct on 2nd reading?

Here you can ask technical questions about REVELPROG-IS and device/memory programming.
MattPadden
Posts: 7
Joined: Sat Sep 29, 2018 11:22 pm
Been thanked: 1 time

93c46 programming: verification fails, but contents are correct on 2nd reading?

Postby MattPadden » Sat Sep 29, 2018 11:36 pm

Hi,

I just purchased a REVELPROG-IS programmer in order to make duplicates of a 93c46a serial eeprom in an old (25 years) synthesiser I am restoring. I did some tests on some new 93c46a devices I bought to act as the original's replacement, and found some odd behaviour.

With a new 93c46a device (a Microchip Technology 93C46A-I/P) I can check contents and erase the device no problem, using the '93..46 (8bit)' device profile. If I make changes to the buffer contents and then try to write the buffer to the device, I see an error saying that verification failed. Once I clear this error, I see a buffer of all 0s. If I read a second time, I see the correct data that I entered. This behaviour appears to be consistent; the first read always produces zeroes, the second read always produces the actual data I've written.

I also notice that each read/write process takes several seconds; a read process takes around 5s for the progress dialog to disappear, while a write process takes around a similar time.

Is this expected behaviour, or should the read process be successful first time round? And should the read/write process be quicker than 5s? The YouTube videos I've seen seem to suggest that read/write should be pretty instantaneous.

My system:
REVELPROG-IS programmer, serial W-2340
Windows 10 Home edition, running within VMWare Fusion v8.5.8 on a MacBook Pro running MacOS 10.13.6

Thanks!
Matt

ArT
Posts: 1497
Joined: Wed Mar 25, 2015 8:54 am
Location: Warsaw, Poland
Has thanked: 51 times
Been thanked: 160 times

Re: 93c46 programming: verification fails, but contents are correct on 2nd reading?

Postby ArT » Mon Oct 01, 2018 10:51 am

Hi Matt, could you test it on PC without VMware?
On some machines Virtualization is adding delays, specially on application timers and USB transmission.
Please take a look how it looks like on my PC: https://youtu.be/jHrui-bGRRc

MattPadden
Posts: 7
Joined: Sat Sep 29, 2018 11:22 pm
Been thanked: 1 time

Re: 93c46 programming: verification fails, but contents are correct on 2nd reading?

Postby MattPadden » Tue Oct 02, 2018 2:27 pm

Hi ArT,

I just tested the programmer on a friend’s PC (using the zadig drivers, same as on my vmware system). It works fine, and is at least ten times quicker; read/write processes take around 0.4s rather than 4s.

So I guess the odd behaviour I’m seeing is related to the virtualisation. Is there a particular USB method that the programmer software uses to communicate with the programmer? There may be a way I can improve things that way.

My virtual-windows setup does seem to work though, albeit very slowly and with a 2nd attempt sometimes needed to confirm verification.

Matt

ArT
Posts: 1497
Joined: Wed Mar 25, 2015 8:54 am
Location: Warsaw, Poland
Has thanked: 51 times
Been thanked: 160 times

Re: 93c46 programming: verification fails, but contents are correct on 2nd reading?

Postby ArT » Tue Oct 02, 2018 7:26 pm

Dear Matt,
Programmer is using libusb.dll for communication (USB in BULK mode). Some time ago I tested virtualization and it was slightly slower, but it worked smooth - only firmware update was not working - only directly on PC. Are you sure that you are sharing enough resources (not limited CPU power and enough RAM) for VMware image?

MattPadden
Posts: 7
Joined: Sat Sep 29, 2018 11:22 pm
Been thanked: 1 time

Re: 93c46 programming: verification fails, but contents are correct on 2nd reading?

Postby MattPadden » Tue Oct 02, 2018 8:47 pm

I'm allowing 2 cores and 9GB memory for the virtual machine. Given the light use I'll make of the programmer I'm not overly concerned by waiting a few seconds; my bigger concern was the initial verification failure. I'll see if increasing core allocation makes a difference.
Matt

ArT
Posts: 1497
Joined: Wed Mar 25, 2015 8:54 am
Location: Warsaw, Poland
Has thanked: 51 times
Been thanked: 160 times

Re: 93c46 programming: verification fails, but contents are correct on 2nd reading?

Postby ArT » Thu Oct 04, 2018 11:45 am

I installed VMware on PC and it is fine. It seems that I need Macbook for further debugging.
Please tell me, do you have verification error always at 0x00 or random address?
And manual read (as separate process) is always ok, right?
How about with other devices (not 93xx)?
I can try to prepare you application with additional delays and we will test it.

MattPadden
Posts: 7
Joined: Sat Sep 29, 2018 11:22 pm
Been thanked: 1 time

Re: 93c46 programming: verification fails, but contents are correct on 2nd reading?

Postby MattPadden » Thu Oct 04, 2018 12:09 pm

Hi ArT,

The write verification error gets reported after a long (4-5s) delay watching the progress bar; once the error is reported the buffer displays all zeroes. If I try to read the device again, the buffer displays the correct contents.

So it seems that reading and writing both work, just slowly (which isn't an issue for me), but that the verification after a write seems to be disrupted somehow. Doing an explicit read following the failure of a write verification always confirms that the write did in fact work.

I also tried writing to the device using my colleague's PC, and then reading on my own MacBook Pro, and this worked; I could see the contents that I'd written.

At this point in time I only have 93c46 devices to work with I'm afraid. But I suspect the issue is related to virtualisation conflicting with the low-level USB requirements of the programmer, rather than anything device-specific.

Matt

MattPadden
Posts: 7
Joined: Sat Sep 29, 2018 11:22 pm
Been thanked: 1 time

Re: 93c46 programming: verification fails, but contents are correct on 2nd reading?

Postby MattPadden » Sat Jul 04, 2020 12:45 pm

Hi ArT,

Briefly reviving an old thread but with (I think) a resolution. As I described, I'm using RevelPROG in Windows 10 under VMWare on a Mac laptop. I found that if I disabled VMWare's virtual support of USB3.0, and set it to USB2.0 instead, things improved very significantly and I got programmer performance in VMWare equivalent to what I see on a 'genuine' Windows machine.

Thought you'd like to know for reference.

Matt

ArT
Posts: 1497
Joined: Wed Mar 25, 2015 8:54 am
Location: Warsaw, Poland
Has thanked: 51 times
Been thanked: 160 times

Re: 93c46 programming: verification fails, but contents are correct on 2nd reading?

Postby ArT » Mon Jul 06, 2020 7:31 am

Hi Matt, thank you very much for sharing this information!


Return to “Technical Support”

Who is online

Users browsing this forum: No registered users and 9 guests

cron