Login Register

What did you do to your P2 Volvo today?

Help, Advice, Owners' Discussion and DIY Tutorials on Volvo's stylish, distinctive P2 platform cars sold as model years 2001-2007 (North American market year designations).

2001 - 2007 V70
2001 - 2004 V70 XC (Cross Country)
2004 - 2007 XC70 (Cross Country)
2001 - 2009 S60
2003 - 2007 S60 R
2004 - 2007 V70 R

Post Reply
dikidera
Posts: 1304
Joined: 15 August 2022
Year and Model: S60 2005
Location: Galaxy far far away
Has thanked: 67 times
Been thanked: 175 times

Re: What did you do to your P2 Volvo today?

Post by dikidera »

Today I shall be attempting to overwrite part of the TCM adaptations to those before I added lubeguard. Every time I have flushed the gearbox with fresh oil it has performed much better for around 1km or so. Especially last year when I did 10l of flushing, the gearbox was so buttery smooth I could not believe it that it is such a shame I did not dump them back then.

I have correlated my EEPROM adaptations to those of the TCM's ram addresses(since they are read at startup and commited to EEPROM when modified when engine is off). As such I will create 3 or 4 groups and will create a loop to overwrite all the time the adaptations belonging to each group but only one group at a time. Once I have narrowed down a group of adaptations that significantly alter the gearbox's behaviour I will focus on that group and narrow down a particular value that strongly affects performance(specifically smoother shifts or faster shifts).

I wish to clarify a few terms. Shift speed = time between the gearbox starting to shift and completion of shift. Smoother shift = Less torque reduction during shift process. May as very well that a faster shift speed = smoother shift speed.

Code: Select all

    if group == 1:
        send_can_message([0xCF, 0x6E, 0xBA, 0xFF, 0x8D, 0x46, 0xFF, 0xAA]) #changed
        send_can_message([0xCF, 0x6E, 0xBA, 0xFF, 0x8D, 0x48, 0xFF, 0x54]) #changed
        send_can_message([0xCF, 0x6E, 0xBA, 0xFF, 0x8D, 0x4A, 0xFF, 0x0E]) #changed
        
        send_can_message([0xCF, 0x6E, 0xBA, 0xFF, 0x8D, 0x4C, 0xFD, 0x1E])  #UNchanged
        send_can_message([0xCF, 0x6E, 0xBA, 0xFF, 0x8D, 0x4E, 0xFF, 0x3A])  #UNchanged
        send_can_message([0xCF, 0x6E, 0xBA, 0xFF, 0x8D, 0x52, 0x00, 0x00])  #UNchanged
        send_can_message([0xCF, 0x6E, 0xBA, 0xFF, 0x8D, 0x54, 0x00, 0x00])  #UNchanged
        send_can_message([0xCF, 0x6E, 0xBA, 0xFF, 0x8D, 0x56, 0x00, 0x00])  #UNchanged
        
        send_can_message([0xCF, 0x6E, 0xBA, 0xFF, 0x8D, 0x58, 0xFD, 0x33])  #changed
        send_can_message([0xCF, 0x6E, 0xBA, 0xFF, 0x8D, 0x5A, 0xFE, 0xD7])  #changed
        send_can_message([0xCF, 0x6E, 0xBA, 0xFF, 0x8D, 0x5C, 0xFD, 0xFF])  #changed
        
        send_can_message([0xCF, 0x6E, 0xBA, 0xFF, 0x8D, 0x5E, 0xFC, 0xC2])  #UNchanged
        send_can_message([0xCF, 0x6E, 0xBA, 0xFF, 0x8D, 0x60, 0xFC, 0xA5])  #UNchanged
        send_can_message([0xCF, 0x6E, 0xBA, 0xFF, 0x8D, 0x62, 0x00, 0x00])  #UNchanged
        send_can_message([0xCF, 0x6E, 0xBA, 0xFF, 0x8D, 0x64, 0x00, 0x00])  #UNchanged
        send_can_message([0xCF, 0x6E, 0xBA, 0xFF, 0x8D, 0x66, 0x00, 0x00])  #UNchanged
        
        send_can_message([0xCF, 0x6E, 0xBA, 0xFF, 0x8D, 0x68, 0x00, 0x4B])  #changed
        send_can_message([0xCF, 0x6E, 0xBA, 0xFF, 0x8D, 0x6A, 0x00, 0xB1])  #changed
        send_can_message([0xCF, 0x6E, 0xBA, 0xFF, 0x8D, 0x6C, 0xFF, 0x88])  #changed
        
        send_can_message([0xCF, 0x6E, 0xBA, 0xFF, 0x8D, 0x6E, 0xFD, 0xF4])  #UNchanged
        send_can_message([0xCF, 0x6E, 0xBA, 0xFF, 0x8D, 0x70, 0xFD, 0xD5])  #UNchanged
        send_can_message([0xCF, 0x6E, 0xBA, 0xFF, 0x8D, 0x72, 0x00, 0x00])  #UNchanged
        send_can_message([0xCF, 0x6E, 0xBA, 0xFF, 0x8D, 0x74, 0x00, 0x00])  #UNchanged
        send_can_message([0xCF, 0x6E, 0xBA, 0xFF, 0x8D, 0x76, 0x00, 0x00])  #UNchanged
        
        send_can_message([0xCF, 0x6E, 0xBA, 0xFF, 0x8D, 0x78, 0xFF, 0xCA])  #changed
        send_can_message([0xCF, 0x6E, 0xBA, 0xFF, 0x8D, 0x7A, 0x00, 0xAD])  #changed
        send_can_message([0xCF, 0x6E, 0xBA, 0xFF, 0x8D, 0x7C, 0xFF, 0xDD])  #changed
        send_can_message([0xCF, 0x6E, 0xBA, 0xFF, 0x8D, 0x7E, 0x00, 0x00])  #changed
        
        send_can_message([0xCF, 0x6E, 0xBA, 0xFF, 0x8D, 0x80, 0x01, 0x11])  #UNchanged
        send_can_message([0xCF, 0x6E, 0xBA, 0xFF, 0x8D, 0x82, 0x00, 0x00])  #UNchanged
        send_can_message([0xCF, 0x6E, 0xBA, 0xFF, 0x8D, 0x84, 0x00, 0x00])  #UNchanged
        send_can_message([0xCF, 0x6E, 0xBA, 0xFF, 0x8D, 0x86, 0x00, 0x00])  #UNchanged
