Host a TFTP Server and set DHCP Option 66?

Hi there, been using OpenWrt for years but never ventured out into the advanced stuff.

Recently I got a Cisco 7940 IP Phone, and the way it works is that when it boots up, it asks the DHCP server for Option 66 to find a TFTP server, and then it requests configuration files from it.

Instead of me having to specify my laptop as a TFTP server on the phone, how can I host a TFTP server on the OpenWrt router and make sure that it

config mac                                       
        option mac 'ac:a0:16:xx:xx:xx'
        option networkid 'cisco-sip'
        list dhcp_option '66,192.168.x.x'

…and run a tftpd[0] of your choice on 192.168.x.x, which might be your OpenWrt router itself[1].

[0] dnsmasq-full, atftpd, other alternatives not packaged on OpenWrt (e.g. tftpd-hpa)
[1] for a cp-7940 you might get away with ~1.5 MB, the JAVA based v9 firmwares in use for newer Cisco phones need considerably more space (~15 MB).

1 Like