[SOLVED] TFTP error: "Only absolute filenames allowed"
Workaround
I’m not sure what was going wrong with what I was doing initially, but, thanks to @tapdattl, as suggested, I disabled the tftp server system service, and, instead, started it with the following command:
<span style="color:#323232;">sudo in.tftpd -L /srv/tftp --verbose --permissive -s
</span>
and it then flashed successfully.
Original Post
cross-posted from: sh.itjust.works/post/11735447
I’m trying to flash firmware to a router (Archer C7) using TFTP, but, when the router makes the request for the firmware file over TFTP, the TFTP server responds with the following error
<span style="color:#323232;">Error code: Access violation (2) </span><span style="color:#323232;">Error message: Only absolute filenames allowed </span>
This is the config for tftpd in
/etc/conf.d/tftpd
:<span style="color:#323232;">TFTP_OPTIONS="-s" </span><span style="color:#323232;">TFTP_DIRECTORY="/srv/tftp" </span><span style="color:#323232;">TFTP_USERNAME="tftp" </span><span style="color:#323232;">TFTP_ADDRESS="192.168.0.66:69" </span>
I have the firmware file in
/srv/tftp
, and both the firmware file, and/srv/tftp
havechmod 777
permissions.The TFTP server is running on Archlinux, and is installed as
tftp-hpa
from the arch repos.
If I test as a client, I can get it to download if I specify the full (absolute) path to the file /srv/tftp/filename
, so it seems that the config isn’t pointing the server to /srv/tftp
as the relative path… How would I go about fixing that?