I just wanted to post this so that it was out there and Googleable. Hopefully it will save other people a bit of time. If you have a Cisco phone (I was testing with a 7970, though presumably it would affect 7960 and others as well) that is looping trying to fetch the CTL tlv file - it may be because you are using Debians 'tftpd' (should be netkit-tftpd...*cough*hey, Debian developers*cough*) package, which is apparently not RFC 783 (tftp) compliant with "file not found" responses. The whopping 18 page RFC states that Error Code should be 0x00,0x01 for "file not found" errors, but netkit-tftpd returns 0x00,0x00 which is "Not defined" - causing the phone to ignore it and request the file again a few seconds later. Solution: Switch to any other tftpd. The moment I switched to tftpd-hpa or atftpd, the phone stopped looping, picked up the SEP<mac>.cnf.xml file, and immediately registered to Asterisk. Hopefully in the future Debian will rename, remove, or fix this package so it is no longer the default tftpd.
On 15:02, Fri 01 Aug 08, Jason Parker wrote:> I just wanted to post this so that it was out there and Googleable. Hopefully > it will save other people a bit of time. > > If you have a Cisco phone (I was testing with a 7970, though presumably it would > affect 7960 and others as well) that is looping trying to fetch the CTL tlv file > - it may be because you are using Debians 'tftpd' (should be > netkit-tftpd...*cough*hey, Debian developers*cough*) package, which is > apparently not RFC 783 (tftp) compliant with "file not found" responses. The > whopping 18 page RFC states that Error Code should be 0x00,0x01 for "file not > found" errors, but netkit-tftpd returns 0x00,0x00 which is "Not defined" - > causing the phone to ignore it and request the file again a few seconds later. > > Solution: Switch to any other tftpd. The moment I switched to tftpd-hpa or > atftpd, the phone stopped looping, picked up the SEP<mac>.cnf.xml file, and > immediately registered to Asterisk. > > Hopefully in the future Debian will rename, remove, or fix this package so it is > no longer the default tftpd.Thanks for the write-up. I tried with the latest 7960 firmware, and it did work with the default debian tftpd (had to install a new VM) For googleable stuff: The default tftpd on OpenBSD works fine ;) -- Michiel van Baak michiel at vanbaak.eu http://michiel.vanbaak.eu GnuPG key: http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x71C946BD "Why is it drug addicts and computer aficionados are both called users?"
Jason Parker wrote:> I just wanted to post this so that it was out there and Googleable. Hopefully > it will save other people a bit of time. > > If you have a Cisco phone (I was testing with a 7970, though presumably it would > affect 7960 and others as well) that is looping trying to fetch the CTL tlv file > - it may be because you are using Debians 'tftpd' (should be > netkit-tftpd...*cough*hey, Debian developers*cough*) package, which is > apparently not RFC 783 (tftp) compliant with "file not found" responses. The > whopping 18 page RFC states that Error Code should be 0x00,0x01 for "file not > found" errors, but netkit-tftpd returns 0x00,0x00 which is "Not defined" - > causing the phone to ignore it and request the file again a few seconds later. > > Solution: Switch to any other tftpd. The moment I switched to tftpd-hpa or > atftpd, the phone stopped looping, picked up the SEP<mac>.cnf.xml file, and > immediately registered to Asterisk. > > Hopefully in the future Debian will rename, remove, or fix this package so it is > no longer the default tftpd. >Responding to myself... When I initially sent this, I had made several false assumptions. The biggest of which, was that the 'tftpd' package in Debian was no longer maintained (upstream hadn't made a release in 8 years, and Debian hadn't made a release in 3 years - I think it was a fairly reasonable one). Well, the maintainer of this package, Alberto, emailed me to let me know that somebody pointed him to this post, and that less than 24 hours later, he had fixed this bug (I've confirmed this) and made a new release - 0.17-16 - which is currently in Sid, and will hopefully be put into Lenny. This can be downloaded from http://packages.debian.org/search?keywords=tftpd Also, as Alberto correctly pointed out - I violated one of the most important rules of Open Source Software. If I may quote him: "You had perfectly traced the problem, you perfectly described it, god! you even gave a reference to the RFC. You had the perfect bug report, but it was never going to make it to me.... arrrggg :) Such a great loss!!" I failed to complete one critical step - reporting a bug. It ended up working out, but only because somebody else took the time to report the bug.