Comment 290 for bug 606238

Revision history for this message
Florin9doi (florin9doi) wrote : Re: synaptic touchpad not recognized on dell latitude e6510 and others

dturvene alps_hw_init_v6_minimal works fine if alps_get_model is run like in previous versions. For the new version, try this:

static int alps_hw_init_v6(struct psmouse *psmouse)
{
 struct ps2dev *ps2dev = &psmouse->ps2dev;
 unsigned char param[4];

 // previously sent by alps_get_model()
 // useless if alps_get_model() is run

 param[0] = 0;
 ps2_command(ps2dev, &param[0], PSMOUSE_CMD_SETRES);

 /* E7 report */
 ps2_command(ps2dev, NULL, PSMOUSE_CMD_SETSCALE21);
 ps2_command(ps2dev, NULL, PSMOUSE_CMD_SETSCALE21);
 ps2_command(ps2dev, NULL, PSMOUSE_CMD_SETSCALE21);
 ps2_command(ps2dev, NULL, PSMOUSE_CMD_GETINFO);

 /* Enter command mode */
 alps_enter_command_mode(psmouse, param);

 /* exit command mode */
 ps2_command(ps2dev, NULL, PSMOUSE_CMD_SETSTREAM);

 // end of alps_get_model duplicate

 // alps_hw_init_v6_minimal()
 ps2_command(ps2dev, NULL, PSMOUSE_CMD_SETSTREAM);

 param[0] = 0x64;
 ps2_command(ps2dev, &param[0], PSMOUSE_CMD_SETRATE);
 param[0] = 0x28;
 ps2_command(ps2dev, &param[0], PSMOUSE_CMD_SETRATE);

 return 0;
}