bře 19

Disclaimer

Following informations, software, hardware and procedures are not official and can damage your equipment or cause injury. Be aware of this as I'm not responsible of how you will use following material. Feel free to apply these steps, but I'm not taking any responsibility.

Problem description

Standard and very often problems on older Canon USM lenses are bad focus, focus hunting which ends with total inability of auto focus to work. Many discussions advise you to clean contacts, clean focal length brush, and so on. Some of these procedures can help you in specific situations but if your lens is suffering real focus hunting problem than source of troubles will be on different place. Focus hunting means that your lens is just overlooking focus point and in some range (can be full range or only partial range of focus) is still focusing from near end to far end and vice versa until stops on some random place. In another words AF is useless.

úno 13

Cause of problem

Because some of lens manufacturers are using communication protocol for Canon EOS cameras which was reverse engineered instead of bought* (which is not bad, because without this expense they can offer cheaper products) they are facing problem with communication protocol changes in newer cameras. In fact it is not change but in older types some protocol commands was not used and marked as reserved of for future use... To be specific, change which made old lenses unusable was in command 0x12 which was changed to 0x13 in newer cameras. As result you will get ERROR 01 or maybe even ERROR 99 (pay attention for ERROR 99 because it is general error which covers "all problems on the world" and there may have nothing to lens, during my tests I observed only ERROR 01 when shooting or when DOF button pressed as only these situations adjust aperture in lens) when you will attach old Sigma lens to you actual Digital EOS camera.

*According to this document Canon doesn't state if protocol specifications was ever released to any third party company. So Canon may be only one who knows complete protocol specifications. Most important information from this document is "buy original Canon lens or ask manufacturer for fix" which is not problem until you have too old lens for free of charge modification by manufacturer. So out goal is still the same, modify lens to make it working as cheap as possible. Thanks to Samppa Tolvanen for this information.

Problem solution

Aside lens change or fixed aperture use options we have quite elegant possibility to add controller which will change this command when it is transmitted to lens so lens can understand it. There is already few implementations for this modification. One which I found on Martin Melchior web page was inspiration for me to do my own implementation. Reason for wheel reinvention was on beginning just desire to try it too. Later I modified code for newer MCU and added some power save functions.

Before you will apply this modification please go through this simply troubleshooting to check if modification could help you.