Hyundai Motor Group (Huyndai, Kia, Genesis) firmware updates on Linux using the nudl tool

Helmut Neukirchen, 15. October 2026

The nudl tool runs on Linux, Windows, macOS and can download firmware updates for cars from Huyndai, Kia, Genesis: https://github.com/chenxiaolong/nudl. As the HMG server does some GeoIP, you will get automatically the correct firmware image for your region from the HMG update server.

For my EU Kia EV6, I used:

./nudl list -b kia | grep EV6

As of 10/2026, this printed:

2025_26_EV6_GT_EUR               "2025-26 EV6 GT"          CV1GT26.EUR.ccNC.001.002.260312
2025_26_EV6_GT_EUR               "2025-26 EV6 GT"          CV1GT.ERT.ccNC_Lite.001.002.260312
2025_26_EV6_GT_EUR               "2025-26 EV6 GT"          CV1GT26.ERT.ccNC_Lite.001.002.260312
2025_26_EV6_GT_EUR               "2025-26 EV6 GT"          CV1GT.EUR.ccNC.001.002.260312
EV6_MY_22_EU                     "2022-24 EV6"             CV_E.EUR.S5W_L.001.001.260128
2025_26_EV6_EUR                  "2025-26 EV6 PE"          CV1MY26.EUR.ccNC.001.002.260312
2025_26_EV6_EUR                  "2025-26 EV6 PE"          CV1.EUR.ccNC.001.002.260312
2025_26_EV6_EUR                  "2025-26 EV6 PE"          CV1.ERT.ccNC_Lite.001.002.260312
2025_26_EV6_EUR                  "2025-26 EV6 PE"          CV1MY26.ERT.ccNC_Lite.001.002.260312

As I have model year 2022, i.e. MY22 with the old Standard Gen5W Navigation, the entry EV6_MY_22_EU is relevant for me. The extra thorough can double-check via:
./nudl list -b kia -m EV6_MY_22_EU
which correctly printed
MODEL NAME VERSION
EV6_MY_22_EU "2022-24 EV6" CV_E.EUR.S5W_L.001.001.260128

(In addition, you can also double-check by comparing to the latest update available on the European KIA update server.)

I created then a directory with that version name and did let nudl download into that directory using the -o parameter:

./nudl download -b kia -m EV6_MY_22_EU -o "CV_E.EUR.S5W_L.001.001.260128"

If your download was aborted and you can resume (by just re-running the above command). If you want then to verify the checksums, point nudl to the directory that was used for that version:

./nudl verify -d "CV_E.EUR.S5W_L.001.001.260128"
Typically, that verification step is not really needed as the car itself also checks file integrity before installation.

Finally, copy the downloaded files directly from the directory (but without the directory itself) to the root of the USB key:

USB Drive/
├── AppUpgrade
├── EV6_MY_22_EU.ver
└── HU/

Copying will take some time as this is 25 GB of data (so have at least a 32 GB USB key). If you use cp -a, use in addition the -v flag to see some sort of progress, i.e.: cp -av

I had some older instruction, running Microsoft Windows in a VM, but thanks to nudl, there is no need for a Windows WM anymore, as this got really easy now!

Interview with 2008 ACM A.M. Turing Award winner Barbara Liskov

Helmut Neukirchen, 30. September 2026

I stumbled over a nice interview with 2008 ACM A.M. Turing Award winner Barbara Liskov -- a pioneer in Software Engineering and Distributed Systems.

Alone her comment on Python's lack of encapsulation is worth viewing it from a Software Engineering point of view.

There have been concerns on implications for agentic AI because LLMs are known to cheat: e.g. instead of trying to find the solution on their own, agentic AI swarms hack into HuggingFace hoping to find some help for the solution there.

Therefore, instead of adhering to encapsulation conventions, GenAI might simply break encapsulation in the generated Python code if the AI thinks that this helps to solve the problem at hand.

I have the hope that an agentic AI that is used to produce Python code respects rules that guide it to adhere to encapsulation in Python code.

By the way: ArchUnit is a way to check adherence to architectural rules (and a version for Python exists as well) and this can be used in agentic AI tool chains to test adherence to architectural rules.

European Researchers' Night 2026 / Vísindavaka 2026

Helmut Neukirchen, 25. September 2026

The Computer Science Department at the University of Iceland was at the European Researchers' Night 2026 / Vísindavaka 2026 on 26. September 2026, 12:00-17:00, at Laugardalshöll in Reykjavik.

The above picture with the crowd shows only a quarter of the floor.

The Computer Science Department had a couple of booths there, showcasing our activities in a way accessible to the general public. More than 10 000 visitors came and many tried our interactive exhibitions:




Gagnabær ("Datatown") digital twin together with a physical LEGO model of Iceland representing critical infrastructure. Users can interactively defend or attack critical infrastructure and learn that services influence each other: what does it help to defend the hospital if it does not get electricity (after running out of emergency power supply) or water because the utilities are under attack?!

The Ambassador of the European Union to Iceland, H.E. Clara Ganslandt, did visit our booth as this project is co-funded by the European Union and the European Cybersecurity Competence Centre.The video snippet below is an excerpt from the full video available at the Facebook page ESB - Evrópusambandið á Íslandi / European Union in Iceland:




Food supply chains can not only be affected by pandemics, but also by cyber attacks: simulate when shops in Iceland would run out of stock.



