End Point Manager Firmware Management: outdated FW version?

How does EPM determine the latest version of a manufacturer’s firmware to use? If I go Firmware Management and click on Grandstream it shows version 1.08 as being the latest. 1.08 includes FW version 1.0.4.16 for the GXP2130 and GXP2160. The latest official FW for these models is 1.0.4.17 which was released on 2/26/15. How do I get EPM to use the updated version?

EPM provides the latest versions that we have tested on hardware with, you can use the firmware management functions of EPM to load newer versions if you wish for your own testing or configuration needs. The instructions are in the wiki.

OK. The Wiki is a little vague (or I’m a little dim) but I finally made some sense of it. When I drag version 0.00 from “Available Firmwares” to “Firmware Slot 1” and click the submit button, all of the files in the ‘/tftpboot/grandstream/1’ directory are removed and one file named ‘version’ is created. So far so good.

Now I’m trying to upload the firmware .bin files to the ‘/grandstream/1’ directory. On my windows machine I’m using WinAgents TFTP Client (version 2.0b). I can successfully ‘get’ a file from the FreePBX box using:

c:\Temp\tftp>tftp -i -v 10.13.4.50 GET grandstream/1/version “c:/temp/tftp/version.txt”

Unfortunately, when I try to upload a file using the following command:

c:\Temp\tftp>tftp -i -v 10.13.4.50 PUT C:\Temp\tftp\gxp2130fw.bin /grandstream/1/gxp2130fw.bin

WinAgents TFTP Client version 2.0b Copyright © 2004-2011 by Tandem Systems, Ltd.
http://www.winagents.com - Software for network administrators

Transfering file C:\Temp\tftp\gxp2130fw.bin to server in octet mode…
Transferring data from 10.13.4.50…
Packet will be sent. len=75, opcode=2
Packet received. len=19, opcode=5
Error occurred during the file transfer (Error code = 1):
File not found

Here’s the result of the tail command on /var/log/messages (Note the I’m using the -v argument in my tftp config server_args)

[[email protected] 1]# tail /var/log/messages
Apr 10 10:12:26 BedfordPBX in.tftpd[21797]: WRQ from 10.13.3.11 filename grandstream/1/gxp2130fw.bin
Apr 10 10:13:33 BedfordPBX in.tftpd[21839]: WRQ from 10.13.3.11 filename grandstream/1/gxp2130fw.bin
Apr 10 10:13:53 BedfordPBX in.tftpd[21846]: WRQ from 10.13.3.11 filename /grandstream/1/version
Apr 10 10:14:08 BedfordPBX in.tftpd[21884]: WRQ from 10.13.3.11 filename \grandstream\1\gxp2130fw.bin
Apr 10 10:14:23 BedfordPBX in.tftpd[21888]: WRQ from 10.13.3.11 filename grandstream/1/gxp2130fw.bin
Apr 10 10:14:57 BedfordPBX in.tftpd[21889]: RRQ from 10.13.3.11 filename grandstream/1/version
Apr 10 10:17:07 BedfordPBX in.tftpd[22017]: WRQ from 10.13.3.11 filename grandstream/1/gxp2130fw.bin
Apr 10 10:17:17 BedfordPBX in.tftpd[22021]: WRQ from 10.13.3.11 filename /grandstream/1/gxp2130fw.bin
Apr 10 10:17:25 BedfordPBX in.tftpd[22022]: WRQ from 10.13.3.11 filename grandstream\1\gxp2130fw.bin
Apr 10 10:17:31 BedfordPBX in.tftpd[22023]: WRQ from 10.13.3.11 filename \grandstream\1\gxp2130fw.bin
Apr 10 10:17:38 BedfordPBX in.tftpd[22024]: WRQ from 10.13.3.11 filename /grandstream/1/version

I’ve tried a number of different files including the version file that I successfully did a ‘get’ on.

For the .bin files my tftp client returns the “File not found” message listed above.

for the ‘version’ file, my tftp client returns this:

c:\Temp\tftp>tftp -i -v 10.13.4.50 PUT C:\Temp\tftp\version.txt /grandstream/1/version

WinAgents TFTP Client version 2.0b Copyright © 2004-2011 by Tandem Systems, Ltd.
http://www.winagents.com - Software for network administrators

Transfering file C:\Temp\tftp\version.txt to server in octet mode…
Transferring data from 10.13.4.50…
Packet will be sent. len=64, opcode=2
Packet received. len=22, opcode=5
Error occurred during the file transfer (Error code = 0):
Permission denied

I’m guessing that this is a permissions issue on the tftpboot directory and to write I’d need group write permissions?

