BD – Isilon Multi-protocol access & Hadoop

BD – Isilon Multi-protocol access & Hadoop

Surely a scale out NAS array has little to do with Hadoop?

Why not just use commodity servers stuffed full of disks for your Hadoop needs?

Well, as it happens, Isilon has a great offering in Enterprise level Hadoop solutions By “Enterprise level Hadoop”. I mean that once a business decides it needs to put Hadoop into production, it requires all of the usual business processes surrounding a mission critical application. Typical Enterprise requirements are data protection, backup, snapshots, replication, high availability and security. With Isilon, not only do you get those Enterprise level features but you also get native HDFS support just like Isilon supports SMB, NFS, FTP, NDMP and Swift protocols.

Well what does that actually mean when put into production use?

Most high end NAS solutions offer simultaneous access to the same pool of data via say an NFS share and a SMB share.

explorer nfs


You can look at the share in Windows Explorer (left hand image), type in  ‘ls’ on the NFS share (right hand image) and you have access to the same data. You can read or write the data via any of the supported protocols assuming of course you have the appropriate file permissions.

Isilon, being a mature, Enterprise level NAS device, also provides all of the typical file sharing protocols and features but adds more!

Isilon supports the native HDFS protocol in the same manner. If you look at the share in Windows Explorer or do a ‘hdfs dfs –ls /’ it will look the same!

The screen grab below shows the output from “hdfs dfs –ls” of the same directory as those shown above in Explorer and NFS


This means that you can simply upload your data into your Isilon based Hadoop cluster using traditional IP based protocols and then run Hadoop queries against it straight away.  There is no need to move the data, no translation, no post processing, it is just immediately available via the other protocols. Most importantly you dont need the default triple replication of the data thereby saving a huge amount of disk space. Obviously all the usual Hadoop ingest processes such as Sqoop or Flume and also Hortonworks data Flow (HDF) can also be used but the traditional IP based protocols such as SMB and NFS are well understood and have been used to share data for years.

How can this make your life easier?

In this example workflow, you have some logs from a web server writing to an NFS share. You want to run some Hadoop jobs against the data and then view the results via a windows client. You can do this in the traditional manner and have to copy the data into HDFS and out again but with Isilon it is far simpler.


The diagram above logically shows the following workflow.

  • You write your Web server log files into an NFS share
  • You then run Hadoop queries directly against them over HDFS
  • The results from the Hadoop job are written directly into a directory via HDFS which is then also available via an SMB share to make it easy to view the results straight away as a Windows user.

There is no extra moving of data in/out of HDFS, no transferring of the results to another location. It is available via any of the protocols as soon as it is written to the underlying OneFS file system. (OneFS is the operating system that runs on each node in the Isilon cluster providing the shared single file system namespace across all nodes.)

How does Isilon achieve this very useful functionality?

Each node in the Isilon Cluster runs a HDFS daemon process that responds to HDFS protocol requests as both a NameNode and a DataNode. Those requests are “translated at wire speed”, just like any other supported IP protocol, into the associated actions/results onto the Isilon OneFS Posix file system. The diagram below shows a high level view of what is going on for well know standard IP based protocols


The IP protocol talks to the Isilon via a service running on a specified standard IP port. An associated service running on the protocol specific port translates the commands/data into the appropriate action onto the underlying file system. Isilon has created an HDFS protocol translator service that responds to NameNode and DataNode requests on the default port 8082. Other HDFS services such as https and webHDFS use different port numbers.

The diagram below logically shows a 4 node Isilon cluster running the HDFS daemon on each node and acts like both a NameNode and a DataNode for all of the data in the pool.


  1. The Hadoop worker node, running the standard HDFS Client code, connects to the NameNode to request the location of a block/file.
    • NOTE: There is no specific code or plugin required on any client as Isilon runs a fully HDFS compliant service. You just use the default HDFS software provided by an Apache Hadoop distribution.
  2. The Isilon NameNode service provides a compliant API response with the IP addresses of three DataNodes that have access to the data requested (on Isilon, all of the nodes in the pool or zone have access to all of the data)
    • Isilon also supports “rack awareness” to return the most appropriate nodes IP addresses.
  3. The compute worker node then connects to the Isilon DataNode service running on one of the nodes specified by the NameNode to request the data.
    • The selected Isilon node collates the data from the OneFS file system and returns it to the worker node.

