ArneB
Hi DJ & EZ-Robot community,
I have problems updating the firmware on my two EZ-B boards. I have a stable bluetooth connection and started the updater, but on both boards it stucks after these messages:
Attempting connection to COM40
EZ-B reports EZ-B Firmware V2
Connected
Starting Boot Loader...
sending ping
sending ping
sending bootloader
I am EZ-B BootLoader. Gimmie Firmware!
Updating... (22.656 Bytes)
After waiting for more than 5 minutes I have switched off the board and the EZ-B controller boots up with the old V2 firmware. Some more remarks: Batteries are fresh, nothing is connected to the ports. I have even tried a direct connection from my USB->Serial adapter (FTDI chipset) to the RxD/TxD/GND pins on the EZ-B base board, but got the same result... Tested on a Win7/64-Bit and Win XP/32 bit computer...
What can I do now ? Is there anything, which I can test/enable/measure ?
Thank you for your help :-)
Arne
P.S. Yes, I have seen the FW update tutorial...
Are you using the Microsoft Native Bluetooth Stack? You can tell when your bluetooth menus look identical to the tutorial video menus.
The USB->Serial Adapter will need the baud rate specified at 9600 for firmware update.
When performing the update while the progress bar moves across the screen, does the blue LED on the EZ-B flicker? Watch the difference of the LED before the progress bar starts moving compared to when the status bar is moving. The blue LED should dim every so slightly and have a slight noticeable flicker.
Microsoft Native Bluetooth stack: I think so, the icon look the same. I will check it, if I am back in my office tomorrow. Nevertheless, with a direct USB->Serial connection it should work anyway.
USB->Serial Adapter: Yep, it is set to 9600 baud, no change of the behaviour. It is communicating with the EZ-B mainboard, because it is downloading the bootloader. Therefore I don't see a problem here...
Blue LED: It is blinking before the progress bar is moving, but it is constantly on during movement of the status bar and afterwards.
There are no dots appearing on the console after the progress bar finished.
Any other ideas ? As I have the same problem with two boards I doubt it is a hardware failure. I can access and communicate to the EZ-B board with the bluetooth module as well as with my USB->Serial adapter, therefore the overall communication path seems to be working.
What else can it be ? Some kind of timeout in the V02 firmware ?
Thanks for your support...
It's strange because the bootloader is speaking to the PC. The text "I am EZ-B Bootloader, gimmie firmware" is from the bootloader. It appears the communication is not an issue.
Rather than working from memory, can you verify the LED please. This part is important: When the progress bar begins to move after the "Updating" text, the LED should begin flickering (not flashing). Flickering means the LED will look steady but begin flickering. Tiny little pulses.
The progress bar will take a few minutes to move across the screen. Once the progress bar has filled 100%, there should be more text. Finally after about 5 minutes (entirely) it should ask you to reboot the EZ-B.
Here are the results of my LED observation:
During "sending ping": fast flashing After the updating text the blue LED is constantly on, no flickering.
To help you debugging the problem I have attached a log file from my COM port:ez-b-update-log.zip. Hope it helps to solve this problem...
What operating system are you running? Is the OS in a VMWare session or any type of emulator?
The logs are from a Windows 7 / 64 bit PC (no VMWare), but I have tried my old Windows XP/32 Bit laptop with the same negative result, too. It is a constant and reproducible problem... Maybe a handshake problem (XON/XOFF) ?
I am completely stumped. How long does the progress bar take from start to finish for you?
There are thousands of EZ-B's and this is the first time we've ever experienced this. Im stumped... It should be very straight forward. Data is sent. EZ-B receives. Voila
From pressing the "Start" button on the warning window to the end of the progress bar it takes 38 seconds, the progress bar itself finishes in roughly 13 seconds.
Is there any other way to flash the microcontroller ? I have a lot of useful equipment here...
I have added a video of the update procedure here: EZB-FW-Update_problem.zip
Maybe you can send me the firmware as binary + the exact part type via email and I will try to flash it with our external flash tools.
I have been having the same problem also. any fix yet ?
@DJ: Is there anything I can do to support your debugging of this issue ? I am currently stuck with my work and can't go on without the firmware update... Therefore I would be happy to test any kind of new alpha/beta version or log any data for you...
You can't flash by programming the chip. It needs to be programmed by the bootloader. I'm going to watch your video now and see what is happening...
Have you configured the serial settings? Have you changed anything? There is really something different about your computer that is causing the issue.
The progress bar is moving way too fast. It should take over one minute. This leads me to think there is a utility installed on your two computers that affects the serial communication.
Are you certain Windows is not running in a virtual emulator, such as VMWare or Parallels?
Visit the Device Manager and verify you have TWO communication ports for the EZ-B. When adding the EZ-B over bluetooth, TWO communication ports should be detected.
What are the hardware specifications of your computer? CPU type, speed and architecture (32 or 64?)
Visit the Device Manager and ensure the TWO EZ-B communication ports have the following default configuration:
Port Settings
Port Settings -> Advanced
Driver -> Driver Details
The communication with the EZ-B is fine until it begins sending the firmware. The firmware is being sent at a rate much faster than 9600, based on the progress bar of your video.
I may ask to for a screenshot of your "Programs and Features" list of installed software. The EZ-B will work on one your neighboors computer, just not yours - because something is installed or configured to affect the Serial Communication.
Even if you had the EZ-B firmware updated and working on a different computer, it will not work on yours. This is because there is a timing issue with the Serial Communication - it is clear in the progress bar video. There is something installed or configured that is affecting the serial port communication timing.
YES ! (see my previous posts...)
It has detected two COM ports
Dell E5420 (Win7 / 64 Bit) + Dell D630 (Win XP, 32 Bit)
My new laptop does not have a bluetooth module, therefore I am using the USB->Serial adapter. It is set to 9600,8N1. My old laptop has a Toshiba bluetooth module, where I can't set the baud rate. But if I look into the logs, I see, that your application is setting the baudrate to 9600, isn't it ?
And to be honest: EZ-B and FW updater are communicating, the bootloader is transmitted correctly, therefore I don't believe in a communication problem. Maybe you could have a look in your firmware update program, if the baudrate is changed just before the firmware data is transmitted or if there are any other settings changed. If the baudrate is not fixed in hardware/drivers a software could change the baudrate and mess up things. Just my guess...
Again sorry to see your frustration. Please focus on my previous statement regarding the progress bar time. The progress bar is moving too quick in the helpful video you posted. The computer is sending the data too quicky. Some installed utility may be affecting the communication.
Please post a screenshot of the driver details and configuration of the Bluetooth enabled computer.
As I stated, it is not an issue with the ez-b. I am certain of that. The progress bar is moving too quickly as it should take 3 times as long.
Again, there are thousands of ez-b's used daily over the world. We will solve your specific issue, but I will need you to read my responses fully and feel free to ask about any statements that you not understand. We'll solve the issue
To begin, I'm going to make a special firmware updater for you. It will have some more debug information that will help. I will post it on here in a few hours
@DJ: No offense, I really appreciate your fantastic work ! I am looking forward to your debug build tomorrow morning... Lets investigate the cause for this issue !
Great! This diagnosis will help if someone else has the same experience
Hi DJ,
I am still waiting for the debug version...
But it is a relaxed waiting, because in the meantime I have exchanged the Toshiba bluetooth stack in my old Dell laptop with an original Microsoft stack (have a look here how to do it) and now I was able to update my EZ-B !
But I have currently updated only one of my two boards, therefore a debug version of the firmware updater would be very helpful to detect the problem.
Great news Is the other laptop not microsoft stack? If so there is no debugging that i can do. We cannot support alternative bluetooth stacks. We've tried, but they are far too buggy. The microsoft stack is the only supported and recommended in our documentation
i'm super glad to hear you got it working!
My new laptop doesn't have bluetooth at all, therefore I am using a USB->Serial converter and connected it directly to the EZ-B. It is strange, that this direct connection doesn't work...
That is strange @ArneB.. There are many direct TTL connection robots in the forum that work. Even I have two in the lab, with no issues. I keep thinking there is some driver or utility that is affecting the communication. The firmware utility is speaking to the EZ-B to load the bootloader, but not able to send the firmware. I really think it is the serial logging utility that you have installed. It must have replaced the Serial Driver with it's own buggy one.