Sounds like the alternator. I have heard of some issues with rebuilt bosch units in the last year. If not that it could also be the positive battery cable. E46 3 series have some issues with the battery cable rotting out over time. The cable builds up a lot of heat at a connection near the battery that causes the light to come on.
|