In the above example, the NameNode listed in the core-site.xml file is the fully Qualified Domain Name (FQDN) of the SmartConnect IP address of the Isilon.

SmartConnect is an Isilon software feature that does IP load-balancing to spread the client connections from the Hadoop worker nodes across the nodes in the Isilon cluster.

Using Isilon for the underlying HDFS file system for your Hadoop compute cluster means that in a 10 node Isilon cluster there are 10 NameNodes and 10 DataNodes to support the Hadoop Compute requirements. There is no need for Secondary NameNodes or HA NameNodes as the primary service runs on every Isilon node. Isilon does not require any tuning of the memory allocation for metadata store on the name node as that function is built into the design of the Isilon node and the OneFS file system. Obviously this solution provides an extremely high level of NameNode resilience!

Isilon adheres to the HDFS protocol standards and is thoroughly tested for each Hadoop release. For example, EMC Isilon’s HDFS protocol is tested using the same 10,000 tests that HortonWorks uses for each of its new releases.  It is backwards compatible so you can run production on a stable version and then spin up a new version, read the same data and test it out before committing production to the new version of code.

After explaining the Isilon HDFS solution to a customer a little while ago, they suggested that a good way to describe it was that “Isilon provides a first class file system for HDFS”

In summary, some of the benefits of using multi-protocol access on Isilon as your HDFS storage layer are as follows:

  • Multiple Protocol access to your data without any moving/copying of data
  • Multiple versions of Apache based Hadoop distributions supported
    • Different Hadoop distributions can have access to the same data (read only for simultaneous access). You can try out a distribution and then go back to your original supplier if it does not work out.
    • Different Versions of Hadoop can have access to the same data without copying it.
      • Note: There are a few distribution and version specific issues to be aware of such as adding different users (ambari_qa or cloudera’s manager) but fundamentally you can provide access to the data for different distributions/versions.
  • You can scale compute and storage independently. Need more capacity? add another Isilon node, need more compute? add another worker node.
  • You don’t need to replicate the data 3 x to provide data protection. Isilon is far more efficient, using FEC to protect the data. This typically provides up to around 80% usable/raw disk saving on rack space, power and cooling.

There are a number of other major benefits from using Isilon as the HDFS data store. I will describe some of them in future posts.

For more immediate queries please see the EMC Isilon Big Data Community page.


XJ6R – Front Suspension Rebuild

XJ6R – Front Suspension Rebuild

The front suspension had not been touched in years. The track rod ends although were probably OK wear wise but looked bad because the rubber “boots” were perished. The “boots” on the lower ball joints looked bad too. Springs, shock absorbers and all the bushes looked rusty and worse for wear.

Lower Ball Joint - split rubber boot
Lower Ball Joint – split rubber boot
Lower Ball Joint - split rubber boot
Lower Ball Joint – split rubber boot

I therefore decide to replace all rubber bushes and ball joints and clean up as I went along. First thing was to order all the associated parts from a few suppliers attempting to get the best price and availability. I had already changed the front subframe bushes with poly bushes however I went with standard rubber for the rest.

Of course I could not resist cleaning and painting along the way and so it took a lot longer than I thought it would. I have still one side to reassemble but the drivers side is now complete. It looks reasonably good even if I say so myself. during this rebuild, I am not after concourse or any thing close to it. I just want it to not look rusty and work the way it should.

There were a few minor “challenges” along the way. Please be very careful removing the springs as with even all the weight of the car on one spring it still has a lot of tension forcing the spring tray downwards. I did not have the correct spring compressor so I used a jack, a number of G cramps and a threaded rod to remove and re-assemble the springs. Some of that pressure did damage the threads so I had to replace some bolts. I did clean up and repaint the springs and the surrounding metal work too. The spring trays were full of rust and road debris. It took a lot of cleaning away of the debris before I could even separate the springs from the tray. The lower fulcrum shaft on the drivers side was a bit of a pain to remove. Unfortunately I did damage the thread a little in my efforts to remove it.  Luckily re-cutting/cleaning up the thread with a die managed to save it. It was not the cost of the replacement of the shaft that was the issue but more of the fact it had a 4-5 week lead time. (I have since seen some in stock! and half the price)

