Sad Samsung - Eeprom Backup/Restore utility for CLP-510 SSEBR is a small utility to Save/Restore the content of the EEPROM which is contained within the Samsung CLP-510 toner cartridge. (NOTE: Due to the free nature of SSEBR, I cannot provide technical support. Please do not contact me for help with the program. I have provided some troubleshooting tips below - If need further assistance, I am available to provide support, modifications, enhancements etc. on a contract services basis.) There are MANY reports of these printers refusing to print due to page count exceeded on the toner cartridge when in fact plenty of toner remains in the cartridge. The best way to reset your cartridge page count, is to use SSEBR to backup the content of the EEPROM when the toner cartridge is new or at least still has plenty of pages left on it. Later, when the printer starts complaining that your still 1/2 full cartridge is too empty to print - you can simply restore the EEPROM which will reset the page count to the value it was when you backed it up. NOTE: Since each cartridge has a unique type-ID stored within it, you *MUST* save a separate EEPROM file for each color cartridge. ie: You CANNOT restore the CYAN cartridge from the MAGENTA image and expect it to work: SSEBR also supports a /Zero option which will attempt to reset the page counts of a cartridge - this option is based on undocumented information about the content of the cartridge and *COULD* corrupt the EEPROM causing the printer to refuse to recognize the cartridge (It hasn't happened to me yet) - If you wish to use this option, be sure to BACKUP THE EEPROM CONTENT OF YOUR CARTRIDGES FIRST! Cartridge must be connected to the PC LPT port using the wiring information displayed by: SSEBR /W Note: SSEBR cannot be used under Windows NT/2000/XP - You must find a DOS or Win9x box - fortunately, SSEBR and the EEPROM data files are small enough that you can include them on a DOS bootable floppy. Example: C:\CLP510>SSEBR /B BLACK -- Creates BLACK.SSE with the EEPROM content -- -- After printer starts complaining that cartridge is low -- C:\CLP510>SSEBR /R BLACK -- Cartridge page count is now restored to the value at /B -- -- If your cartridges are out and you don't have "full" images -- -- first backup the EEPROM as described above, then try -- C:\CLP510>SSEBR /Z -- This will reset the page count to zero. -- NOTE: This option relies on undocumented information about the content -- of the cartridge EEPROM and is NOT guaranteed! It may corrupt the EEPROM -- in your cartridge. It is STRONGLY advised that you /Backup the cartridge -- before you proceed. NOTE1: If you reset your toner counts with SSEBR, the printer will have no way to tell when the toner really is getting low. You will need to keep a close eye on image quality. NOTE2: I haven't investigated the printer fully yet, and there may be EEPROM "locks" on the image belt, rollers and other "consumables" - If this is the case, it is likely that SSEBR can be used to backup and restore those devices as well. NOTE3: SSEBR supports a wide variety of I2C EEPROM devices, and can be used to backup and restore many other devices which rely on this technology. To do so, you must visually determine the type of '24C...' chip which is used in the device and specify this to SSEBR with the D= option. eg: SSEBR /B EEDATA D=24C16 (Use 'SSEBR /D' to display the I2C device types supported by SSEBR). You will also need to trace the pins from the 24Cxx device to the external connector. The chip will be 8 pins, and look something like: +----_----+ -+o +- -+ +- -+ +- Clock Ground -+ +- Data +---------+ You will have to trace these signals to the external connector and connect them as: Data = LPT pin 16 Clock = LPT pin 17 Ground = LPT pins 20-25 If the circuit has additional external connections it may require an external power source - this is beyond the scope of this document to explain. NOTE4: The /Z option will most likely corrupt any EEPROM which is not in a Samsung CLP-510 toner cartridge (and I don't even guarantee that it won't corrupt those). NOTE5: Due to the free nature of SSEBR, I cannot provide technical support. Please do not contact me for help with the program. I have provided some troubleshooting tips below - If need further assistance, I am available to provide support, modifications, enhancements etc. on a contract services basis. Troubleshooting Tips: --------------------- 1) SSEBR *MUST* run under pure DOS or a Win9x DOS box. It WILL NOT work under Windows NT, Windows 2000 or Windows XP - Not even in a "DOS BOX" of these systems - Not even if you tell Windows XP to be "Windows 98 compatible" - SSEBR needs to access the PC parallel port, and Windows NT/2000/XP simply do not allow this. I have no idea if it can be made to work under Linux DOSEMU, MAC "virtual PC" or other environments. 2) Double and triple check your LPT connections. Make sure the clock and data connections are correct - Make sure the LPT pin you use for ground is actually connected to ground (I've seen LPT ports which did not connect all of the ground pins). 3) The cartridge does not have it's own power supply - The EEPROM board is powered through the Clock/Data lines - Low-power LPT ports (often found on laptop computers) or other non-standard ports may not work. Try a different computer - preferably a generic clone. The mainboard LPT port is probably the best candidate. 4) SSEBT needs only a simple SPP serial port. EPP and ECP ports should work OK, but try the various options in your BIOS if you are having trouble. Also try a different address - there may be a conflict with another device in your system. 5) Sometimes the BIOS reports printer address which are not actually present, SSEBR chooses the first port reported by BIOS, which may NOT be your physical LPT port. Try: SSEBR P=2 <- Force 2nd port reported by BIOS SSEBR P=3 <- Force 3rd port reported by BIOS SSEBR P=3BC <- Force LPT1 hardware address SSEBR P=378 <- Force LPT2 hardware address SSEBR P=278 <- Force LPT3 hardware address 6) Timing is importing on the LPT port interface to the EEPROM. This can be changed with the S= (Slow) option of SSEBR - the default value of 20 works for most setups, however try S=10, S=50, S=100, S=500 7) Your LPT port must be working correctly, and MUST conform to traditional LPT port standards. Pin 16 -INIT must support bidirectional communication. Detailed test of the LPT port: ------------------------------ The following information should be used only by technically competant people only - You can damage your LPT port (and possibly your whole PC if you don't know what you are doing): I have included Parallel Port DEBUG utility (PPDEBUG.COM) which you can use to check out your parallel port - You will need a multimeter to test the port pins. Run PPDEBUG - You will be presented with a screen which shows: - LPT port physical connector/pin levels (hilited = 1) - LPT port logical input signals ** - LPT port logical output signals ** Note: The -STROBE (1), BUSY (11), -AutoFD (14) and -SLCTIN (17) signals are logically inverted from the phyical pin state by the LPT port hardware. - Use 'C' to toggle the -INIT (16) signal high and low. You should see -INIT under BOTH Input and Output sections toggling. With a multimeter connected to Pin 16 (and ground for return), you should see approximately 5v when -INIT is registering '1' on the display, and about .1v when -INIT is registering '0' on the display. - Use 'D' to toggle the -SLCTIN (17) signal high and low. You should see -SLCTIN under BOTH Input and Output sections toggling. With a multimeter connected to Pin 17 (and ground for return), you should see approximately 5v when -SLCTIN is registering '0' on the display, and about .1v when -SLCTIN is registering '1' on the display. If you do not see ANY changes on pin 16 or 17 when you are toggling -INIT and -SLCTIN, then you most likely have the wrong LPT port address. Please refer to section (5) above (NOTE: PPDEBUG supports the same P=1-3/address option as SSEBR). ** If you also have Windows running on this computer - you can use the Device manager "Resources" display to see the LPT port addresses that windows was able to find. If the pins are toggling, but the "high" voltages you see on the pins are much lower than 5v (like 3v), then you most-likely have a low-power LPT port - try a different PC. Now we can test your ports -INIT line for bidirectional capability: With -INIT set to '1' and -SLCTIN set to '0' (both signals will be HIGH on the physical port), switch your multimeter to milliamps, and connect it between pin 16 and Ground (pins 18-25). You should see NO MORE than 1-3 milliamps. If you see a much higher value than this, disconnect the meter immediately - your port does not support bidirectional data. If the current looks good, check the -INIT indicator on the Input display of PPDEBUG - it should read '0' when the meter is connected, and '1' when the meter is disconnected. The Output display indicator should always read '1'. Repeat the same test with the -SLCTIN (pin 17). The -SLCTIN indicator in the Input display should read '1' when the meter is connected, and '0' when the meter is disconnected - the Output display indicator should always read '1'. If all of the above tests perform as described, your LPT port hardware should be capable of working with SSEBR. If you are not getting 5v when reading the pin 16/17 HIGH signals, or you see currents of less than 1ma when testing the inputs - your LPT port may not have enough "pull-up" - SSEBR programs all 8 of the data lines HIGH - try adding 2.2k resistors between Pins 2 and 16, and pins 3 and 17.