Linux EScribe Suite Beta Thread

Recommended Posts

I've been working on this as a side project for a while now. If you're one of the 5 people in the world who uses Linux , and EScribe is the last thing you keep Windows for, well, here you go.

I expect this will have bugs and broken functionality. Please let me know what you run into. Also, I don't use Linux on a daily basis, so if anything seems unnatural to you relative to ordinary Linux look-and-feel, please mention that as well.

EScribe Suite does not register file associations yet, so you can't install themes directly by double clicking a theme file.

The software updater is untested, so checking for updates may not work. We'll see.

Notes:

If you don't have GTK 2 / GTK Sharp 2 installed, EScribe Suite falls back to Mono's Windows Forms implementation, which looks terrible and works even worse. So make sure you have those installed.

Unless you run as root, you may need to alter your udev hidraw rules to give EScribe Suite permission to access your USB HID devices.

EScribe Suite *can* run without Mono's certificate store installed, but ECigStats will be unable to synchronize, and Get Information, Restore Defaults, and similar functions which require accessing Evolv servers won't work.

8

3

Share this post

Link to post

Share on other sites

As one of those 5 desktop Linux users in the world - Thank you! Thankyouthankyouthankyou!

I've been running a Windows VM just for Escribe for the last few years. While it works well enough (once you sort out the glacial USB data transfer speed issue - but that's a known Virtualbox problem not an Escribe specific thing), this version is much faster and lighter on the resources.

So far, so good! I've read data from, and used device monitor with multiple DNA 200, 250, 60, and 75 boards without functionality issues. I've also rolled back the firmware and re-updated the firmware on a sacrificial DNA 75 and it went perfectly (with the firmware files bundled with Escribe, anyway). Escribe detected when my device had a "new service pack available" - but only time will tell how it will go after a new version of Escribe is out, and new "service packs" beyond what is bundled with the current client are a thing.

I have a new DNA 60 device in the post that will need some theme / custom materials / possibly firmware updates, and a 75C I'm picking up from the post office tomorrow that is still running the default Evolv theme (so it's likely going to need a theme, new materials, and possibly firmware update - it's an early Therion 75C and I don't think the previous owner has EVER had it connected to Escribe!). I'll report back if I find any bugs there.

As far as known bugs - I'm not getting any weird window flickering, and the screen backgrounds have rendered correctly consistently.... so yay?

Look and feel - it fits into the desktop because it inherits it's looks from whatever theme is being used. The only tiny, tiny issue I've had is that a lot themes will override the background colours on the checkboxes in device monitor. The checkboxes still work, it's just that they no longer act as a legend for the colours on the graph. Oh, and the numbers in the graph area are always black (it does not inherit the standard text colour from the theme used - so with a dark theme they are a little bit hard to see).

Seriously though - those are minor things, and mostly dependant on user selected UI themes. Functionality, and keeping in-step with the current Windows version are way more important - and so far everything has been stellar on that front.

One positive I've noticed is that this version seems to handle multiple device connections much more gracefully - more so than the "Windows version in a VM". I can have several DNA devices connected, all will be detected, and I am presented with a list as to which one I want to Escribe with.

You CAN run Escribe from a normal user account. The reason it doesn't work out of the box that way is that Linux has NO IDEA what the heck to do when you plug an Evolv boarded ecig in it. It doesn't know what type of device it is - and if it doesn't know what a device is, it'll only let the root user access it.

How you get around this, is that you tell it "if you see a device made by Evolv - it's totes cool, just let all users muck about with it". You do this by creating a "udev rule" (udev is the system that handles USB devices plugged into a Linux box).

As root, create the file (if it doesn't exist already) /etc/udev/rules.d/10-local.rules (note: this is for a Debian box, your distro may vary... but it should be at least somewhat similar if it's Debian based distro).

The file should contain the following (or, if the file exists already - append the following...). *Note : This needs to be all on one line!*

SUBSYSTEMS=="usb", ATTRS{idVendor}=="268b", MODE:="0666"

Save the file, and go make a cup of tea. Your system will detect the change automagically, but it might take a few mins. Plug and unplug your device. Escribe should work from your normal user account now! :).

Share this post

Link to post

Share on other sites

With hindsight (and a more than slight hangover), yes - I really should have done something potentially helpful and recorded the error along with the exact versions of the dependant packages I was running. Sorry about that.

Instead, what I actually did was screw in a very small screw with a very large sledgehammer - blamed the fact I hadn't updated since Debian 8.7 (and that my environment was likely older than that which the software was developed on) and went all out with a dist upgrade.