[[email protected] /]# ls -la tftpboot/grandstream
total 16
drwxr-xr-x 4 asterisk asterisk 4096 Apr 10 09:49 .
drwxr-xr-x. 6 asterisk asterisk 4096 Apr 6 11:55 …
drwxr-xr-x 2 asterisk asterisk 4096 Apr 10 09:49 1
drwxr-xr-x 2 asterisk asterisk 4096 Mar 20 15:52 2

I’m guessing that setting permissions on the ‘/grandstream/1/’ directory to drwxrwxrwx would probably fix the problem but it seems like a bad idea from a security standpoint. What’s the best way to deal with this?

Thanks – Steve

To perform a WRQ (write) make sure you have -c (create) option in your server arguments . For security, only allow port UDP/69 through your firewall from trusted networks.

Thanks dicko. Unfortunately, still no joy. I added -c to server_args:

[[email protected] ~]# cat /etc/xinetd.d/tftp
’# default: off
’# description: The tftp server serves files using the trivial file transfer
'# protocol. The tftp protocol is often used to boot diskless
'# workstations, download configuration files to network-aware printers,
'# and to start the installation process for some operating systems.
service tftp
{
disable = no
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -vv -c -s /tftpboot
per_source = 11
cps = 100 2
flags = IPv4
}
[[email protected] ~]# service xinetd restart
Stopping xinetd: [ OK ]
Starting xinetd: [ OK ]
[[email protected] ~]#

But uploading a file still results in a permission denied error:

c:\Temp\tftp>tftp -i -v 10.13.4.10 PUT C:\Temp\tftp\version.txt /grandstream/1/version

WinAgents TFTP Client version 2.0b Copyright © 2004-2011 by Tandem Systems, Ltd.
http://www.winagents.com - Software for network administrators

Transfering file C:\Temp\tftp\version.txt to server in octet mode…
Transferring data from 10.13.4.10…
Packet will be sent. len=64, opcode=2
Packet received. len=22, opcode=5
Error occurred during the file transfer (Error code = 0):
Permission denied

Did you restart xinetd?

Yes I did: ‘service xinetd restart’

Add a few more vs -vvv

Added a third v and restarted.

[[email protected] ~]# tail -f /var/log/messages
Apr 10 20:16:24 BedfordPBX in.tftpd[10243]: sending NAK (1, File not found) to 10.13.1.22
Apr 10 20:17:08 BedfordPBX xinetd[8331]: Exiting…
Apr 10 20:17:08 BedfordPBX xinetd[10295]: xinetd Version 2.3.14 started with libwrap loadavg labeled-networking options compiled in.
Apr 10 20:17:08 BedfordPBX xinetd[10295]: Started working: 1 available service
Apr 10 20:17:35 BedfordPBX xinetd[10295]: START: tftp pid=10301 from=10.13.10.10
Apr 10 20:17:35 BedfordPBX in.tftpd[10302]: WRQ from 10.13.10.10 filename /grandstream/1/version
Apr 10 20:17:35 BedfordPBX in.tftpd[10302]: sending NAK (0, Permission denied) to 10.13.10.10
Apr 10 20:18:21 BedfordPBX xinetd[10295]: Exiting…
Apr 10 20:18:21 BedfordPBX xinetd[10358]: xinetd Version 2.3.14 started with libwrap loadavg labeled-networking options compiled in.
Apr 10 20:18:21 BedfordPBX xinetd[10358]: Started working: 1 available service
Apr 10 20:18:54 BedfordPBX xinetd[10358]: START: tftp pid=10361 from=10.13.10.10
Apr 10 20:18:54 BedfordPBX in.tftpd[10362]: WRQ from 10.13.10.10 filename /grandstream/1/version
Apr 10 20:18:54 BedfordPBX in.tftpd[10362]: sending NAK (0, Permission denied) to 10.13.10.10
^C

Kinda out of ideas, you could change the user in your xinetd.d/tftp file to asterisk perhaps or as you suggest do the normal old lazy chown -R 777 /tftpboot trick but as suggested previously have your firewall only allow trusted networks on UDP/69 that’s all about the t in tftpd :wink:

I don’t use commercial modules, so I guess I will bow out now, good luck. :slight_smile:

No problem – thanks for the help!

How often do firmwares in EPM get updated? I also have been deploying Grandstream endpoints and am looking forward to newer firmwares being supported (I’m also looking forward to phone apps on Grandstreams). I know I can do custom firmware using the 0.00 option but I prefer tested/supported firmware, it’s one of the reasons I use the commercial endpoint manager.

I’m also interested to know how often I can expect for updates. Using a combination of Aastra and Grandstream, but of what I have, only the Grandstreams are actively supported anymore.

And Digium, the latest on my FreePBX system is 2-2-1-7 from May 2018 while the newest is 2.7.2.0 from Jan 2019.

https://downloads.digium.com/pub/telephony/res_digium_phone/firmware/

I know maintenance can be a necessary drag.