E90Post
 


The Tire Rack
 
BMW 3-Series (E90 E92) Forum > E90 / E92 / E93 3-series Powertrain and Drivetrain Discussions > N54 Turbo Engine / Drivetrain / Exhaust Modifications - 335i > Vishnu Technical: Ignition timing control facts



Reply
 
Thread Tools Search this Thread
      07-21-2009, 03:57 PM   #199
The Cthulhu
Banned
7
Rep
197
Posts

Drives: N/A
Join Date: Jun 2009
Location: N/A

iTrader: (0)

Quote:
Originally Posted by roozie2001 View Post
actually that part isnt false. With race gas/full bolt ons and meth theres quite a few that have gained around approximately 180 whp over stock. Thats 425-455 whp depending on what your baseline dyno was at. Now as far as it controlling timing via the CPS well that has been dis-proven already.
"180 whp with bolt ons and race gas" is the statement. I do not consider methanol injection a "bolt on" modification.
Appreciate 0
      07-21-2009, 04:03 PM   #200
jonm42
Captain
United_States
22
Rep
617
Posts

Drives: too fast for conditions.
Join Date: Feb 2007
Location: Portland, OR

iTrader: (2)

Quote:
Originally Posted by The Cthulhu View Post
"180 whp with bolt ons and race gas" is the statement. I do not consider methanol injection a "bolt on" modification.
You don't hold it on with bolts? (*ducks*)
Appreciate 0
      07-21-2009, 04:25 PM   #201
RambleJ
Colonel
RambleJ's Avatar
No_Country
60
Rep
2,014
Posts

Drives: F10 535i M-sport
Join Date: Oct 2008
Location: Back in teh so cal

iTrader: (2)

Now doesn't the ECU have to adjust the timing, plus everything else when it adjusts the boost for different altitudes? Don't know if that matters.. Im a noob when it comes to this kinda stuff, so easy on the bashing.
Appreciate 0
      07-21-2009, 04:49 PM   #202
OpenFlash
United_States
1737
Rep
17,960
Posts

Drives: A Lot
Join Date: Sep 2006
Location: SF Bay, CA

iTrader: (0)

Garage List
Quote:
Originally Posted by roozie2001 View Post
im waiting myself. i dont care who's right or wrong. The truth is the truth.
Instead of waiting, read the data. And if you don't understand, ask question. Arguing against the effectiveness of CPS offsetting, to anyone who understands engine management/tuning, is like arguing against evolution or that the Earth is flat. Seriously.

Shiv
Appreciate 0
      07-21-2009, 05:15 PM   #203
HighVoltage
.
HighVoltage's Avatar
United_States
32
Rep
867
Posts

Drives: 07 E90 335i
Join Date: Aug 2008
Location: .

iTrader: (0)

Quote:
Originally Posted by shiv@vishnu View Post
is like arguing against evolution or that the Earth is flat. Seriously.
Shiv
Oh shit please dont drag the Flat Earth Society into this too....
__________________
Not only will it kill you it will hurt the whole time while you're dying.

http://www.stevesnovasite.com/
http://www.jalopyjournal.com/forum/
http://www.garagejournal.com/
Appreciate 0
      07-21-2009, 05:18 PM   #204
roozie2001
Just some guy
roozie2001's Avatar
United_States
49
Rep
1,531
Posts

Drives: 2008 White 335i sedan
Join Date: Apr 2008
Location: Houston, TX

iTrader: (4)

Quote:
Originally Posted by shiv@vishnu View Post
Instead of waiting, read the data. And if you don't understand, ask question. Arguing against the effectiveness of CPS offsetting, to anyone who understands engine management/tuning, is like arguing against evolution or that the Earth is flat. Seriously.

Shiv

SHIV im not doubting you dude. im not a Fanboy. F*** everyone cuz when my engine blows up neither you nor Terry are gonna care. Its all about me, myself and I. I totally see what your product does. I just wanna see what mikes rebuttal is about. Hell I might be a future customer of yours. My loyalty is to my car and bank account. And im not arguing against the effectiveness of CPS offsetting. I just think that this thread has gotten way off topic with Vishnu-ites bashing on BMS. Like i said im just in here learning as i go along.