You can see group 3(8D46) is the largest, it is a two-dimensional array indexed by gear and then by what I think is a oil temp region.. It's a torque region, but not current engine torque, but related to the stall speed.

so adaptation[gear_index][torqueregion_index]. Gear index however is shared by a few gears and is not updated during a downshift, only when upshifting.

Addendum: I have verified that when you have the car in Pos II and overwrite the RAM address that corresponds to these adaptation tables, they are updated in EEPROM when power off the car (Pos 0). As such I have indirect write access to the EEPROM.

It should be noted I am not touching the original adaptations that get erased when you reset the adaptations. I am only toying with those adaptations that continually adapt as you drive.

Addendum: I could not pinpoint a specific group that affected shifting more. However it turns out group 3 is a table of torques I now believe, which are used in a chain of variables, being stacked up together. At first I thought it was pressures, but the values are more akin to torques, since they seem to be related to this table that starts like so 350, 900, 1400, 1700, all the way up to 3300 which when divided by 10 is 330 or the natural limit of the gearbox as programmed in.

yanga001
Posts: 787
Joined: 24 March 2019
Year and Model: 98/99/00 v/s70’s
Location: Ontario
Has thanked: 59 times
Been thanked: 110 times

Post by yanga001 »

reinstalled the high pressure headlight nozzle. Interestingly enough, nothing comes out of the drivers side nozzles, but they do extend outwards. The passenger side seems to spray double the amount it should and fully extends out.

