Hi all,
This is actually my first post on this forum, and I thought I’d use it to give a huge thanks to robertf, and to pay some info back to the community.
Disclaimer: I’m not a computer wiz, I’m just moderately clever. There are probably much easier ways to arrive at the solution I found, but if someone should happen to end up here after googling the same issues that I’ve had I’m hoping this will have a chance of helping. However, fiddling with the firmware of your OBD interface is all at your own risk, as is talking to your ECU’s...
So short background: I’ve got a Range Rover P38 with a GEMS 4.6L V8, and it’s been causing me all kinds of problems. Two years ago the TPS gave in and I half decided to brutally scrap the thing, but it ended up sitting in a driveway. A few months ago I stumbled upon a cheap, good TPS and started fixing stuff up again. One top end refresh later I thought I had a pretty solid engine, but the idle was waaaay off toward the high end. This is where the googling started.
I found this thread and rejoiced. Ordered an OBDLink SX off eBay (I wanted to go with USB, since I need that for other cars), and after the expected Corona-related delay it arrived in the mail. A technical bit that I didn’t see in the thread up until now: The OBDLink-adapters are built around the STN1110 chip (correct me if I’m wrong here!), which is basically a newer, better version of the old ELM327 chip. This is why it is actually reliable unlike most cheap clones that tend to run bad or worse copies of the ELM327 firmware… Finding an authentic adapter can be tricky which is why I decided not to risk it with any of the cheap ones.
Since it wasn’t a bluetooth one I had to go with the Windows or Mac binary that robertf had posted. I found an old Windows laptop but no dice: still waiting for a confirmation email from Qt to download and install Qt5 to get the needed files etc…
Since I’m more used to MacOS I decided to go with that.
A few things that made it work for me:
- The file permissions need to be changed to make it executable after downloading it from the internet, so in my case I had to…
- Fire up the terminal and navigate to the folder where the file was located (”cd path/to/file”)
- Modify the permissions by running ”sudo chmod 755 [filename]” <— this could possibly vary depending on OS version or whatever. If you run into problems, google ”macOS making file executable” or something.
- Find the name of the USB interface in ”/dev” (”cd /dev”, ”ls” <— note that’s lowercase L and lowercase S). In my case /dev/cu.usbserial-113011022232 <— note that I had to use the ”cu.*” instead of ”tty.*” interface, no idea why but that’s what worked.
But since the command to reset (”./GEMS /dev/[name of USB interface] reset”) didn’t work I had a bit of a think and decided I had to change the baud rate of the USB-serial connection.
Robertf mentioned setting up serial test using a terminal app and using 38400 as the baud rate, so I figured maybe the program was written assuming the baud rate of the USB connection would be 38400 instead of the 115200 that my thingy was using.
To do that I had to find a terminal program (in my case I used the ”serial monitor” function of the Arduino IDE since that’s what was easiest to start up) and connect to the OBDLink SX.
A simple manual on how to change the baud rate:
- Test the connection by sending the command ”AT” or ”ATI”. You should get something like ELM327 1.3a back.
- Switch the device to 38400 bps by issuing the ”STSBR 38400” command. The output in the terminal should become garbled.
- Switch the terminal emulator to 38400 to re-establish communication (don’t disconnect the cable from the computer at this point, it will reset the baud rate)
- Issue the ”STWBR” command, to set the current baud rate as the default. The interface should now be communicating at 38400 bps.
At this point, you should be able to navigate to the folder where the executable is located and issue the reset command as per instructions above.
If you want to read up on the AT and ST commands here’s a good pdf:
https://www.scantool.net/downloads/98/stn1100-frpm.pdf
When I’d figured all this out the program worked like a fantastic little charm. Ran it, power cycled the Range Rover and fired it up – it has never idled smoother.