Hello,
Since i bought the Revelprog back in March, I haven't been able to use it properly 90% of the time. Every read I do is completely different, sometimes it won't erase or write and will say "Device disconnected" when it's not true because I can read it again right after. I tried lowering the speed to 10%, but got the same results.
So today I decided to install it on my laptop, gave it a try, and got the same results, every read is different. Changed the speed to 50% and now i get consistent results, i can read, write, and verify consistently. Interestingly enough, the read speeds on the laptop are Waaaay faster at around 8000kb/s versus 2500kb/s on my desktop.
So now my question is, is the revelprog defective? Is it a problem with my desktop? Why are the speeds on my laptop way faster than my desktop and more reliable?
I was previously using a CH341A which never gave me issues besides being slow. And it is what has been saving me lately.
I like using one of those clamps that grabs the BIOS from the legs, and that never gave me issues with the CH341A, but with the revelprog it seems impossible to use.
I only use it for flashing laptops BIOS and i always remove them from the board first.
Unreliable Revelprog
-
ArT
- Posts: 1609
- Joined: Wed Mar 25, 2015 8:54 am
- Location: Warsaw, Poland
- Has thanked: 61 times
- Been thanked: 171 times
Re: Unreliable Revelprog
Hello,
The fact that your REVELPROG-IS works correctly and significantly faster on your laptop suggests that the programmer itself is likely functional, and the issue lies with the USB communication or configuration on your desktop computer. Please note that even at 50% SCK speed, REVELPROG-IS is much faster and SPI bus operates on much higher frequency than CH341A (it's even faster on 10% SCK). It has crucial implications for FLASH SPI programming, especially in external circuit.
First of all - do you using any virtual machine or USB hub in PC configuration? I'm asking because both of them adding delays to USB transmission and operation may be not reliable. Your maximum read speed around 2.5Mb/s suggests that's something is emulated on USB bus on PC, but on Laptop is fine. REVELPROG-IS should be connected directly to motherboards USB. Stock USB cable (marking 2.0 HS on cable - with double shielding) is required.
I also rememeber one case where user experienced inconsistent performance and verification errors when using certain USB configurations. It was found that disabling USB 3.0 support and switching to USB 2.0 (or using a native USB 2.0 port) significantly improved performance and reliability, bringing it up to expected speeds, because "USB 3.0" port was not full USB 3.0 port - it was emulated port after internal hub with USB 2.0 additional emulation. Ensure the programmer is connected directly to a USB port on the computer's motherboard (the back of the desktop). Avoid using USB hubs, docking stations, or front-panel ports, as these cause hardware delays and power fluctuations. If you are using a Virtual Machine (like VMware), this is a known cause of delays and verification errors. Ensure you are running the software natively on Windows.
Secondly - never use a clamp on a removed chip. Only use clip in external circuit or use external adapter on desoldered chip. REVELPROG-IS is a high-speed programmer. Using a clip with long wires on a "bare" chip (outside of a circuit) causes signal reflections and interference. In a circuit, there are decoupling components that stabilize these signals. If you have desoldered the chip, you must use a dedicated adapter (e.g., a SOP8-to-DIP8 socket adapter) instead of a clip. The clip should only be used for "in-circuit" (on-board) programming. Additionaly always clean the pins: ensure the BIOS chip legs are perfectly clean. Any insulation or oxidation on the pins can cause write/erase failures even if the ID is read correctly. The CH341A is much slower and lacks protection buffers on its outputs. Because it is slower, it is less sensitive to the signal integrity issues caused by long clip wires. REVELPROG-IS has protection buffers that add a few ohms of resistance and limit current to protect circuit, which makes it more sensitive to poor connection quality.
And last general hint - 3.3V flash chips typically require 2.6 - 3.6V. If you experience "FF"s or inconsistent data, you can try slightly increasing/decreasing the voltage by +0.2V/-0.2V e.g. 3.3V 3V 2.8V etc. Decreasing the SPK speed to 50% or 10% always is good option for external noise and wires length (shorter = better, slower = better).
To rule out a hardware defect, please perform a Hardware Test:
1. Disconnect everything from the programmer (no adapters, no clips, no chips).
2. In the REVELPROG-IS software, go to the top menu and select Hardware Test.
3. If the test passes and the current consumption is within normal limits (usually <15mA) and all values are green - the programmer is functional. If the hardware test fails, please provide a screenshot of the HW results so we can assist you further.
For more detailed troubleshooting regarding "in-circuit" or clip-based programming, please refer to Chapter 5 of the REVELPROG-IS Manual.
The fact that your REVELPROG-IS works correctly and significantly faster on your laptop suggests that the programmer itself is likely functional, and the issue lies with the USB communication or configuration on your desktop computer. Please note that even at 50% SCK speed, REVELPROG-IS is much faster and SPI bus operates on much higher frequency than CH341A (it's even faster on 10% SCK). It has crucial implications for FLASH SPI programming, especially in external circuit.
First of all - do you using any virtual machine or USB hub in PC configuration? I'm asking because both of them adding delays to USB transmission and operation may be not reliable. Your maximum read speed around 2.5Mb/s suggests that's something is emulated on USB bus on PC, but on Laptop is fine. REVELPROG-IS should be connected directly to motherboards USB. Stock USB cable (marking 2.0 HS on cable - with double shielding) is required.
I also rememeber one case where user experienced inconsistent performance and verification errors when using certain USB configurations. It was found that disabling USB 3.0 support and switching to USB 2.0 (or using a native USB 2.0 port) significantly improved performance and reliability, bringing it up to expected speeds, because "USB 3.0" port was not full USB 3.0 port - it was emulated port after internal hub with USB 2.0 additional emulation. Ensure the programmer is connected directly to a USB port on the computer's motherboard (the back of the desktop). Avoid using USB hubs, docking stations, or front-panel ports, as these cause hardware delays and power fluctuations. If you are using a Virtual Machine (like VMware), this is a known cause of delays and verification errors. Ensure you are running the software natively on Windows.
Secondly - never use a clamp on a removed chip. Only use clip in external circuit or use external adapter on desoldered chip. REVELPROG-IS is a high-speed programmer. Using a clip with long wires on a "bare" chip (outside of a circuit) causes signal reflections and interference. In a circuit, there are decoupling components that stabilize these signals. If you have desoldered the chip, you must use a dedicated adapter (e.g., a SOP8-to-DIP8 socket adapter) instead of a clip. The clip should only be used for "in-circuit" (on-board) programming. Additionaly always clean the pins: ensure the BIOS chip legs are perfectly clean. Any insulation or oxidation on the pins can cause write/erase failures even if the ID is read correctly. The CH341A is much slower and lacks protection buffers on its outputs. Because it is slower, it is less sensitive to the signal integrity issues caused by long clip wires. REVELPROG-IS has protection buffers that add a few ohms of resistance and limit current to protect circuit, which makes it more sensitive to poor connection quality.
And last general hint - 3.3V flash chips typically require 2.6 - 3.6V. If you experience "FF"s or inconsistent data, you can try slightly increasing/decreasing the voltage by +0.2V/-0.2V e.g. 3.3V 3V 2.8V etc. Decreasing the SPK speed to 50% or 10% always is good option for external noise and wires length (shorter = better, slower = better).
To rule out a hardware defect, please perform a Hardware Test:
1. Disconnect everything from the programmer (no adapters, no clips, no chips).
2. In the REVELPROG-IS software, go to the top menu and select Hardware Test.
3. If the test passes and the current consumption is within normal limits (usually <15mA) and all values are green - the programmer is functional. If the hardware test fails, please provide a screenshot of the HW results so we can assist you further.
For more detailed troubleshooting regarding "in-circuit" or clip-based programming, please refer to Chapter 5 of the REVELPROG-IS Manual.
Re: Unreliable Revelprog
Thank you for your reply,
It's a Windows 11 computer, no virtual machine and no hub. I tried both the front USB ports and the ones in the back, both 3.0 and 2.0. No difference. I do have virtual machine installed, but it's not running when using the programmer.
Hardware check is OK.
Tried with a 50cm shielded USB cable and the provided one with no difference.
Also tried reinstalling the driver (zadig) and disconnecting everything else from the USBs with no difference.
It just seems random. I just tried this morning reading and writing a W25Q128BV with the clamp and it worked consistently, yet yesterday it didn't work a single time.
I don't do in-circuit programming, as i killed a chipset before, so i don't risk it anymore.
Clearly something is up with my PC/Windows install, im now more curious why the speeds on my laptop are way faster than my desktop.
It's a Windows 11 computer, no virtual machine and no hub. I tried both the front USB ports and the ones in the back, both 3.0 and 2.0. No difference. I do have virtual machine installed, but it's not running when using the programmer.
Hardware check is OK.
Tried with a 50cm shielded USB cable and the provided one with no difference.
Also tried reinstalling the driver (zadig) and disconnecting everything else from the USBs with no difference.
It just seems random. I just tried this morning reading and writing a W25Q128BV with the clamp and it worked consistently, yet yesterday it didn't work a single time.
I don't do in-circuit programming, as i killed a chipset before, so i don't risk it anymore.
Clearly something is up with my PC/Windows install, im now more curious why the speeds on my laptop are way faster than my desktop.
-
ArT
- Posts: 1609
- Joined: Wed Mar 25, 2015 8:54 am
- Location: Warsaw, Poland
- Has thanked: 61 times
- Been thanked: 171 times
Re: Unreliable Revelprog
To clarify - you mentioned that:
But you are writing:I don't do in-circuit programming, as i killed a chipset before, so i don't risk it anymore.
The clamp / clip is only for in-circuit programming - you should not use clamp directly on desoldered chip, I explained it in previous post.I just tried this morning reading and writing a W25Q128BV with the clamp and it worked consistently, yet yesterday it didn't work a single time.
Re: Unreliable Revelprog
I always use it like this with the CH341A and it works perfectly. I understand this is a faster programmer, so there might be interferences because of the long wires, but i just tried with one of those SOP8 adapters, and i'm still getting different readings every single time today.The clamp / clip is only for in-circuit programming - you should not use clamp directly on desoldered chip, I explained it in previous post.