Jump to content

Problems after firmware upgrade


Recommended Posts

I am running into problems after upgrading both my bricks and bricklets to the new firmware version.


If I connect a brick without any bricklets to my computer by USB it shows up in brick viewer (reporting fw 1.1.1).

If I connect a bricklet and then connect the brick to the computer the computer does NOT detect the brick on the USB bus.


This all happened after the upgrade and used to work without any issues before.


Any ideas? 

Link to comment
Share on other sites

This probably means that the Bricklet firmware update somehow didn't work correctly and the Brick crashes when it tries to run the Bricklet plugin.


You should try the follow:

  • Connect the Brick to USB
  • Wait until it is started
  • Connect the Bricklet
  • Start Brick Viewer and go to "Advanced Functions"
  • Flash the Bricklet again

Or with other words: You can connect a Bricklet after the Brick started if you want to update it. This is indeed needed if the Bricklets are fresh from production and the EEPROM is empty.


If it still doesn't work, can you tell me what Bricklet and what Brick you are using? Perhaps i added some kind of bug and i can reproduce it here.

Link to comment
Share on other sites

Yes, that is my assumption, too. But I tried it several times to update the bricklets. It reported the check is ok after upgrade.


I have tried many combinations of bricks (master, dc, servo, all hw 1.0 and FW 1.1.1) and bricklets (piezo, distance, joystick hw 1.0) with no success.


However I received a new order this week with a master brick (hw 1.1 and FW 1.1.1). I then got the piezo bricklet working by upgrading the bricklet FW. It now also works on the older master brick. I'm still stuck with the other bricklets so. Tried the same procedure with the distance bricklet, but this did not work.

Link to comment
Share on other sites

Uh, that is confusing.


First of all: The hardware version should be totally irrelevant, we only changed minor things in the placement, removed unused pads and added fiducials for the circuit board assembly process. The only thing where we changed something that is now incompatible is the Voltage Bricklet, but we called the successor Analog In Bricklet, so there can't be any confusion there.


So it seems you have a different firmware on the Brick we send you then on your old Bricks, that you updated yourself.


Does that mean the firmwares on http://download.tinkerforge.com/firmwares/ are broken and the ones i have locally here not?


I will try that out.


If you like you can try to flash the new Brick with the same firmware that you flashed on the old Bricks and see if that doesn't work either.


I will come back when i tried the different firmware version with different hardware versions.

Link to comment
Share on other sites

OK, first i compared md5sums of firmwares that are online with md5sums of firmwares from my pc that i used to flash the new Bricks and Bricklets: They are all the same.


Then i flashed firmware 1.1.0 to a Distance IR 1.0 and firmware 1.1.1 to an Master Brick 1.0 and everything works as expected.


You wrote that the piezzo buzzer now does work, did you do something different when you updated that (compared to the other Bricklets)?

Link to comment
Share on other sites

Holy Moly!


We just tested your scenario on Windows (i tested on Linux before) and had similar problems. The problem is with the Brick Viewer version for Windows. On windows a read() in python ends as soon as it finds an EOF character, therefore you are only writing a part of the firmware. That should be fixable by just reading in binary mode, we will test that extensively now to be sure that everything works on Windows after the change.


That bug was in the Brick Viewer since the very first version. Incredible that it didn't get noticed until now.

Link to comment
Share on other sites

You can flash the Bricklets on Linux and use them on windows, if you need them urgently :).


We have a macbook with dozens of Windows VMs that we use for testing and compiling of the binary, but i don't have that here currently and my colleague is busy. So i can't compile a new binary and test it at the moment.


PS: We have a working version of the Brick Viewer for OS X and a nearly working version of the Brick Daemon for OS X (the USB hotplug doesn't work yet). So, we will probably make a first version of that available soon 8).

Link to comment
Share on other sites

  • 3 weeks later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...