edit: whats evolution?
__________________
2008 BMW 335i/Sedan/Alpine White/Terra/Steptronic/Premium Package/Sports package/Comfort Access/USB/Sirius
Appreciate 0
      07-21-2009, 05:31 PM   #205
lawdude
Colonel
lawdude's Avatar
United_States
93
Rep
2,339
Posts

Drives: 335i ZPP ZSP TiAg MT
Join Date: Jul 2006
Location: Georgia

iTrader: (1)

Quote:
Originally Posted by roozie2001 View Post
I just think that this thread has gotten way off topic with Vishnu-ites bashing on BMS.
Not much in the way of bashing until Mr.Happy @ n54tuning.com showed up and started throwing hand grenades. Then Vishnu-ites started pulling the pins and throwing them back.
__________________
What do I know? I'm insane.
Appreciate 0
      07-21-2009, 05:33 PM   #206
brianhn1
Slow Mo
15
Rep
534
Posts

Drives: BMW
Join Date: Jun 2008
Location: US

iTrader: (0)

But majority of people believe in intelligent design.

http://www.harrisinteractive.com/har...ex.asp?PID=581
http://www.wnd.com/news/article.asp?ARTICLE_ID=49153
__________________
BMW '17 X5 35i, '15 M4, ED 7/1/14, US 8/4/14, PU 8/18/14, '13 X5 35i, '08 335i
Motorcycles: BMW '12 R1200GS, '10 F800GS, '74 R90S

Appreciate 0
      07-21-2009, 06:09 PM   #207
jpsimon
Team Zissou
jpsimon's Avatar
United_States
3065
Rep
10,197
Posts

Drives: 2022 AWD M3 Comp - SMB
Join Date: Dec 2006
Location: CT

iTrader: (7)

Quote:
Originally Posted by brianhn1 View Post

Unfortunatly the majority of people out there are retarded..

Douglas Adams said it best: "people are a problem".
Appreciate 0
      07-21-2009, 07:54 PM   #208
nj1266
Enlisted Member
0
Rep
43
Posts

Drives: Evolution
Join Date: Apr 2007
Location: Long Beach, CA

iTrader: (0)

Quote:
Originally Posted by The Cthulhu View Post
After all these pages of posts, I'm not sure I understand why the DME won't adapt to the Procede's CPS offsetting over time by adding advance to gain more power. Why doesn't it try to?

It also sounds like there's no true way to determine if detonation has occurred and that no one has logged the CPS offsetting vs. actual timing over a lengthy time series to see if adaptation occurs.
A DME is a computer; it is as smart as the input that you give it. The DME takes the information from the car's sensors (mainly, MAF/MAP/CPS), looks up 3D/2D tables from the rom (map) and sends back signals to the engine telling it to adjust spark ignition timing, fuel injectors firing and WGDC opening.

Some ECUs are more sophisticated than others, they have multiple tables that interpolate with each other based on different contingencies and some ECUs are simple. The DME happens to be a sophisticated ECU, but it DOES NOT THINK on its own. It DOES NOT ADAPT. It reacts to data from the sensors.

The interceptor (proceed) takes intercepts the data from the sensors and tells the ECU that it is getting a different signal than what it in the ECU map. The ECU says OK and sends a different signal to the sensors.

For example, say the ECU has in its timing map a command telling it to fire the spark plug @ 13* BTDC at 7000 rpm at WOT. The ECU gets a signal from the CPS sensor telling it to do just that, BUT the Proceed intercepts that signal and corrects it by -3* (CPS offset/correction). So now the ECU is told to fire the spark @ 10* BTDC @ 7000 rpm at WOT. The ECU thinks that it is following the map, but it is NOT, it is following what is coming from the sensors via the Proceed.

That is all there is to it. The ECU does not think, does not adapt and does nothing of what Mike is saying it does. The ECU takes the data in and spits different data out.

This, BTW, is NOT direct timing control. Direct timing control is when you flash the map in the ECU and the DME reads the new timing/fuel data. That, and only that is direct control.

For your second question, yes it is possible to determine detonation by logging data from the ECU. Each engine has a microphone attached to it. The microphone listens to the engine and sends the sounds to the ECU. The ECU has multiple filter maps that filter the sound and determines what is knock and what is not. If the ECU determines that a certain sound is knock, then it commands the CPS to retard iginition timing.

