Is Devo 12E supported by the Deviation Uploader?

More
16 Jul 2017 16:46 - 16 Jul 2017 16:46 #63484 by andrej
I got a Devo 12E, installed the 4-in-1 chip and wanted to flash Deviation. The uploader 0.8.0 that otherwise successfully updates my Devo 10 shows Devo 12E as unknown:

Is it feasible to flash the device with the current Deviation Uploader? The uploader refuses to automatically create a filesystem in this case. I assume I could connect it via USB in the mass storage mode after firmware flashing, format the device manually as vfat and populate it from a v5 Devo 10 firmware build, as recommended here . But my assumption may be totally wrong and I definitely wouldn't like to brick this thing. This forum post says that Devo 12E is indeed not supported yet.

I tried to look at the (recommended) Dfuse tool from Walkera, but the archive contains a strange file with a name ending in ".exe". That definitely won't run on any of my systems. Is there perhaps a development build of the Deviation Uploader with Devo 12E support?
Attachments:
Last edit: 16 Jul 2017 16:46 by andrej.

Please Log in or Create an account to join the conversation.

More
16 Jul 2017 17:34 #63486 by andrej
Now I'm confused. :-( It looks like Devo 12E is in transmitters.yml! And it has been there for quite a long time already. So, what's wrong with my Devo 12E? Does it have a different ID somewhere that doesn't match? What should I check?

Please Log in or Create an account to join the conversation.

More
16 Jul 2017 18:23 #63488 by Deal57
I am pretty sure that I have never had my 12E work with the java uploader. It works fine with my other TXs but I get the same thing you do.

Deviation Devo7e 3way switch mod, A7105, NRF24L01
Devo6s 2x2 switch mod, trim mod, haptic, multimodule, A7105, NRF24L01, CC2500
Devo12e 4-in-1 with voice mod -- it speaks!!

Please Log in or Create an account to join the conversation.

More
16 Jul 2017 18:33 #63489 by Moeder
Could you please post the command line output of deviation uploader when connecting a devo 12e? And also the output when running Deviation uploader with command line argument "-l"?

Please Log in or Create an account to join the conversation.

More
16 Jul 2017 21:41 #63491 by andrej
Without -l:
Firing Root
Determining device status: statue=dfuERROR status=10
dfuERROR, clearing status
Determining device status: statue=dfuIDLE status=0
dfuIDLE, continuing
Determining device status: statue=dfuIDLE status=0
dfuIDLE, continuing
  Setting address pointer to 0x8000400
   Poll timeout 104 ms
bytes_per_hash=1024
Starting device read
Hotplug detected
With -l:
Found: Runtime [00483:df11] cfg=0, intf=0, alt=0, name='1155:57105:@Internal Flash  :@SPI Flash: Config:@SPI Flash: Library'
Determining device status: statue=dfuUPLOAD-IDLE status=0
aborting previous incomplete transfer
Determining device status: statue=dfuIDLE status=0
dfuIDLE, continuing
Determining device status: statue=dfuIDLE status=0
dfuIDLE, continuing
  Setting address pointer to 0x8000400
   Poll timeout 104 ms
bytes_per_hash=1024
Starting device read
Device  Interface    Start        End    Size   Count
DEVO_UNKNOWN
                0 08004000   0803ffff    2048   120
                1 00002000   0001ffff    4096   30
                2 00020000   001fffff   65536   30

Please Log in or Create an account to join the conversation.