As University of Iceland is recognized as a global leader in remote sensing (according to the Shanghai subject ranking), we had a demo where Landsat satellite images that contain features that look like letters in the alphabet were used, so that could find Your Name in Landsat images. In the example, you can see the name Helmut spelled using, e.g., a U-shaped iceberg from Greenland.





AI aquarium: draw you favorite underwater animal, take a photo, upload it to an AI, and see it swim and spawn in the virtual aquarium.



The Computer Science Department has been for years the driving technical force behind the First Lego League Ísland. Now, this has phased out and we are now backing the World Robot Olympiad which is more open to other technologies and age groups.


Behind (or in fact: above) the scenes: the organisers of Vísindavaka asked me to count the number of visitors by having a camera at the entrance that counts people entering and exiting. This ran GDPR-compliant (counting was done in real time and no video was stored, nor were people re-identified). This year, I had a camera with a better quality (an old Pixel 3a smartphone running as webcam), so the software was able to count significantly more visitors -- but still, the software was more reliable in counting people exiting than entering and anecdotical evidence showed that still not all people leaving were counted, so the counted number of visitors is a lower bound. However, people were not re-identified, so they have been counted twice if they left and come back again (but I have the feeling that -- except for the staff -- this was not often the case). Note to self: For next year, using a tripod clamp for the smartphone and tripod might ease camera adjustment so that also people at the left and right border get counted properly. Also, connection via USB C might help to provide more charging power as the power-limited USB A connection did lead to the smartphones battery being almost empty when running from 12:00 to 17:00






Team members of the Computer Science Department (and the general director from Rannís)

Our booths at the previous European Researchers' Nights:


Parts of this event are in the context of our cybersecurity activities and the ECCC/EU co-funded projects ICEDEF – Defend Iceland and Eyvör – the National Cybersecurity Coordination Centre of Iceland (NCC-IS).


Open professor position in Computer Science or Software Engineering

Helmut Neukirchen, 25. September 2026

The University of Iceland invites applications for a full-time position as Assistant Professor in computer science or software engineering within the Department of Computer Science in the School of Engineering and Natural Sciences. In accordance with the University of Iceland's regulations, the duties of academic staff are divided into three main areas: research, teaching, and administration.

Field of work

  • Teaching within the department, including introductory courses
  • Supervision of master's and doctoral students
  • Conducting research in computer science, software engineering or related fields
  • Attracting domestic and international research funding
  • Participation in the administration of the department and teaching development

Qualification requirements

  • Ph.D. in computer science, software engineering or a closely related field
  • An active research record with publications in international venues in the field of computer science or software engineering
  • Good command of English, both written and spoken
  • Experience in university teaching and student supervision is an advantage
  • Experience in attracting research funding is an advantage
  • Experience in interdisciplinary collaboration and/or of collaboration with industry is an advantage
  • Good collaborative and interpersonal skills, with the ability to communicate knowledge effectively
  • The ability to teach in Icelandic is an advantage. Appointees are required to attain proficiency at the B1 level in Icelandic within four years of appointment. The University of Iceland provides support to help staff achieve the necessary language skills.

Applications are particularly encouraged from candidates working in one or more of the following areas, although applications from other areas of computer science are also welcome:

  • Human-computer interaction. User-centred software engineering, requirements engineering, user experience and interaction design, accessible and inclusive design, together with qualitative and quantitative methods for user research.
  • Applied artificial intelligence. Software development supported by generative AI, based on formal and informal specifications; verification and validation of AI-generated code; together with the design, orchestration and evaluation of AI agents that carry out tasks with limited supervision.
  • Cyber-physical systems. Embedded systems, edge computing, robotics, and distributed or resource-constrained systems.
  • Cybersecurity. Security and resilience of software, systems and networks; cryptography and secure protocols; vulnerability analysis; monitoring of and response to security incidents; together with the human dimensions of cybersecurity.

Application process

The position will be filled for a term of five years, with the possibility of a permanent appointment thereafter, cf. Paragraph 3, Article 31 of the Rules of the University of Iceland No. 569/2009. Applicants who meet the relevant requirements may apply for expedited promotion immediately following recruitment under Article 3 of Regulation no. 1300/2020 on promotion of academic staff at the University of Iceland.
The processing of applications, evaluation of candidates` qualifications, and appointment to the position shall follow the provisions of Act No. 85/2008 on Public Universities and the Rules of the University of Iceland No. 569/2009.

Applicants must submit the following documents with their application:

  1. A cover letter outlining, among other things, how the applicant meets the qualification requirements
  2. Diploma(s) or, where applicable, a certificate of academic record
  3. Academic curriculum vitae (CV)
  4. List of publications
  5. A report on research work and other professional work undertaken
  6. A statement of research and teaching plans if appointed
  7. Information on potential referees who may be contacted

The application must indicate which of the applicant`s publications, up to eight in total, are considered most significant with regard to the position in question. Applicants should submit only these publications with their application or provide information on where they are electronically accessible. If a submitted work has multiple authors, applicants must clarify their individual contribution to the work. Application materials that cannot be submitted electronically should be sent in two copies to the Science and Innovation Department, University of Iceland, Sæmundargata 2, 101 Reykjavík.

All applications will be answered, and applicants will be informed of the outcome once a decision has been made. Applications may remain valid for six months after the application deadline.