Post Re-Conditioning

Here are a few photos of the state of the suspension before I started

Top of spring assy - a little rusty
Top of spring assembly – a little rusty and you can see the perished rubber on the bump stop.
Top of Suspension - Rusty and worn Shock Absorber. Remember to clean up around the upper ball joint and take note of the number of spacer used so you can put them back in correctly
Top of Suspension – Rusty and worn Shock Absorber. Remember to clean up around the upper ball joint and take note of the number of spacer used so you can put them back in correctly
Anti-Rool Bar Bushes
Anti-Roll Bar Bushes
Top wishbone bush
Top wishbone bush – not too bad looking. There was a fair amount of wear internally though
Passenger side suspension
Passenger side suspension

Lower ball joint replacement

As from the first pictures in this post, you can see the split ball joint covers, if nothing else needed replacing. Removal of the lower ball joint was pretty straight forward and resulted in the items pictured below along with the more modern, single piece replacement on the right hand side. You do have to remove the metal ring insert prior to fitting the new style ball joint.

Lower Ball Joint Disassembled
Lower Ball Joint Disassembled
Ball Joint components
There was some damage caused to the metal ring during removal in this image. This is the ring that needs to be removed to make way for the replacement ball joint. It will not be used again.
Ball joint with insert removed
Top Ball joint goes in here with insert removed. The ring insert needs to be pushed out downwards/outwards

The only non standard thing I did was to not insert all of the spacer rings at the top of the springs. The XJR engine is an Aluminium block rather than the cast block of the original XJ6 engine.  It seemed to make sense that the front of the car would therefore sit a little higher with a lighter engine installed. With that in mind I left out the two, quarter inch thick nylon/plastic ring spacers back on the top of the springs. I might come to regret that decision so we will have to wait and see.


XJ6R – Fabricating a new Radiator Fan Shroud

XJ6R – Fabricating a new Radiator Fan Shroud

As previously mentioned, I needed to fabricate a new fan shroud for two reasons. First, the original XJR6 fan shroud had the fans mounted diagonally and they were too high to fit into the available space in the XJ6. Secondly they were to “thick” to fit flush where the standard fan shroud went. I did initially start with the old series 2 shroud, cut out and replaced the rusty parts and then started reshaping to fit the new two fans. Having spent quite some time on this process, I realised there was hardly anything left of the original S2 assembly and it was made up of multiple parts. The best thing to do was to throw it away and start from scratch. I used some of the steel I cut out of the bonnet of the XJR6 so it is made from Jaguar metal anyway 🙂

I should have made it entirely from one piece but I think it is OK with extra strengthening parts welded to the sides. As usual, these things evolve and if I was to make it again I would do a better job of it. The same goes for cutting away the plastic parts of the shroud assembly. Changing the design half way through has meant I cut a little too much away for the ideal final solution.

Fan shroud assembled
Fan shroud assembled
Just painted Fan shroud
Just painted Fan shroud

As you can see, the fans are now going to be mounted horizontally and I also cut out holes for the two rubber flaps using those from the original plastic XJR6 assembly. I did try to fit in part of the plastic molding around the two flaps as there was the word Jaguar molded into the frame and it would have added to the aesthetics even if it is under the bonnet. Unfortunately it would have been too big and I would only have had one flap in the centre too.

In the right hand picture you can see the finished, fully assembled shroud with the two fans and the two rubber flaps in place. The paint has a satin finish as I don’t like the mechanical parts all being gloss black.

Whilst I waited for the paint to dry between coats (primer then a couple of coats of black) I turned my attention to the header tank and the power steering fluid tank. I did look at a few options for the header tank. Finding a solution to the actual location took a little head scratching too. I decided that it would have to go on the left hand side of the engine bay (looking from the front). There is no space where the original went because that space is now taken up by the supercharger and associated  piping. There is also the requirement to find a space for the power steering reservoir. On the series 2 XJ6, the reservoir is part of the power steering pump and mounted on the engine. On the XJR6, it is a stand alone reservoir which is mounted on the wing.