The ECU usually spits out the knock signal through the CAN/OBDII port and you can log it if you have the necessary logging equipment. Once you log it you will not that every time the knock signal goes higher, there is a corresponding timing retard.

When I ran an XEDE I was able to log that signal using an additional device on the harness. Everytime the signal increased the timing got pulled. Maybe Shiv can implement something like this on the Proceed.
Appreciate 0
      07-21-2009, 08:25 PM   #209
brianhn1
Slow Mo
15
Rep
534
Posts

Drives: BMW
Join Date: Jun 2008
Location: US

iTrader: (0)

Quote:
Originally Posted by nj1266 View Post
This, BTW, is NOT direct timing control. Direct timing control is when you flash the map in the ECU and the DME reads the new timing/fuel data. That, and only that is direct control.
Agreed. CAS offsetting does not even target a specific timing angle.
__________________
BMW '17 X5 35i, '15 M4, ED 7/1/14, US 8/4/14, PU 8/18/14, '13 X5 35i, '08 335i
Motorcycles: BMW '12 R1200GS, '10 F800GS, '74 R90S

Appreciate 0
      07-21-2009, 08:31 PM   #210
Crazy AWD
Private
Crazy AWD's Avatar
3
Rep
96
Posts

Drives: 2009 E90 335i xDrive
Join Date: Jun 2009
Location: Austin, TX

iTrader: (0)

Quote:
Originally Posted by nj1266 View Post
Some ECUs are more sophisticated than others, they have multiple tables that interpolate with each other based on different contingencies and some ECUs are simple. The DME happens to be a sophisticated ECU, but it DOES NOT THINK on its own. It DOES NOT ADAPT. It reacts to data from the sensors.
Just plain wrong. The ECU has things like short and long fuel trim values that get modified based on variables like knock threshold.

Quote:
Originally Posted by nj1266 View Post
Each engine has a microphone attached to it. The microphone listens to the engine and sends the sounds to the ECU.

You do mean the piezoelectric knock sensors (i hope). They are far from a "microphone."

Quote:
Originally Posted by nj1266 View Post
The interceptor (proceed) takes intercepts the data from the sensors and tells the ECU that it is getting a different signal than what it in the ECU map. The ECU says OK and sends a different signal to the sensors.
You mean the ECU sends out signals to various components like the vanos units...not other sensors.

oy vey, why did I just pull myself into this thread....
Appreciate 0
      07-21-2009, 08:33 PM   #211
lawdude
Colonel
lawdude's Avatar
United_States
93
Rep
2,339
Posts

Drives: 335i ZPP ZSP TiAg MT
Join Date: Jul 2006
Location: Georgia

iTrader: (1)

There are a lot of experts on this board and I'm not one of them.
__________________
What do I know? I'm insane.
Appreciate 0
      07-21-2009, 08:37 PM   #212
Mike@N54Tuning.com
Joint Chiefs of Staff
Canada
4918
Rep
115,980
Posts

Drives: 2007 335i, 2015 M3
Join Date: Dec 2008
Location: N54tuning.com

iTrader: (89)

Well I finally arrived back after some delays and had a chance to speak to BMS/Terry and lay down a strategy for testing.

Here is an overview of what we decided we would do.

First, we'd like to show that the CPS offsetting is generally learned out by the ECU. We plan to do this by creating a repeatable test, like 2000-7000rpm 3rd gear pulls, in similar weather conditions. Then we will perform this test with a well adapted and well tuned CPS offset in place several pulls to develop effective timing averages over many runs. Then we will disable the CPS offsetting, let the ECU adapt, and repeat this same test to create non-CPS averages. These two sets of averages along with the supporting detail will become the basis for analysis.

Second, we'd like to show that total timing advance drops don't necessarily equate proportionally to knock. This is a much more advanced concept and we need to give more thoughts to how to perform the testing in a way that will be accepted by all.

The V3 system is perfect to perform this testing as CPS can be turned on and off, and the CPS maps are well developed and accepted by all. Also, we don't have any source code to "tamper" with the device. The first order of business is to recreate the tests in the first post. As you can see by the attached BT log we're having a hard time doing that... So the work continues.

Mike

P.S Shiv, let me know if its cool to post data in this thread or do you prefer for me to start a new thread. Let me know.


.
Attached Images
 
Appreciate 0
      07-21-2009, 08:37 PM   #213