More
16 Jul 2017 21:42 #63492 by andrej
OK, I somehow managed to flash it, albeit in a very crazy way.
  1. Download a spyware VirtualBox appliance from here , 64-bit, version 10, "stable".
  2. Configure the virtual appliance (roughly) like this. (It will definitely work with less CPU and RAM, but my machine has 32 CPUs and 128 GB of RAM, so I don't care that much.)
  3. Configure USB forwarding for the virtual appliance like this:
  4. Start the virtual appliance.
  5. Download the Dfuse USB upgrade tool from here , version 3.0.5 .
  6. Avoid zadig _like_ _the_ _plague_; it won't help in this case. :-( One needs to do the following instead (in the running appliance):
    1. Install the Dfuse USB upgrade tool in the appliance. That will also unpack a suitable driver for the DFU device (see below).
    2. Plug in your Devo in the DFU mode (power on while holding EXT) and wait until it gets connected to the appliance and initialized. It will be called something like COM5, blabla, not working.
    3. Go to Device Manager in the appliance and choose to update the driver for the DFU device manually. Point the driver updater to C:\Program Files (x86)\STMicroelectronics\Software\DfuSe v3.0.5\Bin\Driver\Win8.1\x64
    4. Start the DfuSeDemo application in the appliance. It should see the DFU device now.
  7. Flash the device with the Deviation firmware for Devo 12E from the end of this thread using the tool you installed; for some reason it's called DfuSeDemo. The tool should recognize and display that it's a Devo 12E that you're connecting.
  8. Stop the VirtualBox appliance.
  9. Connect the device in mass storage mode (hold ENT while powering on).
  10. Format the device that appears (happened to be /dev/sdh in my case; check dmesg for yours) as FAT12, e.g. like this: mkfs.vfat -F 12 -n DEVO12E /dev/sdh
  11. Mount /dev/sdh (or whatever device this is on your system) and copy a Devo 10 filesystem into it, either from an existing Devo 10 (my case) or from the v5.0.0 Devo 10 zip image; simply copy the following files from the archive into the new FAT12 filesystem:
  12. Unmount, disconnect, power cycle the Devo 12E and you're good to go.
Attachments:

Please Log in or Create an account to join the conversation.

More
19 Jul 2017 06:11 #63519 by Moeder
Hehe, that seems a little overkill on cpu and ram for running dfuse :P
It should probably just have worked with deviation uploader, as it reads the device flash areas correctly. Could you please share the output of lsusb for the devo device?

Please Log in or Create an account to join the conversation.

More
19 Jul 2017 08:17 #63520 by andrej
Bus 003 Device 018: ID 0483:df11 STMicroelectronics STM Device in DFU Mode
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               1.00
  bDeviceClass            0 
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  idVendor           0x0483 STMicroelectronics
  idProduct          0xdf11 STM Device in DFU Mode
  bcdDevice            2.00
  iManufacturer           1 STMicroelectronics
  iProduct                2 STM32 DFU
  iSerial                 3 DEVO-12E㘠ᙍ姿힂̸ㄅQ
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           45
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0x80
      (Bus Powered)
    MaxPower               64mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           0
      bInterfaceClass       254 Application Specific Interface
      bInterfaceSubClass      1 Device Firmware Update
      bInterfaceProtocol      2 
      iInterface              4 @Internal Flash  /0x08004000/00*002Ka,120*002Kg
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       1
      bNumEndpoints           0
      bInterfaceClass       254 Application Specific Interface
      bInterfaceSubClass      1 Device Firmware Update
      bInterfaceProtocol      2 
      iInterface              5 @SPI Flash: Config/0x00002000/030*04Kg
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       2
      bNumEndpoints           0
      bInterfaceClass       254 Application Specific Interface
      bInterfaceSubClass      1 Device Firmware Update
      bInterfaceProtocol      2 
      iInterface              6 @SPI Flash: Library/0x00020000/030*064Kg
      Device Firmware Upgrade Interface Descriptor:
        bLength                             9
        bDescriptorType                    33
        bmAttributes                       11
          Will Detach
          Manifestation Intolerant
          Upload Supported
          Download Supported
        wDetachTimeout                    255 milliseconds
        wTransferSize                    1024 bytes
        bcdDFUVersion                   1.1a
Device Status:     0x0000
  (Bus Powered)

Please Log in or Create an account to join the conversation.

More
02 Aug 2017 02:35 #63673 by andrej

Moeder wrote: Hehe, that seems a little overkill on cpu and ram for running dfuse :P
It should probably just have worked with deviation uploader, as it reads the device flash areas correctly. Could you please share the output of lsusb for the devo device?


So I tried to flash the Devo 12e with the Java flasher, but it didn't work. It just says "Copy complete" immediately and does nothing.

Please Log in or Create an account to join the conversation.

More
02 Aug 2017 02:55 - 02 Aug 2017 03:00 #63674 by andrej
BTW, the approach I described above has just bricked my Devo 12e. It worked fine for an initial installation of Deviation, but when I tried to use the same approach to upgrade to the August 1 build, flashing appeared to work, but since then the device only starts in DFU mode, no matter if a button is pressed. If it can do DFU mode and flashing, this is probably reversible somehow, but there doesn't seem to be a tool that could fix it.

EDIT: This can be fixed using the DfuSe USB Upgrade tool (version <3) instead of the DfuSeDemo tool (version >=3). Not sure where the difference is, but the older tool identifies and flashes the Devo 12e just fine.
Last edit: 02 Aug 2017 03:00 by andrej.

Please Log in or Create an account to join the conversation.

More
02 Aug 2017 15:24 #63687 by Deal57
This confirms the results I got earlier. The only reliable way to flash the Devo 12e is with the DFUse 2.31, as I found here .

The Java Uploader doesn't see the Devo 12e as anything but Unknown, so it is not usable.

The DFUse 3.05 version sees the Devo 12e will allow you to backup the original Walkera Config, Internal and Library images, and they can be reloaded with 2.31. However version 3.05 will not reliably flash the Deviation images.

Deviation Devo7e 3way switch mod, A7105, NRF24L01
Devo6s 2x2 switch mod, trim mod, haptic, multimodule, A7105, NRF24L01, CC2500
Devo12e 4-in-1 with voice mod -- it speaks!!

Please Log in or Create an account to join the conversation.

More
31 Aug 2017 13:31 #64070 by UABMaddog
Replied by UABMaddog on topic Is Devo 12E supported by the Deviation Uploader?
OK, just ordered a 12E and am going to look into the 4in1 module install and maybe even the voice mod.

I just love Deviation and this group of transmitter hackers.

Any advice for the mods to the 12E? (I have killed one 7E with the infamous pin 13 soldering.....successfully modified 2 others though....LOL)

Please Log in or Create an account to join the conversation.

More
31 Aug 2017 14:22 #64072 by FDR
You don't need to solder to the MCU pin in the 12E, so it's much easier, also plenty of place is in there...

Please Log in or Create an account to join the conversation.

More
02 Sep 2017 05:01 - 02 Sep 2017 05:04 #64117 by andrej
The 4-in-1 soldering on a 12E looks exactly the same as on a 10. Just easily accessible pads on the PCB; no expert skills needed.



Mods that I'd love to see would be Hall effect gimbals, but preferably easy to install, without too much drilling and 3D printing. And an open-source flashing tool that would support the 12E would be very helpful. :blink: So that one doesn't need to start NSA (R) Spyware (TM) in a virtual machine for each Deviation upgrade. :oops:
Attachments:
Last edit: 02 Sep 2017 05:04 by andrej.

Please Log in or Create an account to join the conversation.

More
25 Jun 2018 02:19 #69706 by andrej
Deviation Uploader 0.9.0 still doesn't support Devo 12e. :(

Please Log in or Create an account to join the conversation.

More
25 Jun 2018 03:17 #69707 by andrej
One more thing: It looks like the Devo 12e has a bug (which I haven't seen on Devo 10) that makes it impossible to read certain perfectly legitimate states of the FAT12 filesystem.

Once you create the FAT12 filesystem, Devo 12e will not tolerate file replacements or file editing done by mounting it via USB. Your entire filesystem will then become an inconsistent bunch of random characters and presumably, Devo 12e won't boot from it if it gets too bad. It mostly affects the languages/ directory, but also other directories.

The solution is to never overwrite files, not even within one single mount. Simply prepare all your Devo 12e filesystem beforehand, including all the model definitions and all the zip contents highlighted above. Then copy all of it once (wihtout ever overwriting or otherwise replacing / deleting anything on the FAT filesystem) to the Devo 12e, unmount it and don't mount it again, because it seems that even mounting and unmounting the FS a second time turns it into a pile of broken trash.

This is very strange and it doesn't occur on my Devo 10. However, editing and saving models on the Devo 12e works perfectly fine, so internally it doesn't clobber its own filesystem beyond readability. Just the mounts are troublesome.

Please Log in or Create an account to join the conversation.

Time to create page: 0.136 seconds
Powered by Kunena Forum