{0x8001, 0x13},
        {0x8000, 0x14},         /* CS2102K */
        {0x8400, 0x15},         /* TAS5130K */
+       {0x4001, 0x16},         /* ADCM2700 */
 };
 
 static int vga_3wr_probe(struct gspca_dev *gspca_dev)
        retword = i2c_read(gspca_dev, 0x01);
        if (retword != 0) {
                PDEBUG(D_PROBE, "probe 3wr vga type 0a ? ret: %04x", retword);
-               return retword;                 /* 0x6200/0x6100?? */
+               return retword;
        }
        return -1;
 }
                                sd->chip_revision);
                        sd->sensor = SENSOR_TAS5130CK;
                        break;
+               case 0x16:
+                       PDEBUG(D_PROBE, "Find Sensor ADCM2700");
+                       sd->sensor = SENSOR_ADCM2700;
+                       break;
                case 0x29:
                        PDEBUG(D_PROBE, "Find Sensor GC0305");
                        sd->sensor = SENSOR_GC0305;
                        sd->sensor = SENSOR_PO2030;
                        sd->sharpness = 0;              /* from win traces */
                        break;
-               case 0x6100:
-               case 0x6200:
-                       PDEBUG(D_PROBE, "Find Sensor ADCM2700");
-                       sd->sensor = SENSOR_ADCM2700;
-                       send_unknown(gspca_dev->dev, sd->sensor);
-                       break;
                case 0x7620:
                        PDEBUG(D_PROBE, "Find Sensor OV7620");
                        sd->sensor = SENSOR_OV7620;
                        sd->sensor = SENSOR_OV7620;     /* same sensor (?) */
                        break;
                default:
-                       PDEBUG(D_ERR|D_PROBE, "Unknown sensor %02x", sensor);
+                       PDEBUG(D_ERR|D_PROBE, "Unknown sensor %04x", sensor);
                        return -EINVAL;
                }
        }