In hiring for positions at the University of Iceland, the University`s equality policy is taken into account. Attention is also drawn to the University of Iceland`s language policy.

Since 1911, the University of Iceland has been a leading institution for business and societal progress in Iceland. It is a forward-looking research university and an active participant in international scientific collaboration.

The University of Iceland is the largest university in the country, offering nearly 400 programs at the undergraduate, master`s, and doctoral levels. Approximately 14,000 students are enrolled, including over 2,000 international students.

More than 1,800 staff members work at the University of Iceland. The university emphasizes attracting a diverse community of employees and students to an international academic environment, where academic freedom, professionalism, equality, diversity, and inclusion are prioritized.

Application deadline

Application deadline is 02.10.2026, 23:59 UTC+0.

For further information contact

Kristján Jónasson

jonasson@hi.is

Hafsteinn Einarsson

hafsteinne@hi.is

Online application form Note: you can switch to English and while it offers you to sign in with an Icelandic Id number or even electronic Id, non-Icelandic residents can also simply register a new user.

17th EAI International Conference on Digital Forensics & Cyber Crime successfully held in Reykjavik, Iceland, 8 - 10 September, 2026

Helmut Neukirchen, 23. September 2026

The 17th EAI International Conference on Digital Forensics & Cyber Crime (ICDF2C 2026) was successfully held in Reykjavik.

ICDF2C 2026 participants

Thanks to everyone who made this event possible!

Proceedings have been published and can be accessed via SpringerLink and you should be able to get even 20% off:

ICDF2C 2027 will be in New York. Submission deadline is 15 December 2026.

Fixing the Ansible Reboot No Network Connection Freeze on NVIDIA DGX Spark

Helmut Neukirchen, 5. June 2026

This is my first AI-generated blog post (but it is manually reviewed and corrected, so this is no AI slop): after debugging for hours an Ansible script for updating (using fwupdmgr and apt) a Spark DGX that includes a reboot, I involved AI to solve my problem.

Before the automation, I finished the manual firmware and kernel update with a manual

/sbin/reboot now

While this manual approach worked, my automated Ansible-based approach that I tried then, did freeze the network connection and while I could still log-in via keyboard and mouse, the network devices where not visible in system logs. Only pulling the power plug helped to bring the networking back.

As an LLM helped me debugging, that LLM had all the context needed to create this blog post:

When running updates via Ansible on the newer NVIDIA DGX Spark platforms, executing a standard ansible.builtin.reboot module immediately following a major firmware and package upgrade can cause the target node to completely drop off the network. The system will stop responding to pings.

If you check via the physical console (HDMI and USB mouse and keyboard luckily still working) the logs after a ansible.builtin.reboot, you will find a quiet, catastrophic platform trace:

acpi NVDA8800:00: platform device creation failed: -16 (EBUSY)

The primary PCIe Host Bridge Controller crashes, rendering the OS completely blind to PCI devices such as the network. As a result, physical network interfaces (like the Realtek enP7s7) vanish entirely from the system — running lspci returns absolutely nothing.

While Spark DGX forums catch the downstream symptoms of this fragility — for example, citing PCI DOE mailbox timeouts during warm resets — they usually miss the exact software trigger and offer no solution for Ansible-based reboot automation. Here is why it happens and how to fix your Ansible playbooks permanently.


The Root Cause: The SSH Handshake Trap

The standard ansible.builtin.reboot module operates on a synchronous protocol. It opens an SSH connection, triggers the reboot, and then clamps that TCP socket open while polling the machine's status to watch it go down and verify when it returns online.

When systemd attempts to dismantle the network driver stacks while at the same time, Ansible is actively fighting to hold that SSH socket open, a severe timing race condition triggers on the unified NVLink-C2C/PCIe switch fabric. Because a warm, i.e. software reboot keeps the motherboard power sub-planes fully energized, the EBUSY (-16) error flags stick in the hardware registers, locking out the PCIe bridges on the subsequent boot cycle.


The Solution: Staging and Fire-and-Forget Automation

To fix this platform trait, we have to implement two distinct changes in the Ansible script:

  • Assuming that the script involved firmware and package updates: Rearrange the execution order: Stage firmware capsules first using fwupdmgr, run apt package upgrades second, and consolidate the layout into a single reboot at the absolute end to minimize fabric disruptions.
  • Decouple the reboot execution: Force a low-level kernel storage flush, request an immediate hardware reset vector jump, and instruct Ansible to drop its hands off the connection before the network stack can stutter.

By wrapping the reboot command in async: 10 and poll: 0, Ansible passes the instruction string to the kernel and instantly terminates its own SSH pipeline that it established from your remote administration machine from where you started the Ansible script. The fabric remains completely quiet, allowing the system to cycle cleanly.

Here is the hardened, production-ready playbook snippet:

    # ==========================================
    # CONSOLIDATED DECOUPLED REBOOT
    # ==========================================
    # We use fire-and-forget (async/poll) to drop the SSH connection 
    # BEFORE driver stacks cycle, preventing the PCIe fabric race condition.
    - name: Data-safe sync and single hardware reset
      ansible.builtin.shell: "sync && /sbin/reboot now"
      async: 10
      poll: 0
      when:
        - reboot_required_file.stat.exists or firmware_staged | bool
        - not ansible_check_mode

    # Explicitly hold execution to accommodate firmware flashing and NVLink link-training cycles
    - name: Wait for hardware initialization and fabric training to complete
      ansible.builtin.wait_for_connection:
        delay: 60
        timeout: 1200
      when:
        - reboot_required_file.stat.exists or firmware_staged | bool
        - not ansible_check_mode

The Takeaway

The above wait_for_connection task will patiently pause automation, i.e. Ansible will not keep the network connection alive and will give the Grace Blackwell chip the full 60+ seconds it needs to process the firmware layers, serialize its memory planes, and finish calibrating and setting up the high-speed links. Once the links are bound, Ansible safely re-authenticates.

P.S. (Written by the human author, not the AI): Strictly speaking, you do not need the final ansible.builtin.wait_for_connection: step (it even slows down your script), but it gives you the confirmation that the Spark DGX gained network connectivity after the reboot.

DBCAM: Reclaim EV range for the Mitsubishi Outlander PHEV -- exemplified with the Thinkcar Thinkscan 689 diagnostic tablet

Helmut Neukirchen, 11. May 2026

The Problem: Battery capacity cannot be measured as the drive battery never gets fully emptied during driving

The Mitsubishi Outlander PHEV is a very reliable car, but as the drive battery is never fully emptied, model years up to 2022 cannot measure actual battery capacity (model years 2023 and later use the Nissan/Renault EV platform that measures actual battery capacity, e.g. by continuous coulomb-counting combined with Open-Circuit Voltage resting curves and Kalman filtering).

Instead, the Battery Management Unit (BMU) has to estimate the real battery capacity based on the calendar ("secular degradation") and on charging cycles. Typically, this estimate is too pessimistic and therefore, the BMU does not allow full use of the real battery capacity. As a result, the EV gets unnecessarily reduced.

(The BMU never drains the battery below roughly 30% because it must reserve sufficient energy to spin up the cold combustion engine within a fraction of a second when EV power runs out. Unlike a traditional 12 V starter motor, which can take a few seconds to crank an engine in a stationary car, the PHEV's engine must engage instantaneously to prevent any loss of power while driving. And for that, the high-voltage starter motor needs some energy reserve in the drive battery. While a pure BEV can simply run its battery pack down to a halt, a PHEV must seamlessly hand over propulsion to the combustion engine the moment the empty battery threshold is reached.)

The Solution: Fully drain the battery while not driving and then measure the capacity

While the battery will never be fully emptied during driving, you can enforce this if the Outlander PHEV is stationary: a so-called Drive Battery Capacity Automatic Measurement (DBCAM) procedure can be triggered for a parked Outlander PHEV to force the BMU to measure the real battery capacity. The DBCAM procedure will then drain the battery to the low-voltage cutoff (which corresponds to maybe 20% of energy left in the battery, because going lower would put unnecessarily high stress on the drive battery). To this aim, DBCAM switches on air conditioning and heating simultaneously which is a good way to consume significant energy without actually driving. After that, DBCAM fully charges the battery and while charging, the BMU actually measures how much energy flows into the battery. This measured value then replaces the estimated battery capacity, giving you some range back.

Diagnostic tool needed to trigger the DBCAM procedure

You need a diagnostic tool to trigger the DBCAM procedure. This can be the original Mitsubishi Multi Use Tester (M.U.T.-III) or a third-party tool (that reverse-engineered the protocol used by the Mitsubishi M.U.T. via the OBD port on the CAN bus).

The remainder describes using the Thinkcar Thinkscan 689 diagnostic tablet to do this. While the diagnostic tablet needs to be bought once, it pays for itself compared to paying your car dealer every year or two for the DBCAM.

If you want to buy one of the Thinkcar tools: their web page is terrible -- links are not working and while their web page has a coverage or compatibility section where you should be able to see that the chosen Thinkcar tool supports DBCAM, these features of their website rarely work. But should you (or they) get their vehicle coverage inquiry web page to work, select Mitsubishi, OUTLANDER-PHEV, then your model year, Battery Management Unit (BMU), Special Functions, Battery Auto Capacity Measured: this needs to be supported by the tool that you buy.

I can confirm that the DBCAM procedure can be triggered with a Thinkcar Thinkscan 689; another tool that is confirmed to work is the Thinkdiag / Thinkdiag 2 tool.

Be aware that the cheaper Thinkcar tools are subscription-based: when you run them for the very first time, you have to register them and get the updates (=supported cars and functionalities) for the tool from that year. If the subscription expires, you can still continue using the tool -- you just will not get support for new car types, unless you opt for paying again for the subscription (it is OK to have gaps in the subscription and the subscription is cheaper if you buy an update only for a particular brand). Unless you are an independent repair shop that needs to service all brands, it is perfectly fine to buy a subscription-based diagnostic tool: it can do the DBCAM and forever supports everything that it supported when you activated it, i.e. you can do the DBCAM in all future years without a subscription.

I nevertheless opted for the Thinkscan 689 diagnostic tablet as this diagnostic tablet has lifetime updates and I did not understand at that time that the subscription model would have worked fine for me. But the cheaper Thinkdiag / Thinkdiag 2 tools should be perfectly fine.

The Thinkscan 689 diagnostic tablet is in fact an Android tablet with an OBD connector, whereas the Thinkdiag tool is an advanced OBD dongle that connects via Bluetooth to a Thinkcar app on your smartphone.

PHEV Watchdog app to read battery data

Also, I use the app PHEV Watchdog lite (together with an OBD Bluetooth adapter that I already had to clear DTC errors) to read, store, and present BMU data in an easier-to-use way than the diagnostic tablet does. See the screenshots below:

Before the DBCAM: 27.9 Ah usable battery capacity, corresponding to a 69.8% State of Health (SoH) of the battery. The DBCAM procedure itself (as initiated by the diagnostic tablet) found 30.0 Ah usable battery capacity corresponding to a 75.0% SoH (yellow tile) and stored that value in the BMU. After the battery had settled, even 30.3 Ah usable battery capacity corresponding to a 75.8% SoH is reported.

Details from PHEV Watchdog lite when reading BMU data after the DBCAM: 99.0%=30.0 Ah State of Charge (SoC). As Mitsubishi communicated for my 2017 model both a 40.0 Ah and a 38.0 Ah usable battery capacity when the PHEV leaves the factory, it is not clear which of these two values is correct, so the PHEV Watchdog lite app displays a SoH percentage for both maximum usable battery capacity values communicated by Mitsubishi. The absolute real usable battery capacity is 30.3 Ah or 9.1 kWh. 78.3% of the distance was driven electrically. The battery is 2970 days old and the charging corresponds to 1172 full charging cycles (but in practice, these were rarely full charging cycles, so that value is accumulated and calculated). 12.49% of the battery capacity was lost to charging ("cycle deterioration") and 16.55% of the battery capacity was lost to aging ("secular deterioration"), i.e. would have happened anyway regardless of how many charging cycles the car had.

Cell Smoothing

The improvement in usable battery capacity after a DBCAM comes from the BMU measuring actual capacity rather than relying on its pessimistic degradation formula. However, if individual cells are out of balance, then while charging the battery pack, one cell will inevitably reach the upper voltage limit during charging before the others are full. This leaves some of the pack's potential capacity untapped because lagging cells never get topped up.

PHEV Watchdog lite can show this cell drift. If the delta between the minimum and maximum voltage is ca. 0.050V or more on a fully charged, rested battery, doing what Mitsubishi calls Cell Voltage Smoothing before a DBCAM is well worth the extra step.

Why doesn't regular charging with balancing fix large cell drift?

The Outlander PHEV already performs cell balancing at the end of every AC charge using tiny resistors across each cell to ensure that all cells have the same voltage at the end of charging. This means: while the wall charger is pumping in several Amps, the tiny bleeder resistors draw away a fraction of the charging current so that the cells that have a rather high voltage get less charged than the cells that need to be topped up. But as even the "bleeding" cells still gain charge, these cells might still hit their maximum voltage limit and therefore, the car has to stop charging entirely, leaving the lagging cells undercharged.

In most cases, this cell balancing is sufficient to keep the cell drift well below the delta of 0.050V. But sometimes, cell smoothing is needed.

How Cell Smoothing fixes large cell drift

Cell Voltage Smoothing takes extra time and is therefore not done during normal charging, but needs to be initiated via diagnostic tools (such as the Thinkcar tablet) on a fully charged pack:

  • The car is unplugged, meaning zero incoming charging current. The BMU switches on the bleed resistors only on the higher-voltage cells, slowly dissipating their excess energy as heat.
  • Without an active charger hitting upper voltage limits, the BMU can run this targeted bleed uninterrupted (but it will stop after a maximum of 2 hours) until the high cells drop down to match the rest of the pack.

After this smoothing, the cells are set to the same voltage (which the normal cell balancing might not have achieved).

Starting the DBCAM with smoothly leveled cells ensures that every single cell fills to its true maximum and drains to its true cutoff together, allowing the BMU to register the highest possible Amp-hour capacity.

Procedure for cell smoothing

Note: I never tried it myself, though, as my own cell drift was only 0.010V, namely minimum cell 0.004V below average, maximum 0.006V above, which is well within normal tolerance, so I skipped smoothing and the following text is not based on my experience, but AI-generated:

Connect: Plug your Thinkcar diagnostic tablet into the OBD port while the vehicle is fully OFF.

Ignition to READY: Turn the vehicle on to READY mode (foot on the brake, press power). (Note: This is different from DBCAM, which requires the vehicle to be turned fully OFF for the discharge and charging phases to begin.)

Navigate: Open the Thinkcar app, decode your VIN, and navigate to System Selection -> BMU.

Execute: Select Special Function -> Cell voltage smoothing.

Confirm: Press the button to execute the command.

Monitor: The Thinkcar screen will show an "Execution status." You simply wait until that status changes from "Active" to "Not Active" to confirm the balancing is completely finished.

Time: The process can take up to a maximum of 2 hours to complete.

Tablet Power: Your Thinkcar tablet must not go to sleep or turn off its screen during this process. If it does, the connection will drop, and the procedure will abort and throw an error. Plug your tablet into a charger and set its display settings to stay awake indefinitely.

DBCA procudure step-by-step

You may find on the web a Mitsubishi Service Bulletin MSB-17EXL54-501 (to avoid any copyright claim, I do not provide the link here, but you should be able to find it via a search engine, the filename is: MSB-17EXL54-501.pdf). This document describes the official procedure using the Mitsubishi M.U.T.-III diagnostic tablet. The following is for the Thinkcar tools based on this official procedure and on the forum post listing the steps for the Thinkdiag / Thinkdiag 2.

If you like, first use the PHEV Watchdog lite app in order to take a new reading of the current battery condition there (connect via Bluetooth to your generic OBD dongle, then via three dots: Battery Condition -- when connected via Bluetooth, it should immediately record a new reading. By tapping on it, you can delete a reading in case you made too many recordings of the same state).

But now, the steps to trigger the DBCAM procedure with the Thinkcar tools:

  1. Drive the drive battery to empty (because DBCAM will measure how much energy it can charge into an empty battery -- but when the car displays the battery as empty, it still has 30% of energy stored and this 30% buffer will be emptied as part of the DBCAM)
  2. Have car switched off
  3. Connect charging cable: car will start charging (even though we want to have the battery empty: as it is slow AC charging anyway, it is no problem that this starts charging the car now)
  4. Connect the diagnostic tablet (IIRC I had the car switched on, but in step 17, I later had to switch my car off for the DBCAM to start: try next time to leave it switched off! The Mitsubishi Service Bulletin MSB-17EXL54-501 also mentions that the car should be switched off before connecting their diagnostic tablet.)
  5. Do the VIN scan: click the large VIN button
  6. Click: Automatically Search. It will then show Vehicle information, click: OK
  7. Click: System Selection
  8. Scroll down to and click: BMU
  9. Scroll down to and click: Special Function
  10. Scroll down to and click: Battery Auto Capacity Measured, confirm with: Yes
  11. As DBCAM is currently not running, but may have completed an earlier run, Execution Status should be either: Not run (if you never did a DBCAM) or Complete (from the previous DBCAM)
  12. Scroll down: Auto Capa.Measured Result HIS.1 to 10 should show the history of previous DBCAM battery capacity measurements (or the original capacity, 40 in case of my MY 2017) and Auto Capa.Measured ODO HIS. 1 to 10 should show the odometer readings from previous DBCAMs, or 0.
  13. You may want to note down what value is shown for Battery Current Capacity -- after DBCAM has completed, it should have changed and will hopefully be a higher number as it is using the measured instead of the too pessimistic value calculated by the BMU.
  14. At the very bottom of the list, Capa. Measured Discharge Current should show NG/Not Performed
  15. At the bottom right, click: Perform (to start the DBCAM) and confirm with: yes. It should then say: Successful Operation, press: OK
  16. Execution Status should now be: Executing
  17. As I still had my car switched on, at the very bottom of the list, Capa. Measured Discharge Current was still showing: NG/Not Performed
  18. Finally, after switching off my car, the cabin fan, AC, and heater kicked on at full blast (activating high-draw consumers to discharge the pack below 30%). The diagnostic tablet was still running, and at the very bottom of the list, Capa. Measured Discharge Current was now showing: Ok
  19. As the car was in my garage, I did not lock it, but it should be possible to lock the car now if you do this outdoors.

You now hear the fan and heater running to drain the battery: this means success. Emptying the drive battery to 0% will now take some hours (approx. 1-2 h). All documentation says that it is now possible to disconnect the diagnostic tablet (and reconnect later to check).

I left the diagnostic tablet connected, but after some time, the car put the OBD port to sleep anyway, so the diagnostic tablet disconnected. I left my car in my garage, i.e. I did not lock the car doors.

Sooner or later, the battery is empty and the fan, AC, etc. should go off. The car should now have automatically started a new charging session, i.e. charging the empty battery (and while doing that, it will measure how much it is able to charge the battery to determine the real capacity): the red charging symbol on the dashboard should be on then.

While it was charging, I reconnected my diagnostic tablet to the car:

  1. I did the above VIN scan, but when selecting: Automatically Search, it returned an error and I had to manually enter the VIN (even though it had just displayed the VIN a few seconds before).
  2. After that, I was able to select: System selection
  3. BMU
  4. Special Function
  5. Battery Auto Capacity Measured
  6. Execution Status should still show: Executing
  7. Capa. Measured Discharge Current should show again: NG/Not Performed

When this measured charging session finished (which will take longer than a normal charge that would start at ca. 30%, as this time the charge starts with a lower SoC), the red charge light on the dashboard should go off.

I then connected the diagnostic tablet again and switched on the car.
I still had the charging cable connected and interestingly the 12 V battery light was on, i.e. the DC-DC converter was not charging the 12 V battery, but the car was in accessory mode (I am pretty sure that I had pressed the brake pedal while switching the car on, but I might be wrong). I then switched the car off, disconnected the charging cable, and then switched the car on: the 12 V light was gone.

  1. I did the usual VIN scan, and Automatically Search worked again this time.
  2. After that, I was able to select: System selection
  3. BMU
  4. Special Function
  5. Battery Auto Capacity Measured
  6. Execution Status should be: Complete
  7. Error status should still be: No error
  8. Capa. Measured Discharge Current should show again: NG/Not Performed
  9. Battery Current Capacity should show a new value (hopefully higher than the old value that you noted down).
  10. Also, the HIS.1 value should have been shifted to HIS.2 and so on.

The DBCAM is now finished and you can disconnect the diagnostic tablet. If you like, connect PHEV Watchdog lite. It should say that a new capacity measurement is available and via Battery Condition, the yellow tile for the DBCAM event (see screenshot at top) should be shown and the tile with the new (hopefully better) capacity should be shown.

If you do the DBCAM for the very first time, you may get a significant amount of range back. If you do the DBCAM yearly after that, the yearly gain will of course not be that large (but still worth it and while the history has space for 10 DBCAM results, you can do more than 10 DBCAMs: the older results then just get shifted out of the history).

TPMS Valve Programming

In case the TPMS sensors need to be exchanged: Thinkcar also has a device for reading TPMS sensors, transferring that via Bluetooth to the diagnostic tablet and then writing the valve ID via the diagnostic tablet to the Outlander's OBD port. For cloning an ID of an existing valve (i.e. writing an ID to a new valve), that will only work with Thinkcar valves (that you can buy). However, the Thinkcar TPMS tools should be able to read (and then write to the Outlander) almost all OEM and aftermarket 315 MHz / 433 MHz sensors, e.g. even the original Mitsubishi ones.

Late track 25th April 2026 deadline: 17th EAI International Conference on Digital Forensics & Cyber Crime in Reykjavik, Iceland, 8 - 10 September, 2026

Helmut Neukirchen, 1. April 2026

Update: All notifications have been sent. The tutorial and the workshop have been cancelled, workshop papers have been integrated into the main track.

Update (12th of May 2026): For some of the papers submitted to the second submission round, we have today sent out notifications. But others are still under review, so please be patient if you submitted to the second submission round and did not yet get a notification. While some accepted papers are already listed (e.g. from the first submission round), if you did not yet get a notification, then your paper is still under review.

Update (7th of May 2026): we are late with notifications for the second submission round that was planned to be 7th of May 2026.

A late track submissions has been opened with new deadlines (this is strictly speaking not a deadline extension as the submissions of the first two rounds will be reviewed already now and notificated as planned):

Late track Submission deadline: 25th April 2026

Late track Poster submission deadline: 25th April 2026

Late track Notification: 17th May 2026

Late track Camera ready: 30th May 2026

Also notice the Workshop Trust and Deception as Security Primitives that has still submission open.

In addition, there will be a tutorial: Autonomous Drone Systems Cybersecurity and Threat Intelligence

The 17th EAI International Conference on Digital Forensics & Cyber Crime (ICDF2C 2026) will take place in Reykjavik, Iceland, 8 - 10 September, 2026. Hosted by the Computer Science department of University of Iceland. Proceedings published by Springer.

For more details, check the original call.


CALL FOR PAPERS Late track extended deadline (Apologies for cross-posting)

EAI ICDF2C 2026: 
17th EAI International Conference on Digital Forensics & Cyber Crime
publication by Springer

https://icdf2c.eai-conferences.org/2026/

When: 8 - 10 September, 2026

Where: Reykjavik, Iceland

Late track Submission deadline: 25th April 2026

Late track Workshop submission deadline: 25th April 2026

Late track Notification: 17th May 2026

Late track Camera ready: 30th May 2026


Scope

The 17th EAI International Conference on Digital Forensics & Cyber
Crime (ICDF2C) will be held on 8-10 September, 2026, in Reykjavik
(Iceland). This three-day event is expected to attract over 100
participants, including academics, practitioners, criminologists (or
law enforcement) and vendors, providing business and intellectual
engagement opportunities among attendees. The conference is organized
by the European Alliance for Innovation (EAI).

This conference's theme is cyber analytics and forensics in the era of
emerging threats. Novel cyber threats are continuously emerging,
catalysed by the rapid deployment of Large Language Models and other
AI across many domains which increases the threat surface in many
sectors such as Smart Industry, Fintech and digital government. The
focus of this conference is to provide a platform for discussing these
emerging threats and to identify priorities for the community to
target with the next generation of cyber analytics. We particularly
welcome research which studies the dynamics between human factors and
AI technologies and the corresponding impact upon cybersecurity and
forensics.

We encourage the authors to use the Posters and Demos venue as a way to 
open up discussions with the ICDF2C community about their early work in 
progress and develop the work for future collaborations. 
Representatives from industry, including established companies and 
startups, are warmly welcome to showcase products and services that 
are related to the topics of the conference.


Workshop: Trust and Deception as Security Primitives
Social engineering remains one of the most effective attack vectors 
against modern socio-technical systems, yet it is still poorly integrated 
into formal security engineering practice. This workshop advances a 
unifying perspective that treats trust and deception as first-class 
security primitives—measurable, attackable, and engineerable system 
properties across human, organizational, and AI-mediated environments.

The workshop brings together researchers and practitioners working on 
adversarial modeling, trust measurement, AI-mediated influence, 
detection systems, and human-in-the-loop defenses. 
Participants will examine how social engineering threats can be 
rigorously modeled, empirically evaluated, and mitigated using 
computational, organizational, and policy-aware approaches.

Through paper presentations and structured breakout discussions, 
the workshop aims to (1) consolidate fragmented research threads 
into a coherent socio-technical security framework, 
(2) identify shared metrics and evaluation challenges, and 
(3) define a research roadmap for defensible, trustworthy systems 
in high-consequence domains. 


Tutorial: Autonomous Drone Systems Cybersecurity and Threat Intelligence
An intensive 4-hour program exploring critical intersections of 
autonomous drone technologies, cybersecurity vulnerabilities, and 
strategic threat intelligence. Designed for cybersecurity professionals, 
intelligence analysts, and technology researchers seeking advanced 
insights into drone system exploitation and defensive strategies.

***

Publication

All registered papers will be submitted for publishing by Springer –
LNICST series and made available through SpringerLink Digital Library:
ICDF2C proceedings.

Proceedings will be submitted for inclusion in leading indexing
services, such as Web of Science, Compendex, Scopus, DBLP, EU Digital
Library, IO-Port, MatchSciNet, Inspec and Zentralblatt MATH.

All accepted authors are eligible to submit an extended version 
in a fast track of:
- EAI Endorsed Transactions on Security and Safety
- EAI Endorsed Transactions on Internet of Things

***

Topics

Theme: Cyber analytics and forensics in the era of emerging threats.

Applications of artificial intelligence (AI) and other related technologies:
- Anti-forensics and anti-anti-forensics (e.g., deepfake)
- Deep learning
- Explainable AI (XAI)
- Generative AI (GenAI)
- Large language model (LLM)

Device forensics:
- Blockchain investigations
- Internet of Things (IoT) forensics 
 (including industrial IoT, medical IoT, military IoT, battlefield IoT, and vehicular IoT)
- Edge and/or cloud forensics
- Network and distributed system forensics
- Virtual / augmented reality (VR/AR) forensics
- Other emerging / contemporary technologies 
 (e.g., hardware and software such as firmware and operating systems)

Financial crime investigations:
- Financial frauds and scams
- Cryptocurrency investigations
- Market manipulation investigations
- Anti-money laundering / counter terrorism financing investigations
- Anti-corruption investigations

Cyber security and analytics:
- Network security (e.g., intrusion detection)
- Malware analysis
- IoT security
- Security operations center
- Virtual / augmented reality (VR/AR)

Education and Evaluation:
- Case studies – legal (e.g., child sexual abuse material) and/or technical
- Infrastructure
- Methodology
- Replicability and validity
- Tool validation

Theory and fundamentals:
- Anti-forensics and anti-anti-forensics (e.g., encryption and deepfake)
- Frameworks (legal, policy, and/or technical)
- Privacy-preserving forensics
- Social and privacy
- Steganography and steganalysis
- Visualization methods and tools for forensic analysis

***

General Chairs
Helmut Neukirchen - University of Iceland, Iceland
Kim-Kwang Raymond Choo - University of Texas at San Antonio, USA

Technical Program Committee Chairs
Thomas Welsh - University of Iceland, Iceland
Hans P. Reiser - Reykjavík University, Iceland
Raymond Chan - Singapore Institute of Technology, Singapore

***

This event is organized by EAI https://eai.eu/

EAI – European Alliance for Innovation is a non-profit organization
and a professional community established in cooperation with the
European Commission to empower the global research and innovation, and
to promote cooperation between European and International ICT
communities. 

Open for applications in our Computer Science, Software Engineering and Computational Engineering programmes / Opið fyrir umsóknir: Tölvunarfræði, Hugbúnaðarverkfræði, Reikniverkfræði

Helmut Neukirchen, 4. March 2026

The deadlines for applying for our Computer Science, Software Engineering and Computational Engineering programmes are as follows:

As I was involved in updating our programmes, I can assure you that you will receive up-to-date education and can really recommend studying with us.

It was in the news that Iceland will need 9000 specialists within next 5 years -- you will be one of them if you studied at University of Iceland. While due to the advent of AI, it is often said that only senior programmers are needed, but not junior programmers anymore -- but where should senior programmers come from if they were not junior programmers before? Also, someone needs to develop the AI models: this is exactly what you learn at University of Iceland where you can take course on AI, including a specialisation in Artifical Intelligence/Machine Learning (Gervigreind).

Our B.Sc. study programmes are: B.Sc. in Computer Science/Tölvunarfræði and B.Sc. in Software Engineering/Hugbúnaðarverkfræði.
In Computer Science, we have additional specialisations in AI/Machine Learning (Gervigreind) and Computational Science (Reiknifræði).

Our M.Sc. study programmes are: M.Sc. in Computer Science/Tölvunarfræði, M.Sc. in Software Engineering/Hugbúnaðarverkfræði, and M.Sc. in Computational Engineering.
We have additional specialisations in Cybersecurity (Netöryggi), Language Technology (Máltækni) and Innovation (Nýsköpun og viðskiptaþróun -- the Innovation courses are taught in Icelandic).

If you want to learn more about Software Engineering, I have a blog post Why you should study Software Engineering / Af hverju hugbúnaðarverkfræði and a distinction of Software Engineering versus Programming.

Extended Deadline: 17th EAI International Conference on Digital Forensics & Cyber Crime in Reykjavik, Iceland, 8 - 10 September, 2026

Helmut Neukirchen, 23. January 2026

Update: A second round for submissions has been opened with new deadlines (this is strictly speaking not a deadline extension as the submissions of the first round will be reviewed already now and notificated as planned):

2nd round Submission deadline: March 27 2026

2nd round Notification: April 30 2026

2nd round Camera ready: May 15 2026

The 17th EAI International Conference on Digital Forensics & Cyber Crime (ICDF2C 2026) will take place in Reykjavik, Iceland, 8 - 10 September, 2026. Hosted by the Computer Science department of University of Iceland. Proceedings published by Springer.

For more details, check the original call.