'05 Subaru Legacy CAN-Bus Cluster Control

I am currently working on a project for a friend that needs to convert analog signals to CAN-Bus messages so that he can a 2005 Subaru Legacy gauge cluster in his 1999 Legacy.

I am using an Arduino Uno and the SeeedStudio CAN-Bus shield to try and communicate with the cluster, however so far all my attempts have failed.

The service manual for the 2005 Subaru Legacy indicates the the can bus pins are A-21 and A-22 however it does not say which is the CAN-H and which the CAN-L, so I have been swapping them around whenever I try something new...

I understand that both ends of the CAN need to have terminating resistors of 120 Ohms and I read somewhere the resistor on the SeeedStudio shield was not 120 Ohms so I replaced it.
I have no clue if the cluster has a terminating resistor in it, however when I hook up a multimeter to the can wires it shows that it is an open circuit...

As for the code
I have been using subdiesel.wordpress.com/ecu-analysis/ as a reference for the CAN-Bus IDs, however I have also tried fuzzing all IDs between 0x000 and 0xFFF (see the code below).

The Wikipedia article (the best source I could find...) for Subaru said that they use two CAN-Buses: a fast 500 kbps one for vital stuff and slower 125 kbps one for things like the cluster. So I have been primarily testing with 125 kbps data rate as shown in the code below. I have tried other values though.

Long story short:
Given all the information above, I have not been able to get any response out of the cluster, beyond powering it on.

Could it have to do with the immobilizer?
Could it have to do with the 120 Ohm terminating resistor?

If anyone has any suggestion on what I may be doing wrong, please let me know!

The code below is a modified version of the sample code that comes with Cory J. Fowler’s MCP2515 Arduino library that I have been testing with.

// demo: CAN-BUS Shield, send data
#include "mcp_can.h"
#include <SPI.h>

unsigned char stmp[8] = {0, 0, 0, 0, 0, 0, 0, 0};
unsigned char otmp[8] = {0xFFF,0xFFF,0xFFF,0xFFF,0xFFF,0xFFF,0xFFF,0xFFF};
MCP_CAN CAN(10); 

void setup()
{
  //delay(5000);  // delay to allow me time to open the serial monitor window to check all is well
  Serial.begin(115200);
  if(CAN.begin(CAN_125KBPS) == CAN_OK)  //check the Seeeduino CAN-BUS wiki for more details on code
  {
    Serial.print("can init ok!!\r\n");
  }
  else Serial.print("Can init fail!!\r\n");
}

unsigned int pid=0x000;
unsigned int i = 0;

void loop()
{
  for (i=0;i<0xFFF;i++) {

        Serial.print("PID = ");
        Serial.println(i, HEX);

        CAN.sendMsgBuf(i, 0, 8, otmp);
        //delay(5);

  }
}

/*********************************************************************************************************
  END FILE
*********************************************************************************************************/

Have you made any headway with this?

Ever have any luck with this? Also trying to drive the same Instrument Cluster...