Thursday 22 December 2016

TL866 + MiniPro under Linux

I've long been a fan of the extremely useful and affordable TL866 despite its lack of support for a bunch of TSOP flash chips I've recently been looking at.



A mild inconvenience though is the dependency on Windows. For ages I've kept an old netbook around pretty much entirely for the TL866 but I've recently discovered you can run the device quite happily from Linux thanks to the efforts of a couple of guys who've posted their code on github.


Wine

If you want the same MiniPro experience under Linux as you have under Windows then Wine is probably the way to go. The steps are:
  1. Obtain a copy of the MiniPro software. This is the offical link.
  2. Install Wine if required.
  3. Extract the contents of the MiniPro rar and run wine ./MiniProV650_setup.exe  Note that the application should install fine, but you won't be able to talk to the device just yet.
  4. Download setupapi.dll from this git repository and copy it to the same location where you installed MiniPro. This might be somewhere like ~/.wine/drive_c/minipro or something like that.
  5. As root, create /etc/udev/rules.d/50-minipro.rules and add the following: SUBSYSTEM=="usb", ATTR{idVendor}=="04d8", ATTR{idProduct}=="e11c", GROUP="plugdev", MODE="0666"
  6. Restart udev by running udevadm trigger
  7. If everything has worked you should be able to plug the TL866 in and start up the application from Wine. 

Command line

To avoid installing Wine, or to just avoid using the MiniPro software altogether, there is an open source alternative available on github. The build instructions provided with the code are pretty good so there shouldn't be any problems getting it up and running.


The screenshot shows the usage options as well as using the tool to dump out the contents of a 24C32WP Serial EEPROM. 


The contents of the dumped EEPROM match what the GUI version above produced, so confirmation the code is working as expected.

I've had issues with the GUI tool not wanting to read chips in circuit before, reporting the error "OverCurrent Protection actions! External short circuit/IC reverse or damaged!". 



This cli version seems to work fine however. I don't know if that means it is simply ignoring potential overload situations which could end up being a problem, but it seems to be working fine for now.

So this handy little tool has, for me anyway, just become even better.

11 comments:

  1. Having some trouble, minipro.exe works fine, can't see TL866cs, not sure best way to communicate for troubleshooting :(

    ReplyDelete
    Replies
    1. Did you build the command line version from the git source above or are you using the windows version from inside wine? Either way check you have the correct udev rule set up.

      Delete
  2. Great thanks! Slackware 14.2 with Wine 3.0 - all work fine.

    ReplyDelete
  3. This comment has been removed by the author.

    ReplyDelete
  4. I tried to use the official software under Wine on Linux Mint using your tips, but I was not sucessful on it.

    Very good to know that there is an alternate way to use the MiniPro TL866** on Linux, even with a CLI anyway.

    Is there any plans to make a GUI version for it?

    ReplyDelete
  5. got it working with the DLL above, excellent.

    ReplyDelete
  6. Thanks for your tutorial and provided DLL!
    Please note that for TL866 the contect for /etc/udev/rules.d/50-minipro.rules should contain:

    SUBSYSTEM=="usb", ATTR{idVendor}=="a466", ATTR{idProduct}=="0a53", GROUP="plugdev", MODE="0666"


    Regards,
    pancioNET

    ReplyDelete
  7. I mean TL866 II plus ofcourse...

    ReplyDelete
  8. Hello everyone.....

    I am running Ubuntu 18.04.01 64 bit

    I get the following error after following the install guide here:

    Dll Loaded.
    winusb.dll was not found in the IAT.
    Dll Unloaded.
    Dll Unloaded.
    0009:err:module:attach_dlls "usb.dll" failed to initialize, aborting
    0009:err:module:attach_dlls Initializing dlls for L"Z:\\home\\steven\\Minipro\\MiniPro.exe" failed, status c0000142

    Any insight would be lovely!
    Most appreciated...in advance!

    ReplyDelete