Reading the Jaguar forums, there was a recommendation to use an early XJS header tank. It is not too large and has mounting holes at an angle to be mounted on the wing. I did a little searching and found a second hand one on the well known auction site. There were three to choose from. One looked a little rusty, the other two looked better but all three would require cleaning and repainting.

As purchased (top view)
As purchased (top view)
As purchased (bottom View)
As purchased (bottom View)

I chose the cheapest one which was about half the cost of the others but it sure did look the worst. As long as it was just surface rust and not all the way through then it would be fine. After a good going over with a wire brush wheel in my trusty angle grinder it was ready for paint. A couple of coats of primer and then the satin black and it looks fine.

If I come across a safety sticker I might just put that on too. I decide to fit it on the mount next to the support braces that go diagonally across the engine bay. The other mounting is further down the wing and will be via one of the rubber mounts used for the air filter box on the XJS.

The picture below shows the final painted header tank with just one bolt pushed into the hole to hold it in place for the photo.

Fluid Reservoir location
Fluid Reservoir location
Painted header tank
Painted header tank

I had mocked up the location of the header tank and the reservoir so I deliberately left a small amount of space between the header tank and the brake master cylinder. I then spent a little while working out the piping for the power steering. It turns out, the old Series 2 high pressure pipes have the same fittings as the XJR6 power steering pump. There was an issue with the fixed metal parts of the pipes as I think they originally went over the right hand side of the steering rack tower and this would now be too close to the exhaust.

I think the exhaust pipe may hit the steering rack any way, so something else to tackle when I get to it. I happened to have a spare steering rack from an earlier XJ6 that had a different pipe layout. These were much closer fit to the rack and “U” shaped. That meant that I could run the pipes the other side of the steering rack tower and onto the pump/reservoir whilst avoiding close proximity to the exhaust pipes.

Another issue I worked on is that the cooling fans were controlled by a dual temperature switch mounted in the radiator. It  turned on one or both fans based on temperature. The problem is, I am not using the XJR6 radiator so there is no where for the switch to go. I previously mentioned that although the original Series 2 radiator had a switch in it, the two radiators I now have do not. After a bit of searching, I came across the “Car Builder Solutions” web site and they have an aluminum housing for the M22 dual switch that goes inline with the large cooling pipe. The biggest they do is 38mm and so I will use reducers on both sides to fit. This is a slight reduction in diameter but hopefully will not cause an issue.

All of the above is ready to fit but as often happens, I ran out of time to assemble it.

If I don’t post before next week, I wish you a very Happy Christmas (or Holidays if your religion prefers) and a Happy New Year.

I only started this site a year ago and hoped to have the conversion completed way before now! Somehow, Life gets in the way sometimes and it has been a tough year for me personally. Hopefully 2017 will be a great one for me and for you too.










XJR6 – New Parts & Decisions

XJR6 – New Parts & Decisions

I have been working on getting the next stages of the project sorted and needed some more new bits. I have summarised them below:

  • Purchased and fitted a new Brake Master Cylinder & Reservoir from SNG Barratt
    • Pins for reservoir also ordered but the “R” clips were not available so ordered some elsewhere
  • I ordered a pair front shock absorbers (CAC9089B) checking they included the fittings on the top of the shock as some do not appear to come with them
  • I ordered a small alloy filler cap and tiny header tank for the inter-cooler system which I will keep separate from the main engine cooling system
  • About to order an XJS header tank as per Larry Louton used in his car on the Jaguar forum
  • Decided to use the XJR AC set up as much as possible so ordered a new condenser and receiver dryer
    • I will have to have a couple of pipes made up to match the newer XJR pipes with the old evaporator unit in the S2 dash. I have both the old and new pipes so maybe get them cut and joined?
  • Decided to go with a reconditioned S2 radiator I purchased a few years ago (unless I can find the original and it is in OK condition)
  • Came across the size issue with the electric fans as described below but will probably do something similar to Larrys solution as per the link above

