<div dir="ltr">They backed down from that, and Microsoft has reverted the drivers: <a href="http://hackaday.com/2014/10/24/ftdi-screws-up-backs-down/">http://hackaday.com/2014/10/24/ftdi-screws-up-backs-down/</a><div><br></div><div>They're working on putting in a driver that won't brick it, but it will just not work on Windows.</div><div class="gmail_extra"><br clear="all"><div><div dir="ltr"><span></span>Tyler Crumpton<span><font color="#888888"><br><a href="mailto:tyler.crumpton@gmail.com" target="_blank">tyler.crumpton@gmail.com</a><br></font></span></div></div>
<br><div class="gmail_quote">On Fri, Oct 24, 2014 at 12:59 PM, Arthur <span dir="ltr"><<a href="mailto:Arthur@cd-net.net" target="_blank">Arthur@cd-net.net</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><a href="https://www.techdirt.com/articles/20141023/15502828928/microsoft-windows-update-completely-kill-devices-that-might-possibly-be-used-piracy.shtml" target="_blank">https://www.techdirt.com/articles/20141023/15502828928/microsoft-windows-update-completely-kill-devices-that-might-possibly-be-used-piracy.shtml</a><div><br></div><div>It looks like FTDI is deliberately bricking chips!</div><div><br></div><div>You can fix it, but you need an FTDI flash program, and need to know the original chip PID.</div><div><br></div><div>Quote from an AC that seems to know what's going on:</div><div><br></div><div><span style="color:rgb(51,51,51);font-family:'Trebuchet MS',Arial,Helvetica,sans-serif;font-size:12px;line-height:17.2368011474609px">There's no doubt they did it on purpose. Someone reverse-engineered the bricking routine from the driver. It</span><em style="color:rgb(51,51,51);font-family:'Trebuchet MS',Arial,Helvetica,sans-serif;font-size:12px;line-height:17.2368011474609px">unconditionally</em><span style="color:rgb(51,51,51);font-family:'Trebuchet MS',Arial,Helvetica,sans-serif;font-size:12px;line-height:17.2368011474609px"> writes 0 to the PID and a matching value to the checksum, but does so in a specific way that fails to write on genuine parts*.</span><br style="color:rgb(51,51,51);font-family:'Trebuchet MS',Arial,Helvetica,sans-serif;font-size:12px;line-height:17.2368011474609px"><br style="color:rgb(51,51,51);font-family:'Trebuchet MS',Arial,Helvetica,sans-serif;font-size:12px;line-height:17.2368011474609px"><span style="color:rgb(51,51,51);font-family:'Trebuchet MS',Arial,Helvetica,sans-serif;font-size:12px;line-height:17.2368011474609px">There's no legitimate purpose for the bricking routine. It's a no-operation on genuine parts. It's not "something useful the driver does which happens to do the wrong thing on non-genuine parts". The only possible explanation for the existence of that routine is to zero the PID on counterfeit or compatible parts**.</span><br style="color:rgb(51,51,51);font-family:'Trebuchet MS',Arial,Helvetica,sans-serif;font-size:12px;line-height:17.2368011474609px"><br style="color:rgb(51,51,51);font-family:'Trebuchet MS',Arial,Helvetica,sans-serif;font-size:12px;line-height:17.2368011474609px"><span style="color:rgb(51,51,51);font-family:'Trebuchet MS',Arial,Helvetica,sans-serif;font-size:12px;line-height:17.2368011474609px">* From what I could understand, the genuine parts can only write to the EEPROM in 32-bit units, sent as a pair of 16-bit units. The bricking code sent only one of the 16-bit units, so the write never happened. The compatible parts write each 16-bit unit as it's received, so the write happened.</span><br style="color:rgb(51,51,51);font-family:'Trebuchet MS',Arial,Helvetica,sans-serif;font-size:12px;line-height:17.2368011474609px"><br style="color:rgb(51,51,51);font-family:'Trebuchet MS',Arial,Helvetica,sans-serif;font-size:12px;line-height:17.2368011474609px"><span style="color:rgb(51,51,51);font-family:'Trebuchet MS',Arial,Helvetica,sans-serif;font-size:12px;line-height:17.2368011474609px">** My guess as to why they only erased the PID, and not the VID: due to word alignment, if they erased the VID it would happen even on genuine parts. Luckly, this makes it easier to recover: if the VID is FTDI and the PID is zero, it's a part which used to have a PID of 6001 but was bricked. The Linux driver has been patched to recognize a bricked part as a valid FTDI part.</span><br></div><div><br></div><div>Sincerely,<br>Arthur Moore<br><a href="tel:%28256%29%20277-1001" value="+12562771001" target="_blank">(256) 277-1001</a><br>
</div></div>
<br>_______________________________________________<br>
General mailing list<br>
<a href="mailto:General@lists.makerslocal.org">General@lists.makerslocal.org</a><br>
<a href="http://lists.makerslocal.org/mailman/listinfo/general" target="_blank">http://lists.makerslocal.org/mailman/listinfo/general</a><br></blockquote></div><br></div></div>