Mike@N54Tuning.com
Joint Chiefs of Staff
Canada
4918
Rep
115,980
Posts

Drives: 2007 335i, 2015 M3
Join Date: Dec 2008
Location: N54tuning.com

iTrader: (89)

Quote:
Originally Posted by The Cthulhu View Post
"180 whp with bolt ons and race gas" is the statement. I do not consider methanol injection a "bolt on" modification.
The 180rw claim is based on this dyno chart posted on BMS' website of bolt on mods and race gas. No meth was used. The 440rw number has been repeated by customers.

http://www.burgertuning.com/images/jb3_max_power.jpg
Appreciate 0
      07-21-2009, 09:13 PM   #214
stealth-twntrbo
Captain
stealth-twntrbo's Avatar
United_States
139
Rep
717
Posts

Drives: 2020 740xi
Join Date: Jun 2009
Location: NA

iTrader: (3)

Quote:
Originally Posted by Mike@N54Tuning.com View Post
The 180rw claim is based on this dyno chart posted on BMS' website of bolt on mods and race gas. No meth was used. The 440rw number has been repeated by customers.

http://www.burgertuning.com/images/jb3_max_power.jpg
Whats with the MID 13.5 AFR til about 5100 rpm that seems a little on the LEAN side? As soon as it starts to richen up the power begins to tapper pretty heavily but thats primarily due to the little turbos.
Appreciate 0
      07-21-2009, 09:14 PM   #215
jpsimon
Team Zissou
jpsimon's Avatar
United_States
3065
Rep
10,197
Posts

Drives: 2022 AWD M3 Comp - SMB
Join Date: Dec 2006
Location: CT

iTrader: (7)

Quote:
Originally Posted by got psi View Post
looks like thats with the turbo melter map. isnt that map given out to certain people only?
Something like 18-20psi if I remember correctly
Appreciate 0
      07-21-2009, 09:43 PM   #216
adrian@vishnu
Australia
39
Rep
672
Posts

Drives: 135i
Join Date: May 2009
Location: Sydney, Australia

iTrader: (0)

Interesting thread.

I think we need some new definitions of direction ignition control. Many people are referring to direct as the ability to run some number that can be set in a map somewhere regardless of whether this capability adds any value to the tuning process which it does not. Since the Procede can read DME igntiion timing via CAN, it could actually do direct ignition control going by this definition. All it would have to do is add one different calculation: CAS Offset = Procede Target - DME Actual timing. Then the Procede would have direct timing control. You could enter the timing you want it to run and the engine would run it. Would it actually achieve anything in terms of tuning... no.

The truth is that the factory DME has timing maps which already have a shape that is well matched to the engine (with rising ignition advance with RPM and less ignition advance with more boost). The problem is that the piggyback tunes achieve more power by running more boost WITHOUT the DME knowing that the engine has more boost. Anyone who knows anything about tuning knows that as boost rises, ignition advance lowers, but in this case the DME still thinks there is 7psi of boost when the actual boost might be 15psi. So where does this extra ignition retard come from that is required when adding singificantly more boost:

* In the case of good high RON race fuels, it is not required. The required ignition advance for 7psi with pump fuel would be about the same as 15psi with say 100RON race fuel.

* In the case of a system with CAS phase adjustment, the system can add this extra ignition retard. The shape of the curve is maintained (with respect to RPM), but the curve just has an offset applied to it. The actual ignition advance being run is the same as if the ECU had been correctly mapped for that boost level (hence why "direct" control is not required) assuming the tuner has mapped it well.

* In the case of a system without CAS phase adjustment, the DME must make this adjustment by first recognising that it is required. The only sensor that can provide this information is the knock sensor.

The knock sensor cannot measure when knock is almost happening. It can only measure when knock IS happening. There is however variable intensity of knock, and it can detect lower levels of knock than are likely to cause immediate damage, and can respond quick enough to prevent damage from prolonged knock. However the knock sensor cannot determine when conditions have changed to allow the ignition advance to be run without knock after it has retarded timing, so the algorithms slowly reintroduce the ignition that has been removed (slowly being seconds rather than milliseconds). When knock starts to occur again, they remove it again. There is likely to be multiple ignition base maps in the DME, and depending on the level of knock activity over a period of time, it may then decide that the fuel RON is lower and enter a base ignition map with lower timing which enables it to be a little closer to ideal timing from the base map. But it will then take a period of time with low knock activity to return to the more agressive base timing map. This may be the adaption people refer to on some tunes.