Will fix it when time permits
1998 S70 N/A Auto (Parts car)(planned to be harvested)
1998 V70 N/A Auto New full restoration project (Water pump thrown at 404K Km)
1998 V70 N/A Auto (Workhorse) (Tree to driver B pillar :( )
1999 S70 T5 Auto(Project) (planned to be fixed)
2000 S70 SE M Learning platform (planned to be driven one day)
2008 S60 2.5T Auto (Sold)
2012 Honda Pilot AWD Touring (Daily)

User avatar
TGHepburn
Posts: 4
Joined: 25 January 2018
Year and Model: 2004 XC70
Location: Central Alberta
Has thanked: 5 times
Been thanked: 1 time

Post by TGHepburn »

Canada Day long weekend, 2024

Getting my 2004 XC70 ready to go....wait for it....cross country!. Alberta to Ontario and back via Northern USA. Car is at 475,000km (300000miles) and should be close to 1/2 million km when I get back.

Following is the "regular maintenance list"
  • Change Rear Diff oil.
  • Front brake inspection
  • Rear Brake service
  • Replaced Fuel Filter (Created an issue with fuel guage??)
  • Changed Plugs
  • Inspected Timing belt and lower-side water pump for any wear/leaks (belt due in 40000km)
  • Bought tires (Hankook Kinergy PT H737 (made in USA!) but will install at my brother's shop later
Now for the Big Ticket (and very overdue) repairs
  • Replace Trailing arm bushings
  • Replace Rear lower control arms
  • Replace Link bar bushings (Camber bolt seized in bushing both sides)
I'm sorry I did not take any pictures as I was in a rush. Take-away is to do each bushing seperately. The first side I tore everything down, replaced all then re-assembly was a challenge when bolts did not align. The other side was easier when doing each "arm" separately

I took a chance on these Polyurethane bushings but If the squeaking annoys me I will be pressing in rubber bushings. The allure for me was Powerflex had a good lookup diagram on their website. Other sites had miss-labelled parts and conflicting information - never sure I was ordering the right parts.

Of note: I pull a trailer with this car a lot. All the bushings I took out were factory original and in much better shape than I expected. Some I wondered why bother? they looked fine. Impressive.

User avatar
TGHepburn
Posts: 4
Joined: 25 January 2018
Year and Model: 2004 XC70
Location: Central Alberta
Has thanked: 5 times
Been thanked: 1 time

Post by TGHepburn »

yanga001 wrote: 03 Jul 2024, 09:51 reinstalled the high pressure headlight nozzle. Interestingly enough, nothing comes out of the drivers side nozzles, but they do extend outwards. The passenger side seems to spray double the amount it should and fully extends out.

Will fix it when time permits
LOL you just reminded me to pinch off mine. both wiper arms are gone for headlights. Little tube just hanging there. Back to the good old days of manually cleaning my headlights. Ugh.

SOURDOUGHJIM
Posts: 136
Joined: 14 May 2023
Year and Model: 2004 V70 2.4
Location: Missouri
Has thanked: 53 times
Been thanked: 27 times

Post by SOURDOUGHJIM »

Replace p/s pump suction line. Then noticed the pressure line was loose. Snugged it down. Refill with Pentofluid. Check for leaks, all seems OK now.

SOURDOUGHJIM
Posts: 136
Joined: 14 May 2023
Year and Model: 2004 V70 2.4
Location: Missouri
Has thanked: 53 times
Been thanked: 27 times

Post by SOURDOUGHJIM »

Replaced p/s pump suction line. Then noticed the pressure line was loose. Snugged it down, checked for leaks. All seems OK for now.

User avatar
jonesg
Posts: 3501
Joined: 16 January 2008
Year and Model: 2004 V70
Location: Northern maine.
Has thanked: 69 times
Been thanked: 479 times

Post by jonesg »

spent 30 minutes on tire rack, can't even find a list of tires to choose from.

3 seconds on amazon and i got a slew of choices.
done.

User avatar
abscate
MVS Moderator
Posts: 35275
Joined: 17 February 2013
Year and Model: 99: V70s S70s,05 V70
Location: Port Jefferson Long Island NY
Has thanked: 1500 times
Been thanked: 3810 times

Post by abscate »

Rolled the P2 into Brooklyn to return dog/girl after a week visit. Blessed is the P2 AC in 90F NYC muggy
Empty Nester
A Captain in a Sea of Estrogen
1999-V70-T5M56 2005-V70-M56 1999-S70 VW T4 XC90-in-Red
Link to Maintenance record thread

User avatar
850 LPT
Posts: 1961
Joined: 27 May 2011
Year and Model: 96' 850
Location: CT
Has thanked: 331 times
Been thanked: 242 times

Post by 850 LPT »

My daughter came home from Boston for the holiday weekend and I changed the oil in her delightful 03' V70 2.4T. I used Mobil 1 Synthetic High Mileage from Walmart. They sell the 5 qt jug for an unbelievable $25. She used the time to thoroughly clean the interior and oil the seats.
98' S70, base, 5-speed manual, pewter/ tan, 145k miles
99' S70, base, 5-speed manual, nautic blue/ tan, 225k miles, currently inop
06' V70, auto, willow green/ charcoal, 147k miles
79' Ford Capri S, Euro Spec 2.8 V6, T9 5-speed manual, owned since 1986
58' Porsche Diesel Junior
13' Honda Odyssey :oops:
84' Mercedes 300 D, gold/ tan, 420k miles (retirement project :D )

User avatar
Krons
Posts: 1069
Joined: 9 January 2022
Year and Model: 08S60 05XC90 02S60
Location: Des Moines, IA
Has thanked: 193 times
Been thanked: 202 times

Post by Krons »

Got the 05 XC90 away from my college kid for a week to send to my local Indy. 201k miles so got a timing belt, water pump and cam seals that had a slow leak since I bought it. Cam seals from FCP were wrong ones and leaked so they had to get others. Also fixed the AC and did the Haldex fluid and filter for me as it is a bear to get to on that vintage. $1200 but lots of time saved.

When it got home I replaced the front end with loaded TRQ struts, old ones were quite gone. Needs control arms and brakes but that’ll have to be another day.
08 S602.5T/05 XC902.5T/02 S602.4T
08 C702.5T (sold)
05 S402.4i (RIP, timing belt failure)
The non-Swedes:
25 Mazda MX-5 / 17 Frontier Pro-4X / 17 Ford Focus
17 R1200GS / 15 Versys 1000 / 11 DR-Z400S / 07 R1200GSA

Post Reply
  • Similar Topics
    Replies
    Views
    Last post