The issue with the radiator & electric fans on the XJR is that they are too high to fit into the space in the Series 2 XJ6. This means I need to use either a Series 2 or series 3 radiator and causes a number of issues as follows:

  • There are gearbox cooling pipes that screw into the XJR radiator where as the older S2 radiator used a tube that fitted into the large radiator pipes with the gearbox fluid running inside a collar. I seem to have mislaid that tube/collar too so I will probably have to buy a new one and change the pipes to fit. It might be better to go for a horizontal alloy cooler that I could fit in the front somewhere. Try searching for “universal 7 row cooler” to get an idea of what I am thinking of.
  • I have two radiators to chose from. One is old and rusty looking and will no doubt require a re-core and one all painted gloss black. I do remember purchasing the “reconditioned” one a few years ago.  Neither of them have a fitting for a temperature sensor. This is a little confusing as I checked the older “tear down” pictures and I can clearly see a sensor in the lower right hand corner when looking from the engine bay at the radiator. I will have to hunt around and see if I can find the original radiator along with the gearbox cooler tube/collar.
    • Original radiator & sensor
      Original Radiator & Temp Sensor ~ middle
  • The XJR had electric fans so I need to have some form of electric fans on the new install. As you can see from the pictures below I have the original S2 fan shroud which is all tatty and rusty, A series 3 plastic surround which has the single fan cutout for the engine driven fan and the twin electric assembly from the XJR.
  • Original S2 fan shroud assembly
    Original S2 fan shroud assembly
    Rusty original fan shroud
    Rusty original fan shroud
    Rusty original fan shroud
    Rusty original fan shroud
    XJR dual electric fan assembly
    XJR dual electric fan assembly
    Spot the size issue :-)
    Spot the size issue 🙂

    I plan to cut down the dual electric fan assembly and place them horizontally across the engine bay. This will decrease the height. Currently, I have cut across the bottom right hand corner (where the two lighter coloured flaps are in the photo) so it fits in at an angle but it looks terrible!

Larrys aluminum sheet design (on the jag forum) looks better so I will do something similar. During the rebuild I fitted a new front cross member due to it being rotted away. This means I can drill new holes to mount the radiator a little further towards the front of the car. That will give me a vital couple of extra centimeters providing more clearance between the new fans and the belts at the front of the engine.

Fun and games 🙂

Thanks to Larry Loudon on the Jaguar forum for the ideas and inspiration

XJ6R – Air Bag Module “hard wired”

XJ6R – Air Bag Module “hard wired”

I have successfully wired the Airbag module into the car so it turns off the warning message and I can see the miles on the odometer. It will also stand a better chance of getting through an MOT now 🙂  I have drawn up the modifications if anyone else wants to do the same thing.

Hard wired for no airbags connected
Hard wired for no airbags connected

Please note that the pin-outs for the modules in the electronic guide do not match the actual pin-outs on the module. The groups of three pins and two pins are interchanged. The diagram above show the view of the solder side of the circuit board.

Previous article

XJ6R – Air Bag Module Wiring

XJ6R – Air Bag Module Wiring

Following from the earlier success, I put the battery on charge which then limited further testing. The airbag module testing was complete however I had to make a choice. Modify the Air Bag Module (ABM) or build a circuit to fake the signal required. I decided that the quickest way to resolve the ABM output signal requirement was to hard wire the connections as if the airbags and impact sensors were connected. I will find a space for the ABM somewhere in the drivers side dash. Maybe to the right of the foot well just above the sill and under the air intake. I have put a second fuse box in that space on the passenger side.

I printed out the connector pin outs and drew the various links needed. This reminded me of having to do updates to circuit boards years ago but my eyesight was much better then! I still need to add the resistors to simulate the Airbags. There are no suitable resistors in my spares box so I will order some ASAP.

Air Bag Module and Pin outs
Air Bag Module and Pin outs

The blue wires are those I added to the module as drawn in above

Hardwired Links on Air Bag Module
Hardwired Links on Air Bag Module – click for a closeup


Loom requirements
Loom requirements

The loom is much simpler now. The original loom is used with the unused wires removed. Only one of the two plugs are needed now so I will use the empty plug to fill the open socket and seal the wire entries with some sealant or glue.