So how much of this less intense knock can the engine take. Well I have seen high quality race forged pistons damaged with severe knock in a short time (seconds) in other applications, and it would likely be the same with the N54 with probably lower quality pistons. With less severe knock, racing pistons can generally run for long periods. In the case of the N54... nobody really knows, and it is still relatively early days. For the user wishing for long reliable service, I guess the best that can be recommended is to minimise duration and severity of knock in whatever way possible to maximise reliability. Also, the longer the engine is run at higher loads and temps, the higher the chance of damage more quickly.

Also, a little information on knock sensor systems. They do use a piezo, and it is effectively a microphone with the major difference being that the output bandwidth is tuned to be well matched to typical knock frequencies, and also piezos are more efficient in terms of output voltage and more robust than other types of microphones for the engine environment. The DME has frequnecy filters that then limit the bandwidth to the expected bandwidth of any possible knock. This frequency is typically related to bore diameter. This signal is then input to the main processor in the DME. But it does get a little more complex than this. Knock can typically occur over a short range of the piston movement. Typically this may be about 70 deg BTDC to a fair way ATDC. In a direct injection engine this range would be further limitted by when the fuel is injected. The DME typically takes a sample of the knock sensor level outside of this range , and then a sample inside this range and compares the two. If there is more noise during the knock "window", then it can determine the knock level from how much more. This method has the benefit that a noisy engine (worn bearings etc.) will not false trigger the knock sensor as most other noise will be constant at all engine positions. It also has the benefit that the DME can determine which piston is experiencing the knock from the position of the piston and the knock level.

I suspect that the knock status datalog parameter is applied before this piston phase filtering is done, and this explains why it may show knock at very light loads even though knock is all but impossible at light loads.

Anyway... just a little more info from my experiences. Of course I cannot categorically claim all this applies to the N54, but all the evidence I have seen suggests this is the case, and I have worked with so many other cars that I do know use these approaches including late model direct injection euros, I would be close to 100% sure this is the case. I actually find it amusing that people think the N54 is some super special engine that runs differently to other engines and that the the DME does things differently to aid a marketting cause when the evidence says otherwise.
Appreciate 0
      07-21-2009, 11:06 PM   #217
OpenFlash
United_States
1737
Rep
17,960
Posts

Drives: A Lot
Join Date: Sep 2006
Location: SF Bay, CA

iTrader: (0)

Garage List
Quote:
Originally Posted by adrian@vishnu View Post
Interesting thread.

I think we need some new definitions of direction ignition control. Many people are referring to direct as the ability to run some number that can be set in a map somewhere regardless of whether this capability adds any value to the tuning process which it does not. Since the Procede can read DME igntiion timing via CAN, it could actually do direct ignition control going by this definition. All it would have to do is add one different calculation: CAS Offset = Procede Target - DME Actual timing. Then the Procede would have direct timing control. You could enter the timing you want it to run and the engine would run it. Would it actually achieve anything in terms of tuning... no.

The truth is that the factory DME has timing maps which already have a shape that is well matched to the engine (with rising ignition advance with RPM and less ignition advance with more boost). The problem is that the piggyback tunes achieve more power by running more boost WITHOUT the DME knowing that the engine has more boost. Anyone who knows anything about tuning knows that as boost rises, ignition advance lowers, but in this case the DME still thinks there is 7psi of boost when the actual boost might be 15psi. So where does this extra ignition retard come from that is required when adding singificantly more boost:

* In the case of good high RON race fuels, it is not required. The required ignition advance for 7psi with pump fuel would be about the same as 15psi with say 100RON race fuel.

* In the case of a system with CAS phase adjustment, the system can add this extra ignition retard. The shape of the curve is maintained (with respect to RPM), but the curve just has an offset applied to it. The actual ignition advance being run is the same as if the ECU had been correctly mapped for that boost level (hence why "direct" control is not required) assuming the tuner has mapped it well.

* In the case of a system without CAS phase adjustment, the DME must make this adjustment by first recognising that it is required. The only sensor that can provide this information is the knock sensor.