After that... I haven't been able to reproduce the error.

On the plus side.... I can say it runs great in a freshly updated Debian 9.2

Edited November 9, 2017 by FractalClarification

1

Share this post

Link to post

Share on other sites

Hi there, first of all thank you for porting this over to Linux systems! This is something I've been waiting for since I quit cigs at the earlier this year (I know right, somebody gave me a DNA squonk mod to start off with... and I still use it pretty often).

I have an issue though and that's getting about the installation. I currently use arch on my laptop and I installed mono and gtk-sharp-2 for the deps. I then downloaded the installation file from here, did a quick "chmod +x" on the file and ran it as root from the terminal. I don't know where this has installed to, or where a possible launcher script has been stored. I looked through /var and /usr/bin but didn't find anything with escribe in it. I've tried this with both the intl and US versions of the installer.

It might be that I'm using a window manager instead of a proper desktop environment and a .desktop file isn't being created? I'd love to tweak my drone under a Linux system, so any help would be appreciated

Share this post

Link to post

Share on other sites

@Fractal Thank you so much for the response! I've become pretty rusty with my unix-y skills and should have remembered locate was a thing. None-the-less, I found the executable file path exactly where you said it would be. I did get the .desktop files too (I don't really need them since I'm just running everything from terminal anyways until I save up for a new PC).

I guess a small README about installation paths could be helpful for others in the future. Possibly adding in the udev rules that you mentioned before could be good too. Possibly even making the installer add udev rules as an option to it could simplify things a bit.

Once again though, thank you! I'm able to adjust my the settings reflecting my recent usage of VTC5A's, as well as playing around with titanium wire settings since I'm giving that a go for now. It's a tool I'll probably be using for a while since I have a hcigar VTC-D on the way

Share this post

Link to post

Share on other sites

Looks like there are more than 5 of us! There was only one windows box in my entire house of 4 computer users, used just for escribe and updating other things. It wont be there long now. Running Mint Mate and thanks to Fractal setup was about 3 minutes. It took me forever to buy a DNA because of the Windows only nature of escribe. I will be getting one for Christmas now

Share this post

Link to post

Share on other sites

Interesting thing I noticed with the device updates - on all of the devices I've updated that have both a "Service pack (core)" and a "Service Pack" update (2x DNA 60, 1x DNA 250), I've had a "The device is busy. Another Program may be using it. Retry?" dialogue box pop up in between the two updates.

If I click yes, the error dialogue just pops back up, but if I click "no" the updates continue on just fine.

I ran Escribe via console after updating the first device to see if it was going to spit out anything interesting, but no. It's just (GUI stuff in italics) -

Quote

Operation in progress..

("Service Pack (core)" Progress bar goes to 100%)

Benchmark: Uploading firmware took 2545.5617 ms.

(Dialogue box about device being busy then pops up. The screen on the device being updated reads "Warranty Service". After I hit "no" the update process continues on as normal...)

Operation complete.
Operation in progress..

("Service Pack" progress bar goes to 100%)

Benchmark: Uploading software took 14566.7089 ms.

Operation complete.

(Standard "service pack applied" dialogue box pops up, the device restarts, and everything is back to normal - the devices functions normally with the new updates applied).

When I've been rolling back and re-updating older devices (DNA 75, DNA 200) I haven't had the same behaviour. For all of the older devices though, it's just been a "Service Pack" update - there hasn't been a "Service Pack (core)" happening before it.

Slightly odd thing, could just be me, but hey - at the end of the day it still works (and nothing got bricked) :). Still a stellar job on this Escribe port, and we appreciate it!

Share this post

Link to post

Share on other sites

Tested newest version and found some bugs
1. Offered software update. Download works but apply does not work. Opens a window with shell script and end in error
2. Upgrade device does not work. Complaints that the device is being used by other program
3. Login to internet option does not work. Selectable but nothing happens when you select.

Share this post

Link to post

Share on other sites

Can anyone help me with what code lines do I put on terminal in order to install in on ubuntu 16.04 LTS? It's opening as a text file, I do not know how to install Linux applications that are not in the ubuntu store without a dummy guide. Thanks

Share this post

Link to post

Share on other sites

Can anyone help me with what code lines do I put on terminal in order to install in on ubuntu 16.04 LTS? It's opening as a text file, I do not know how to install Linux applications that are not in the ubuntu store without a dummy guide. Thanks