CarTechnoloGY
NBT SSD Swap - Printable Version

+- CarTechnoloGY (https://cartechnology.co.uk)
+-- Forum: Discussions All about Software and Hardware (https://cartechnology.co.uk/forumdisplay.php?fid=310)
+--- Forum: Automotive Help & Discussions / Software and Hardware (https://cartechnology.co.uk/forumdisplay.php?fid=40)
+---- Forum: BMW - Mini - Rolls Royce (https://cartechnology.co.uk/forumdisplay.php?fid=61)
+---- Thread: NBT SSD Swap (/showthread.php?tid=88875)



NBT SSD Swap - superwofy - 15-02-2024

Copying this here in case others haven't seen it.

To my knowledge this hasn't been done publicly yet. It's possible on EVO units however, NBT refuses to mount SSDs.
I've achieved this swap by patching the srv-hddmgr binary running on HU-Intel.

Based on previous comments on other forums, the assumption was that SMART variables were what caused the NBT to refuse SSDs. There's actually a temperature check function which always returns an error on my SSD.

Code:
void FUN_0807af78(void)

{
  FUN_0807ae43();                                    // Bypass this function call with NOPs
  return;
}

FUN_0807ae43() makes the calls for readtemp_direct and will return "__errnum". For some reason on SSDs this has issues and leads to the disk being unmounted.


A trivial patch changes 5 bytes at 0x807AF7F from "E9 BF FE FF FF" to "90 90 90 90 90".


For reference, the SSD I used is an Integral 240GB. Literally the cheapest drive I could find https://www.integralmemory.com/product/c-series-sata-iii-2-5-ssd/. I later tested with a Crucial CX500 and that worked too.


  1. Using serial access/patch enable SSH.
  2. The original hard drive needs to be unlocked so that it can be imaged. Run and take a note of the values:
    1. adjinfo --get=E2P.Networking.Eth0MacAddr
    2. adjinfo --get=E2P.Networking.Bt0Addr
    3. adjinfo --get=E2P.ProdLogistic.SerialNo
  3. Copy complete hddsecurity + libs to a USB drive in a folder called "hddsec". Plug the drive into NBT's USB1 slot. Run:
    1. cp /fs/usb0/hddsec/* /dev/shmem/
    2. cd /dev/shmem && chmod +x hddsecurity
    3. ./hddsecurity -d **Eth0MacAddr**,**Bt0Addr**,**SerialNo** (replace the **s and values with data from adjinfo)
  4. Remove the drive and make an image of it. I merely copied my drive. I did not bother with expanding the media partition since its capacity doesn't get displayed properly. Restore the image to the SSD.
  5. Start NBT with the SSD installed.
  6. Copy srv-hddmgr to the root of a USB drive. Plug the drive into NBT's USB1 slot. Run:
    Code:
    mount -uw /fs/sda0 && \
    mv /fs/usb0/srv-hddmgr /opt/sys/bin/ && \
    chmod 0775 /opt/sys/bin/srv-hddmgr && \
    sleep 5 && \
    mount -ur /fs/sda0 && OnOffDSICommander appreset


Everything should work now. I've tested music import, navigation and navigation updating. It's hard to say how long the drive will last, but it's quiet and uses less power.


RE: NBT SSD Swap - BigManLT - 15-02-2024

I am doing it already at least 3years smile And there is more easily solution..Main thin is not less power or something. Temperatures can be problem. But as i know in these years all units still in working condition so may be all ok.


RE: NBT SSD Swap - Rajco - 17-02-2024

It would be great if you have a list of suitable SSDs with experience that work well


RE: NBT SSD Swap - superwofy - 19-02-2024

(17-02-2024, 19:35 PM)Rajco Wrote:  It would be great if you have a list of suitable SSDs with experience that work well

All I can say with certainty is that Integral INSSD240GS625C1 and Crucial CX500 work as those are the ones I tested. They have different SMART attributes implemented in their firmware yet they both work suggesting others would too.