Still having infinite deploy problems

So I’m still having this issue, things have not cleared up like I thought they were.

Referring to these:

Problem is the infinite deploy. I cannot get any code to deploy at all. I can get code onto my FEZ Mini, but nothing onto the Cerbuino.
Also, every interaction I have with the Cerbuino seems to be really slow. Slow pinging, slow firmware update, slow reboot, slow whatever…

On FEZ Cerbuino Bee

  1. Completely uninstalled all gHI SDKs and the Framework.
  2. Did a clean install of NET MF 4.2 QFE 2
  3. Installed GHI NETMF v4.2 and .NET Gadgeteer Package (RC2 8-24-2012)
  4. Create Vanilla MF Console App, making no changes
  5. Select to deploy to the Cerbuino
  6. Right-click->Deploy from Visual Studio

The Cerbuino has DFU

Also, I plugged it in to a different laptop (that I don’t have access to) and it worked. The only difference I can think of is it was running 32bit windows.

How are you powering it? Power differences from USB can be a difference between computers also. We always recommend using a powered USB hub.

I am powering it just from plugging it in to the usb port.

I’ve had it working on the laptop in question before, but now I can’t get anything on to it from this laptop.

Are 32 vs 64 bit issues ever a problem with the OS?

While USB specifications say ports should provide 500mA, we rarely see a port that can actually provide 500mA. We always recommend the use of powered hubs or a power pack instead of relying on the USB power. Use a powered hub from a known brand, not a cheap hub. If your device has the option of using a power pack (for example the USB Client DP Module) then you can use a power pack instead. 9V 1A is typically recommended but check the bottom of the circuit board for printed voltage range. All power connectors on GHI products are 2.1mm with positive on the inside and negative on the outer ring.

Not using a powered hub or power pack can cause:
[ul]Unexplained behavior
Device does not function
Device functions intermittently
Device functions but network fails
Device functions but SD card fails
Device functions but firmware update fails[/ul]
(Generated by QuickReply)

@ sq77 - 64bit running fine here - VMware USB Arbitration Service can be an issue if that’s running

NO VMWare installed.

I might be stuck until NETMF 4.3, in hopes that the improved error messages will help diagnose the issue.

It’s probably the power thing, I had similar issues until trying with a powered USB hub. Doesn’t need to be fancy–I’m using a cheap one from Microcenter–just as long as it has its own power supply.

For what it’s worth I use XP SP3.

Is that all that is on the board? Did you use MFDeploy to load the firmware? The DFU file (TinyBooter_4_2_3_1.dfu) is only the Tinybooter and not a complete firmware. You cannot deploy NETMF projects to Tinybooter as it is like the equivalent of Windows Safe Mode, less things initialized to troubleshoot problems on might have.

Plus, do not forget one of the most important steps and use Create from Map to erase the complete chip because just having one incorrect byte can cause unforeseen issues.

Yeah, I have the Firmware on it also. Sorry I wasn’t complete in my description.

And I did the Create From Map thing. It did work once upon a time about a month ago.

I will try using a powered hub and see what happens. I’ll update here after I get around to picking one up and trying it.


Sort of Homer Simpson question… But that is just me…

What do you mean by “Create from Map”. I cannot find a reference to that term.
But then again, i’m lousy at searching topics in here…


@ willgeorge - step 3 I think in updating the cerb firmware



I don’t have a cerb but I’ll look to find the subject.
I was just curious.

@ willgeorge - curiosity is a good thing in my book

@ Aron

Perhaps this is a good clue. I got a new FEZ Panda II and immediately deployed successfully to it. After successfully experimenting with a few programs, but using the same Visual Studio Solution, I opened a brand new Solution and I could not deploy (getting the error again).

I went to MFDeploy and clicked “Erase” but it did not help. I did the USBizi firmware update again (even though it was up to date), deleting my deployed application, and I still could not deploy.

So what I am wondering is, how can I confirm 100% that I have erased my deployment all the way? Maybe I am leaving something behind each time still.

The only way you can confirm if the deployment is fully erased is to do a data dump. Follow these steps to do a data dump:

  1. Use DFU Tester and put the Cerb board into DFU mode.
  2. Click the Protocol tab as if you are updating the firmware.
  3. Instead of clicking Create from Map you will click Create Empty. What you should see are 4 tabs that say Alt St 0 | Alt St 1 | Alt St 2 | Alt St 3.
  4. Right click on ALT St 0 and click Insert Element. You will see a tab that says Element 0 with address start and stop locations and a length.
  5. Enter 08000000 in the Start Address text box.
  6. Enter 1048576 (1024 kB) in the Length text box.
  7. Click on the Upload radio button and then click Go and the complete memory core is dumped.
  8. After the dump, click on the To bin file button below the [em]Length[/em] entry field and save the file to a bin file and you can use any hex editor to determine if there is anything other than all 0xFF in the deploy region.

I hope this will help you solve the problem.

@ sq77 - I think Aron is talking about the erase step when updating the firmware with dfu tester and not erasing the users app with erase in mfdeploy.

Will erasing the firmware leave the app in still sitting there?

@ sq77 - I doubt it

You could do the same data dump but just go to the area of the flash that is set for deploy which is here:

08000000 TinyBooter 48k
0800C000 Config 16k
08010000 TinyCLR 64k
08020000 TinyCLR 512k
080A0000 C# Deployment 384k from address.

Just look at A0000 to the end of the file and see if all data is erased. If there is a huge chunk of 0xFF after this address in the file then the data is erased but seek to see if there may be a byte or two that were not erased.