The following wires are needed:

  • Two ground connections that go into 1 after a few inches
  • Continuous +B power
  • Switched +B power (ignition switch position 1)
  • Air Bag module signal output

I just need to order the resistors to finish the job.

XJ6R – Major step forward!

XJ6R – Major step forward!

I have just turned the engine over using the original S2 ignition switch! That might not sound much but what it actually means is that the Security and Control Module, the Body Processor, the Exciter/Reader, the XJR key, the ECU and a few switches and relays have all agreed that it is OK to turn the engine over. The engine immobiliser circuit is accepting the new setup.

Overjoyed at this moment. Still a huge journey ahead but a major hurdle overcome.

I did paste a little update on the Jaguar forum but I will paste a full explanation later as I want to check out a few other things.

Later …

XJ6R – Airbag Module Output Signals Uncovered

Airbag Module Output Signals Uncovered

Following on from my previous post on the airbag warning message, I did some testing of the Air bag Module (ABM) today.  I identified the correct output signal that the Instrument panel expects following a “power on” of the ignition system. First, I used the original, yellow sheathed Airbag wiring loom and some resistors to fake the existence of Airbags. It turns out that the steering wheel Airbag reads approximately 1.2 ohms when in good condition.

Please be very careful when doing anything with “live” Airbags, they are dangerous hence I used resistors instead.
  Please, Please view any one of a number of videos available on the subject at the well known online video site prior to connecting anything electrical to an Airbag. If you do not know what you are doing, get someone who does. I  suggest you do not touch them at all. I have measured mine so you don’t have too. Just keep them locked away somewhere safe or dispose of them safely.  Do not come back to me of one goes off accidentally, you have been warned!

I did not have any 1.2R resistors. I ended up using four 6R resistors in parallel and just pushed them into the appropriate plug in the loom. It took a little debugging to stop the Airbag module from buzzing an error code. Once I had the rig working, I could see what the output signal should be in normal operation. The issue I had was that the Safing module does not have a separate wire for its ground connection. It relies on the connection to the chassis via the mounting bolts. As I had the module sitting on a wooden panel, I needed to provide it with a separate ground to get it working.

Airbag Module test rig
Airbag Module Test Rig

As expected, it turns out that although the circuit diagram says Ground and +B as the active/inactive conditions the reality is a little more complex than that.

  • With power permanently applied to the module the output signal is +B
  • Turn on the ignition power and the signal drops to ground for approximately 10 seconds
    • This is the Self test Pass signal “sequence” I was unaware of prior to this test
  • After that, the signal returns to +B and remains there unless an error is identified
  • I did try disconnecting the resistor packs (pretending to be the Airbags) one at a time and the signal goes from high to low as follows:
    • 3 times high to low
    • A short pause at high
    • Followed by either two or three high to low again depending on which “airbag” (actually a resistor pack) was disconnected
    • It then repeats the sequence again until the problem is resolved
    • This, I presume, equates to error codes 32 or 33 which is similar to the way the error code was displayed by the ABS module on my old XJS. It flashed the ABS light on the dashboard after you shorted a couple of pins together on the ABS module

The question is now, do I generate the same signals using just a few components or do I hard wire the required signals and use the Airbag module?

Debugging the Transmission MIL light

Having identified the requirements to resolve the AIRBAG warning on the digital display.  It was time to look into the Transmission MIL light issue. First there was the connection of the transmission loom to the transmission control module. I removed the panel below the gear leaver assembly which enabled me to push the transmission wiring connectors through a hole in the tunnel and connect up to the  transmission module.  The transmission error light was still taunting me! I did a slight tidy up of the wiring and re-connection of the Transmission module ground but still had the error. A little more debugging and discovered that I had not connected the permanent power feed to the transmission control module. I connected this up to the appropriate permanent feed, the MIL light went away.

Another problem resolved 😉

ABM Decision made

XJ6R – Airbag warning debugging

Airbag warning debugging