The knock sensor cannot measure when knock is almost happening. It can only measure when knock IS happening. There is however variable intensity of knock, and it can detect lower levels of knock than are likely to cause immediate damage, and can respond quick enough to prevent damage from prolonged knock. However the knock sensor cannot determine when conditions have changed to allow the ignition advance to be run without knock after it has retarded timing, so the algorithms slowly reintroduce the ignition that has been removed (slowly being seconds rather than milliseconds). When knock starts to occur again, they remove it again. There is likely to be multiple ignition base maps in the DME, and depending on the level of knock activity over a period of time, it may then decide that the fuel RON is lower and enter a base ignition map with lower timing which enables it to be a little closer to ideal timing from the base map. But it will then take a period of time with low knock activity to return to the more agressive base timing map. This may be the adaption people refer to on some tunes.

So how much of this less intense knock can the engine take. Well I have seen high quality race forged pistons damaged with severe knock in a short time (seconds) in other applications, and it would likely be the same with the N54 with probably lower quality pistons. With less severe knock, racing pistons can generally run for long periods. In the case of the N54... nobody really knows, and it is still relatively early days. For the user wishing for long reliable service, I guess the best that can be recommended is to minimise duration and severity of knock in whatever way possible to maximise reliability. Also, the longer the engine is run at higher loads and temps, the higher the chance of damage more quickly.

Also, a little information on knock sensor systems. They do use a piezo, and it is effectively a microphone with the major difference being that the output bandwidth is tuned to be well matched to typical knock frequencies, and also piezos are more efficient in terms of output voltage and more robust than other types of microphones for the engine environment. The DME has frequnecy filters that then limit the bandwidth to the expected bandwidth of any possible knock. This frequency is typically related to bore diameter. This signal is then input to the main processor in the DME. But it does get a little more complex than this. Knock can typically occur over a short range of the piston movement. Typically this may be about 70 deg BTDC to a fair way ATDC. In a direct injection engine this range would be further limitted by when the fuel is injected. The DME typically takes a sample of the knock sensor level outside of this range , and then a sample inside this range and compares the two. If there is more noise during the knock "window", then it can determine the knock level from how much more. This method has the benefit that a noisy engine (worn bearings etc.) will not false trigger the knock sensor as most other noise will be constant at all engine positions. It also has the benefit that the DME can determine which piston is experiencing the knock from the position of the piston and the knock level.

I suspect that the knock status datalog parameter is applied before this piston phase filtering is done, and this explains why it may show knock at very light loads even though knock is all but impossible at light loads.

Anyway... just a little more info from my experiences. Of course I cannot categorically claim all this applies to the N54, but all the evidence I have seen suggests this is the case, and I have worked with so many other cars that I do know use these approaches including late model direct injection euros, I would be close to 100% sure this is the case. I actually find it amusing that people think the N54 is some super special engine that runs differently to other engines and that the the DME does things differently to aid a marketting cause when the evidence says otherwise.
What he said

shiv
Appreciate 0
      07-21-2009, 11:32 PM   #218
TheTwinz
Second Lieutenant
11
Rep
273
Posts

Drives: 300Z
Join Date: Feb 2009
Location: 911

iTrader: (0)

adrian = lurker? i thought lurker sold medical supplies or medical equipment?

good info though...
Appreciate 0
      07-21-2009, 11:37 PM   #219
jpsimon
Team Zissou
jpsimon's Avatar
United_States
3065
Rep
10,197
Posts

Drives: 2022 AWD M3 Comp - SMB
Join Date: Dec 2006
Location: CT

iTrader: (7)

I think Adrian is Shiv's down under CAN specialist? is that correct?
Appreciate 0
      07-21-2009, 11:45 PM   #220
OpenFlash
United_States
1737
Rep
17,960
Posts

Drives: A Lot
Join Date: Sep 2006
Location: SF Bay, CA

iTrader: (0)

Garage List
Quote:
Originally Posted by jpsimon View Post
I think Adrian is Shiv's down under CAN specialist? is that correct?
Yep. More than just a CAN specialist though, needless to say.

Shiv
Appreciate 0
Reply

Bookmarks


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off



All times are GMT -5. The time now is 11:13 AM.




e90post
Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.
1Addicts.com, BIMMERPOST.com, E90Post.com, F30Post.com, M3Post.com, ZPost.com, 5Post.com, 6Post.com, 7Post.com, XBimmers.com logo and trademark are properties of BIMMERPOST