M17x inverter brightness fix

After I killed my original motherboard modifying stuff in my 6970m quest, the brightness of my LCD was stuck at low with both the new R1 and R2 motherboards. The function keys couldn’t adjust brightness and neither could windows. Here’s how I fixed it. This is probably only valid for a CCFL backlit display.

The inverter that drives the fluorescent lamps in my display is based on a MAX8759. This chip has an SMBus interface as well as an ambient light sensor interface and a PWM input. The motherboard uses the SMBus interface to control the inverter. You can directly write values to a brightness register, from 0x00 to 0xFF for minimum to maximum brightness. The function keys send incrementally smaller or larger values to the controller. I pulled out my logic analyzer, mbed, and realterm to watch the bus communication and communicate with the inverter controller.

The communication from the EC to the inverter controller is correct, and you can read the brightness register and see the values change based on the function keys. However the brightness continues to stay low. You can also read the fault register, but no faults were present in my case.

What I figured out was the controller by default uses a mode called “SMBus with DPST”, which takes the SMBus brightness value and multiplies it by the PWM duty cycle. This apparently allows another interface to use the PWM input and dim the display without needing to access the bus. The problem was the PWM duty cycle from the EC was 0%, so the controller kept the brightness at 0 regardless of the SMBus setting.

I first tried setting the controller mode to just SMBus by writing to the control register. This worked, and the display immediately brightened up and followed the function key inputs. However the POR condition of the register is to use DPST, and the EC doesn’t write the value to the control register, so it won’t persist through a restart. What I did to fix it was pull the PWM input line to VCC, which is equivalent to a 100% duty cycle. This lets the brightness track the SMBus value at all times.

To do this you can solder a small wire to a resistor next to the chip that is connected to VCC, and solder the other end to the PWMI signal. I found a trace on the backside that is easy to solder to. Remember to cut the trace on the motherboard side of your jumper wire, since you are putting VCC on a line that the EC is driving low. The EC is pretty sensitive so you would permanently damage the EC PWM line. I don’t expect to ever undo this little fix, but if I do I want the PWM line operational.

Tags: , ,

Thursday, October 4th, 2012 Electronics

1 Comment to M17x inverter brightness fix

  • julio says:

    Estimado buenos días estuve leyendo la solución que le diste a este inverter , pero me quedo la duda , cuando dices puentear un cable de VCC a PWMI, en que parte aíslas o que pad cortas??.

  • Leave a Reply