This post follows on from the last post where I explained the issue I was having when attempting to use the digital display from the XJR6. The display was showing the mileage then FLUID and AIRBAG messages. Having shorted the appropriate input to ground for the engine coolant sensor the FLUID message went away leaving me with the AIRBAG message to resolve. I tried shorting to ground or +B on the appropriate input but nothing seemed to clear the message. A photo of the Airbag circuit diagram is below, click for a larger version.

oldr 593

Since that time I have done a little more debugging. I proved that the feed to the main processor in the instrument circuit was receiving different signals depending on the status of the signal that should come from the Airbag Module. The Instrument display circuit, therefore appears to be receiving the appropriate signals to turn off the error message but it is not. The signals on the “Y” output of the HC151 chips looked like below with the signal grounded or at +B so you can see there is a difference and it was being propagated through the circuit board.

Signal with input high
Signal with input high
Signal with input low
Signal with input low (airbag failure light should be off)

A little more research showed that there is potentially an error message generated due to “No diagnostic module selftest Pass signal”. Does that mean that there is a short signal sequence that is emitted from the Airbag module after power on that the Instrument circuit is expecting? There is no clock signal synchronization between the two modules so it has to be pretty basic pattern. I suspect something like a high signal initially and then low for maybe a second or two in each state. I really don’t want to have to add the Airbag module into the car. Using a test rig is needed to see if I can work out the signal states for the Airbag module in normal operation. Hopefully a very simple workaround can be found other than actually adding yet another module into the car ;-(


Airbag error codes
Airbag error codes

The Airbag module has a single output signal (Airbag Failure Warning, connector AB1, pin 4). The manual states this is either ground or +B.  It does not have any other connections to the CAN bus or directly to any other module. The only connections are to the two impact sensors, the Safing sensor and the airbags themselves. Doing a little research, it appears that Airbags have a resistance of around 2-3 Ohms each. This should be replicated rather than actually connecting the Airbags to the module along with the potential safety implications! I still have the full Airbag system wiring loom along with one of the impact sensors and the Safing module. I will use this as the test setup and fake the actual airbag connections to identify what the “Selftest Pass” signal looks like.

This will dictate one of three possible outcomes:

  1.  Replaced the module by a very basic circuit to replicate the required initial signal(s) required to stop the error message
  2. I will fit the Airbag module in the car just to eradicate the error message and allow the use of the XJR6 digital milometer
  3. I will not use the digital display from the XJR6 to provide a milometer and use something else like a GPS based milometer instead.

Next post when I have solved it or given up!

XJR6 – Electronics Debugging

Electronics Debugging

Having connected up the XJR dashboard display, I managed to get the Mileometer working showing the previous XJR milage. However it also displayed AIRBAG and FLUID repeatedly so not so good. The FLUID was straight forward to resolve by connecting the appropriate wire to ground. I misread the circuit diagram and thought the AIRBAG signal needed to be at +B. Having temporarily connected the wire to a +12V battery feed it still said AIRBAG. I tried grounding the wire, still AIRBAG! I tried adjusting the voltage to the wire using a variable resistance box but still same AIRBAG error. I took the display board out of the assembly and studied it closely.

Instrument Display Board
Instrument Display Board

I traced the input wire (pin 45) to an input on a surface mounted integrated chip with HC151 printed upon it. This is an 8:1 multiplexer chip. My guess is that the inputs are sequentially scanned and the outputs read to determine the status of the input signals. What that means is that if the chip is faulty (possibly damaged by me directly connecting 12V to the input?) then I cant just tie the outputs to one state as I will get other errors flagged as well. I am not sure this is the problem because the detail in the circuit diagram does say it is either ground or +B. The input circuit seems to have the signal going to the middle of a pair of resistors so the input voltage would be split in half anyway. The spec of the chip states 6V maximum input which is a little close, especially as my old XJS with an AJ16 engine used to run at 13.8V most of the time!

Pinouts from the manual
Pin outs from the manual


I have  ordered a replacement IC (or 5) just in case. They are not expensive but I will have to wait a few days for them to arrive. The suspect chip (11) is highlighted by the red arrow in the picture below.

Instrument Display Board
Instrument Display Board showing the suspected chip arrowed in red

The image below shows the location of the input signal, the +B and the ground points and the signal feed to pin 12 of IC 11