Provisioning via TFTP

I have installed “atftpd” on my FreePBX and now I looking to do some provisioning on my Yealink phones. I have created the following files and placed them in a directory called /srv/tftp:


Nothing seem to happen when I reboot my phone. Is there a way to see what tftp activity is happening on the server or what the phone is doing?

Oh, on my router I set option 66. I’m testing on a Yealink SIP-T28P.

DHCP Option 66 works with Yealink phones - do you have a VLAN set up? Give a little more info about your network.

Did you turn on the TFTP service? By default, it is off.

Service seems to be active.

This is my current setup:

  • Edgerouter lite as my router/firewall
  • Edgeswitch 24p

It’s set up in the following way, so basically yes there is a VLAN but only going from switch to router:

My modem is plugged directly into my switch which then links to my router. It’s a difficult setup, but otherwise I needed to have 2 routers in my network, according to my ISP atleast :slight_smile:

FreePBX is connected to the switch of course. I guess the internal network doesn’t use the VLAN. From the router there is only a VLAN for guest WiFi (through the switch).

Just tested the TFTP server and that seems to be working fine, at least I’m able to download the file from the server using a TFTP client for Windows. Do I need to set something on the phone?

Make sure you include a working Option 66 in your DHCP settings for the phone.

I have set option 66 using this tutorial: Do I need to do more? And is there a way of checking if it’s set correctly?

TFTP reports all transactions (if you have Verbose turned on) in /var/log/messages. Use 'tail -F /var/log/messages" to watch the TFTP interaction from the phone to the server.

I ran into a similar issue and found out that the phone MAC address used for the name of the file needed all letters to be in CAP. Also, if you put those files into TFTPboot the built in TFTP server will offer them just like it will from the Sangoma EPM. Just saying

1 Like

@edlentz no difference, but I did only just found the following in a log file:

Feb 07 14:36:48 raspbx atftpd[7466.1993097216]: Advanced Trivial FTP server started (0.7)
Feb 07 14:36:48 raspbx atftpd[7467.1993097216]: atftpd: can’t bind port :69/udp

This would explain a lot. Maybe I should try another TFTP server? Anyone got tips? When changing USE_INETD=false to USE_INETD=true the error disappeared. When trying TFTP via Windows, it seems to work, file is downloaded. Phone however still does nothing.

Are you sure you have only ONE TFTP service running? You should not have to install one manually, Freepbx has one installed and running by default. Put your files in /tftpboot. Set Option 66 in your router to just the IP of the box, or put it into the provisioning server in the phone gui. “phone still does nothing” to me indicates something is wrong with the file, possibly the format.