{"id":20561,"date":"2023-11-10T11:00:14","date_gmt":"2023-11-10T11:00:14","guid":{"rendered":"https:\/\/www.obd2tool.com\/blog\/?p=20561"},"modified":"2023-11-12T11:02:52","modified_gmt":"2023-11-12T11:02:52","slug":"programming-with-ista-d-and-enet","status":"publish","type":"post","link":"https:\/\/www.obd2tool.com\/blog\/programming-with-ista-d-and-enet\/","title":{"rendered":"Programming with ISTA\/D and ENET"},"content":{"rendered":"<p>When it comes to programming, ISTA\/D and ENET have proven to be a reliable and efficient combination. While ESYS also works well, I want to focus on my experience with ISTA\/D and ENET in this article. I won&#8217;t be discussing the <a href=\"https:\/\/www.obd2tool.com\/category-230-b0-BMW+ICOM.html\">ICOM<\/a> setup in this post, as it is not the main subject.<\/p>\n<p><strong>The prerequisites are :<\/strong><br \/>\n1. A BMW supporting ENET, such as the F-series<br \/>\n2. A correctly installed ISTA\/D (standalone or not, preferably version 4.32 or 4.39)<br \/>\n3. A full psdzdata package (approximately 280GB once uncompressed on the latest versions)<br \/>\n4. An ENET cable, which can be easily sourced<br \/>\n5. A power supply capable of maintaining a decent voltage (e.g., 13.5V) during the programming session, as the engine cannot be running. A 20A capable power supply is recommended.<\/p>\n<p>It&#8217;s important to note that the installation of <a href=\"https:\/\/www.obd2tool.com\/goods-3179-BMW-ICOM-ICOM-A2-ICOM-A3-Engineers-Version-Software.html\">ISTA Software<\/a> can be time-consuming. I strongly recommend having a SATA SSD or NVME disk on your laptop to expedite the process, as HDDs are not ideal for this purpose.<\/p>\n<p><strong>#1 enable ENET programming in ISTA<\/strong><br \/>\nA configuration file is located in your `ISTA\\TesterGUI\\bin\\Release` folder : ISTAGUI.exe.config<br \/>\nDon&#8217;t be overwhelmed by this fat XML file, you just have to look for `&lt;appSettings&gt;` and then add or replace a couple of keys :<\/p>\n<p>`BMW.Rheingold.ISTAGUI.enableENETprogramming` to &#8220;true&#8221;<br \/>\n`BMW.Rheingold.Programming.ExpertMode` to &#8220;true&#8221;<br \/>\n`BMW.Rheingold.Programming.Enabled` to &#8220;true&#8221;<\/p>\n<p>Alternatively, you can add entries to the Windows registry rather than editing the configuration file :<br \/>\nin `HKEY_LOCAL_MACHINE\\SOFTWARE\\WOW6432Node\\BMWGroup\\ISPI\\Rheingold`<br \/>\nyou would add the same keys, with the following string value : True<\/p>\n<p><strong>#2 The easiest part, set ISTA to use ENET<\/strong><br \/>\nPictures are better than words here :<\/p>\n<p><img loading=\"lazy\" class=\"alignnone size-full wp-image-20562\" src=\"https:\/\/www.obd2tool.com\/blog\/wp-content\/uploads\/2023\/11\/Programming-with-ISTA-D-and-ENET.png\" alt=\"\" width=\"1274\" height=\"227\" srcset=\"https:\/\/www.obd2tool.com\/blog\/wp-content\/uploads\/2023\/11\/Programming-with-ISTA-D-and-ENET.png 1274w, https:\/\/www.obd2tool.com\/blog\/wp-content\/uploads\/2023\/11\/Programming-with-ISTA-D-and-ENET-300x53.png 300w, https:\/\/www.obd2tool.com\/blog\/wp-content\/uploads\/2023\/11\/Programming-with-ISTA-D-and-ENET-900x160.png 900w, https:\/\/www.obd2tool.com\/blog\/wp-content\/uploads\/2023\/11\/Programming-with-ISTA-D-and-ENET-768x137.png 768w\" sizes=\"(max-width: 1274px) 100vw, 1274px\" \/><\/p>\n<p><img loading=\"lazy\" class=\"alignnone size-full wp-image-20563\" src=\"https:\/\/www.obd2tool.com\/blog\/wp-content\/uploads\/2023\/11\/Programming-with-ISTA-D-and-ENET-1.png\" alt=\"\" width=\"1234\" height=\"436\" srcset=\"https:\/\/www.obd2tool.com\/blog\/wp-content\/uploads\/2023\/11\/Programming-with-ISTA-D-and-ENET-1.png 1234w, https:\/\/www.obd2tool.com\/blog\/wp-content\/uploads\/2023\/11\/Programming-with-ISTA-D-and-ENET-1-300x106.png 300w, https:\/\/www.obd2tool.com\/blog\/wp-content\/uploads\/2023\/11\/Programming-with-ISTA-D-and-ENET-1-900x318.png 900w, https:\/\/www.obd2tool.com\/blog\/wp-content\/uploads\/2023\/11\/Programming-with-ISTA-D-and-ENET-1-768x271.png 768w\" sizes=\"(max-width: 1234px) 100vw, 1234px\" \/><\/p>\n<p>Note the settings :<br \/>\nDealer organisation ICOM \/ ENET local area network<br \/>\nSearch broadcast default value : 255.255.255.255,169.254.255.255<br \/>\nSetting search broadcast to an empty value will get you back to the default value by the way.<\/p>\n<p><strong>#3 The shitty part : A resilient network configuration<\/strong><br \/>\nThe short version : While being directly connected to your car from the laptop, you DO WANT to setup a DHCP in order to avoid programming failure.<\/p>\n<p>Why ? Because Windows and your car will default to APIPA IP adresses (169.254.x.x), but will re-negotiate from time to time leading to your network setup to be non-continuous during the programming session. I ended up with a Christmas tree on my dashboard on first try.<\/p>\n<p>So DHCP it is, ok, but which settings ? That&#8217;s were it is a bit funky&#8230;<br \/>\nYou do want two tools to work : ISTA\/D of course, but I strongly suggest to launch ZGW_SEARCH before.<br \/>\nZGW_SEARCH sits in `EDIABAS\\Hardware\\ENET\\ZGW_SEARCH.exe`, it basically just scans the network and show-up your car if detected, almost instantly.<br \/>\nIn a way, it is equivalent to ITOOLRADAR detecting an ICOM (when you use an ICOM device).<\/p>\n<p>The tricky part is that ZGW_SEARCH is hardcoded to scan on the APIPA adresses, by sending packets on the broadcast address 169.254.255.255 (actually sometimes to 169.254.255.25 too). This means that your DHCP configuration should be setup as follows :<br \/>\nIP of your laptop : 169.254.0.1 (or any other ip between 169.254.0.1 and 169.254.255.254)<br \/>\nnetmask : 255.255.0.0<br \/>\ngw : whatever, could be set to 169.254.0.1<br \/>\ndns : same thing<br \/>\nIP pool : any other ip than your laptop&#8217;s : between 169.254.0.1 and 169.254.255.254. I usually take 169.254.42.1 to 169.254.42.255<\/p>\n<p>There are usual tools to help : Netsetman which configures your network card and then launches Tftpd64 (the DHCP server)<br \/>\nEvery time you plug your ENET and power-up your car, launch ZGW_SEARCH and you will see your gateway module detected. Then ISTA can be launched and should work as a charm (as much as ISTA is charming :\/)<\/p>\n<p><strong>FAQ:<\/strong><br \/>\n1. press the refresh button a second time in ZGW_SEARCH if you get nothing (it tries a different broadcast address)<br \/>\n2. once the car plugged and powered up, some modules will take up to 10s to be detected on the network, so just wait 10s before trying anything<\/p>\n<!-- AddThis Advanced Settings generic via filter on the_content --><!-- AddThis Share Buttons generic via filter on the_content -->","protected":false},"excerpt":{"rendered":"<p>When it comes to programming, ISTA\/D and ENET have proven to be a reliable and efficient combination. While ESYS also<!-- AddThis Advanced Settings generic via filter on get_the_excerpt --><!-- AddThis Share Buttons generic via filter on get_the_excerpt --><\/p>\n","protected":false},"author":1,"featured_media":20562,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[2078],"tags":[1669,215,1674,1672,3018],"views":3339,"_links":{"self":[{"href":"https:\/\/www.obd2tool.com\/blog\/wp-json\/wp\/v2\/posts\/20561"}],"collection":[{"href":"https:\/\/www.obd2tool.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.obd2tool.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.obd2tool.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.obd2tool.com\/blog\/wp-json\/wp\/v2\/comments?post=20561"}],"version-history":[{"count":1,"href":"https:\/\/www.obd2tool.com\/blog\/wp-json\/wp\/v2\/posts\/20561\/revisions"}],"predecessor-version":[{"id":20564,"href":"https:\/\/www.obd2tool.com\/blog\/wp-json\/wp\/v2\/posts\/20561\/revisions\/20564"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.obd2tool.com\/blog\/wp-json\/wp\/v2\/media\/20562"}],"wp:attachment":[{"href":"https:\/\/www.obd2tool.com\/blog\/wp-json\/wp\/v2\/media?parent=20561"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.obd2tool.com\/blog\/wp-json\/wp\/v2\/categories?post=20561"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.obd2tool.com\/blog\/wp-json\/wp\/v2\/tags?post=20561"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}