• See what's going on behind the scenes at Bimmerlabs - completed and published major changes will show up here. Of course, we are always working on other updates that are invisible to the user.

    #72 Welcome to 2019! v0.8.98 2019-01-17

    It may seem quiet here lately, but we have been extremely busy helping a number of people with their cars - so development on new Bimmerlabs features took a back seat for a while.

    For the first update of 2019, we're adding a feature that allows all users to upload an 0da file and get back a binary. For those of you who have been with us since the beginning, our old binary conversion tool always did that, but few had access to that - now everyone does.

    You could always convert a custom 0da file to binary by just clicking on the "binary" link, of course, but now you can also start with one of the default tunes as your baseline for further modification.

    Expect a constant stream of smaller updates to clean up and finish existing features over the next couple months, which finally will lay the path to release the features we've always wanted.

    Thanks for all the support and have a happy 2019!

    #70 Generate custom files for flashing with WinKFP (or software of your choice) v0.8.97 2018-09-05

    Now anyone with a Bimmerlabs account and a project with a supported DME (see here for a full list) can generate your own custom files for flashing with WinKFP. You can also download them in Binary format for further editing, or to use for flashing with your own tools.

    We have had these tools behind the scenes for well over a year now, and I think it's time to finally make them more widely available. The new upload tool can be found in your Project where you would download free tunes or custom files.

    It accepts binary files (.bin extension), either as a full read or a partial read. Checksums are corrected automatically, and where supported, RSA signatures are generated as well. Most DMEs have mo3 checksum corrections as well, but typically only for the latest software version - basically if you are editing any "monitor" maps, you need the mo3 checksums corrected.

    The new file can be converted to 0da (for WinKFP) or binary - 0das can be downloaded as binary at any time.

    Of course you also need a way to edit these files for tuning - but of course, we are working on that as well!

    Stay "tuned"... ;)

    #69 Download customized files as binary - plus other improvments v0.8.96 2018-08-14

    This is a rather small, but still useful update - now customized files can be downloaded in binary format, which should make tuning cycles faster. Often, I don't keep a copy of a file on my machine, because I work on different computers, and it's stored on Bimmerlabs anyway. But if I want to revise something I have to manually run it through the 0da converter first. Now it will be available right in your project downloads!

    Stock files can already be downloaded in binary format, but I have made a small improvement there as well. To save space in the 0da files, BMW left out areas of memory that are essentially blank, or 'NULL'. But the value of a null byte varies depending on the CPU architecture - for many, it's simply 'FF', but other DMEs use '00' or 'A5' Previously Bimmerlabs would check to see if the null byte is already known (from our database). If that fails, it defaulted to 'FF' because there was no better assumption. Now, it will check for $VALUE_UNUSED_BYTE in the 0da, and if it exists, it will use that.

    Of course, not all daten files have a defined $VALUE_UNUSED_BYTE, so in those cases if it's not known by Bimmerlabs it still defaults to FF. However, we will continue to add new DMEs to our database and eventually they will all be defined (since BMW is no longer adding new DMEs to the daten files, having moved on to a newer system).

    There are several other improvements we're working on for the next versions:

    • A modified file's CVN (basically the checksum) will be made to match the original tune's CVN - this way it will pass inspections where an emissions station is able to check that the CVN matches one from their database. This can make tunes undetectable, unless they were to inspect the hex data itself which is unlikely.

    • Automatic AIF updates for some DMEs - to avoid a common (albeit harmless) 2FA3 error. This may wait until our standalone flash tool is available, since we don't want to use up all the AIF slots for no reason.

    • Updated UI - I want to add a lot more features, but the current design will get cluttered really fast, especially on smaller screens. I want to reorganize the navigation layout a bit to make future additions seamless

    Of course there is way more planned, and with luck we will have most major features in place by the end of the year - hopefully Beta 1.0.00! :)

    #68 New flash tools are coming! v0.8.95 2018-07-19

    Currently, Bimmerlabs relies on WinKFP for most of it's flashing - it works well, and the batch files make it easier, but it's still a pain for most users to get working correctly. This wastes precious time on support and troubleshooting that could otherwise be avoided with a simpler interface.

    We have always considered WinKFP an intermediate step towards having our own flash tools - the ultimate goal is actually no downloads at all (the technology exists to control a USB port through the browser), but we're not quite there yet.

    A Windows based program will be released first - it's already quite functional, but we needed to make some changes to protect our users as well as ourselves. A mobile version will be our next goal, probably for Android.

    How it will work

    We are going to require that our software can only flash files signed by us. The binaries will actually be unencrypted, but a signature will be added to the end that our software will look for. If it's invalid or missing, it will simply refuse the flash.

    The software will also be able to read out your original binary, and flash any Bimmerlabs generated binaries. We will even be able to backup boot passwords and ISNs for certain DMEs (which means they can be cloned). It will automatically configure itself based on your DME as well - so you can't flash the 'wrong' file even if it is correctly signed.

    If you wish to flash your binary with another flash tool, that's fine - just delete the signature at the end of the file. If you need to modify the file, it will have to be run through your Bimmerlabs project first (to update the signature to match the file).

    Why are we using signed files?

    The reason is basically to protect from somebody flashing a 'bad' file to their DME - I have personally bricked my test MSV80 with a bad checksum. Since the file isn't encrypted, you will still be free to do what you like with it (but you will need a Bimmerlabs account to generate it).

    WinKFP flashes will continue to be available for free. And of course, most people do not have access to modify binaries on Bimmerlabs yet - but that will change as we roll our new software out.

    #66 TLS1.0 / Security Upgrades v0.8.93 2018-07-13

    Bimmerlabs will be officially retiring TLS 1.0 security protocol support in order to align with industry best practices and ensure that your data continues to be highly secure.

    TLS stands for “Transport Layer Security.” It is a protocol that provides privacy and data integrity between two communicating applications. It’s the most widely deployed security protocol used today, and is used for web browsers and other applications that require data to be securely exchanged over a network.

    As of July 16, 2018, we will disable the TLS 1.0 encryption protocol, which may prevent you from using Bimmerlabs functionality. To prevent disruption, you may need to upgrade your browser to a version that supports TLS 1.1 or higher.

    Secure Browsers:

    The following browsers support using TLS 1.1 or higher. If you are NOT using these browsers/versions, you may not be able to access some or all of our online services.

    • Microsoft Internet Explorer (IE): Version 11 and higher
    • Microsoft Edge: All versions
    • Mozilla Firefox: Version 27 and higher
    • Google Chrome: Version 38 and higher
    • Apple Safari Desktop: Versions 7 and higher for OS X 10.9 (Mavericks) and higher (7)
    • Apple Safari Mobile: Versions 5 and higher for iOS 5 and higher
    • Google Android OS: Android 5.0 and higher

    How to test your if your browser is compatible:

    SSL Labs provides a compatibility test that can be used to verify web browsers support TLS 1.1 or later:

    If the Protocol Support box on the validation site says, “Your user agent has good protocol support.”, you are all set – no action is required.

    #64 Download ZB# (factory tunes) for your car - as a batch flash, 0da, or binary v0.8.93 2018-06-22

    If your particular model is supported, you can now download the ZB# (factory tune) for your car as a zip file (WinKFP batch flash) or as a binary.

    This can be used as a base file to build your own custom tune, for research, or to back your car up to stock.

    In addition, nearly all models can download the factory files in raw 0da format - From the E36 through the E93.

    #63 Custom tuning, BMW file database v0.8.92 2018-06-20

    There are several new improvements to make Bimmerlabs more useful for me as well as our users.

    The main one is the ability to select a tuner. Of course, at the moment, that is just me - but as this feature is developed, there will be more options (we already have a number of professional & well known tuners registered).

    This key ability lets you choose somebody who can custom tune your car beyond what the 'free' files can give you. From the tuner's perspective, it will allow them to access your project, see the files available to you, data about your car, and also allow them to create files that you can download directly from your project, instead of having to keep track of files on their hard drive or email them back and forth.

    Something coming soon is the ability to download any stock BMW file as an 0da (with batch script for flashing) or as a binary. The database is already built and the files are online - for the most part, only valid files for your project's model will show up (depending on options). So if you want to look at customizing your own file, you can do that for free - or if you want to flash a different stock file, or backup your DME to 'stock, you can do that too.

    Also coming soon is a little bit of an interface revamp to enable additional features such as online tuning. Currently, there's just not enough space for all of the buttons! :)

    #62 Updates to MSD81 & MSD80 support v0.8.90 2018-06-08

    We have always been able to generate MSD80 and MSD81 files (it's similar to MSV80), but we didn't support the mo3 checksums and we hadn't published an RSA delete.

    Now we have full support for these software versions:
    MSD81 INA0S
    MSD81 IJE0S
    MSD80 I960S

    the RSA delete for I960S is forthcoming, INA0S & IJE0S are available now.

    Support for other software variants will be added in the future.

    #60 Bug fix for project file upload v0.8.86 2018-05-22

    Due to changes for the binary conversion/modification tools, backup bins uploaded to a users project were being rejected.

    #49 More disk space added v0.8.86 2018-05-17

    Added 1tb of disk space to support further software upgrades - this space will be used to support our ability to load binary data into the database, support more BMW models, and for future expansion.

    #48 Parameter / Map search tool v0.8.86 2018-05-16

    Added a tool for advanced searches of the parameter / map database - this is an early start to the goal of full tuning of any DME.

    You can search by many categories, including name, description, type (map, curve, value, etc), axis labels, measurements, and variables, plus more.

    #37 MS45.1 M03 checksum support v0.8.81 04/20/2018

    Added parameters & offets for MS45.1, software version 0044570LO00S.

    Added handler for different m03 high/low variable names in MS45 (val_mo3_cal_cks_high & val_mo3_cal_cks_low).

    Revised test case to use 330i zhp bin.

    #36 Added ability to save "notes" to a project or custom file v0.8.80 04/20/2018

    Added "notes" support for projects and custom files.

    Also made the HMTL more consistent between the Project and Files pages.

    #35 Improved 0da/0pa file downloads v0.8.79 04/13/2018

    Added 'README.TXT' with an explanation of the different files for those who missed the help page.

    Added version number and more status messages to the *.bat file

    #34 Improved M03 checksum for Tricore DMEs v0.8.78 04/10/2018

    -Added database entries for MSV80 based on 0049QK0MI20S
    -Improved M03 checksum to support "little endian" byte order
    -added double-long word byte swap
    -updated tests for 0049QK0MI20S and new M03 functionality

    To Do:
    -The "byte swap" code could be optimized
    -Add c_rom_cks_cal_h & c_rom_cks_cal_l parameters for MS45, MSV80.1, MSD80, and MSD81

    #33 NFS Validation tool v0.8.62 01/11/2017

    This tool works just like the one in NCSdummy. It corrects the Intel Hex checksums at the end of each line for any NFS format file (0da, 0pa, or hex) - but it doesn't do any verification or parsing of the actual data (checksums, RSA signatures, etc).

    It's useful if you want to do a quick hand edit to an NFS file without having to run it through the whole conversion tool, or if it's from hardware that is not currently supported.

    #31 Intel Hex record improvements v0.8.61 01/05/2018

    The 0da/0pa importer only worked on certain files (MS45, GKExxx, MSV70, MSD80, etc) - as there are quirks in different BMW files.

    The improved version should be able to parse the extended linear address of any Intel hex record, although there are still issues with MEVD17/MEVD1726 files (and maybe others).

    Now however it is properly reading the addresses on MSS60, so additional work on multi-CPU files can begin.

    #29 Batch files for 0da/0pa Downloads v0.8.60 01/04/2018

    BMW NFS files for WinKFP (0da, 0pa) now come with a customized batch file that should making flashing relatively painless.

    The .bat and .ctl files are generated on the fly, and a zip file is streamed to the user - only the NFS file is actually stored on disk.

    Use of the batch file is documented on the
    help page.

    #20 RSA Signature Check v0.8.39 10/26/2017

    On signature checks, I should probably look at the range actually in the file instead of hard coding it - I have found at least one file now that has a custom signature (with a different range), so even though I calculated the correct sig using BMW's key, it still failed the check.

    Instead, look for the segment pointer, then load the segments for the files (like the python program does).

    10/26/2017 - done
    If rsa.parameter.pointer & rsa.parameter.offset are filled out, it will read the binary file to find the segments. Otherwise, it will default to the hard coded segments (some DMEs, like GKE211, don't have an obvious list of segments like the Siemens DMEs do).

    #5 Change Log v0.8.84 05/01/2018

    Add change log to track updates to the software - show published changes on front page to show progress to users.

    Change log is now live. All changes that are both completed and published will show here.

    This will help us communicate how much work is actually happening behind the scenes to our users - because it's not always obvious.