I'm trying to perform the flash using Ubuntu 20 and running tftpd-hpa as my tftp server. I have also installed atftp to use as client. I have a serial USB adapter and can successfully run UBOOT as shown below.
U-Boot 2012.07-ga8496ca-dirty [local,local] (Mar 10 2018 - 09:10:50)
DRAM: 242 MiB
machid : 0x8010001
COM: Product: meraki_Stinkbug
NAND: ONFI device found
128 MiB
Using default environment
In: serial
Out: serial
Err: serial
machid: 8010001
COM: Net:
COM: MAC0 addr:0:3:7f:ba:db:ad
PHY ID1: 0x4d
PHY ID2: 0xd072
ipq40xx_ess_sw_init done
eth0
Hit any key to stop autoboot: 11
CO10
CO 9
CO 8
CO 7
CO 6
CO 5
CO 4
CO 3
CO 2
CO 1
CO 0
Hello from MR33 U-BOOT
Creating 1 MTD partitions on "nand0":
0x000000c00000-0x000007c00000 : "mtd=0"
UBI: attaching m
My problem is once I get to this point I try to run the following command as per the instruction and get stuck:
Once you see the “Hello from MR33 U-Boot” message, the MR33 has successfully booted and will be listening on IPv4 192.168.1.1 for incoming TFTP traffic. So please follow with the next step and start the tftp transfer.
Upload the openwrt-ipq40xx-meraki_mr33-initramfs-fit-uImage.itb image to the MR33
# echo -e "binary\nput openwrt-ipq40xx-meraki_mr33-initramfs-fit-uImage.itb" | tftp 192.168.1.1 tftp> tftp> Sent 6134136 bytes in 5.2 seconds
I have tried to scour the internet for help including this forum and have not been able to find a resolution. I seen someone had a somewhat similar tftp issue and his problem was resolved by disabling the firewall on linux. I have tried that and I still can't get the command to run as it does not recognize
tftp> binary
tftp: bad command name.
tftp> put openwrt-ipq40xx-meraki_mr33-initramfs-fit-uImage.itb
tftp: can't open openwrt-ipq40xx-meraki_mr33-initramfs-fit-uImage.itb for reading.
tftp>
Edit: I have already moved the file above to /srv/tftp and have tested the tftp server with my mac by downloading a test.txt file from it without a problem.
Well in this case the file openwrt-ipq40xx-meraki_mr33-initramfs-fit-uImage.itb was already in /srv/tftp. The output posted above came after the file was moved. I just used mv to move it from my downloads folder to the /srv/tftp folder before I ran the command
tftp> binary
tftp: bad command name.
tftp> put openwrt-ipq40xx-meraki_mr33-initramfs-fit-uImage.itb
tftp: can't open openwrt-ipq40xx-meraki_mr33-initramfs-fit-uImage.itb for reading.
tftp>
Just to clarify, I did not log into tftp and run
tftp> binary
tftp: bad command name.
tftp> put openwrt-ipq40xx-meraki_mr33-initramfs-fit-uImage.itb
tftp: can't open openwrt-ipq40xx-meraki_mr33-initramfs-fit-uImage.itb for reading.
tftp>
myself. That was literally the result of me entering
Since I know tftp is working as intended, Is there a command I could run to push openwrt to the mr33 from the tftp CLI? I'm not all that familiar with tftp commands..
You are not using any TFTP server here, you are using the command line version. It does not matter how you have configured the daemon, or what files you put on the server's folders. Only the parameters that you pass to the "aftp" program matter now.
You seem to be executing this command from the root directory, but the files are on your downloads folder and in "/srv/tftp", so "aftp" cannot find the local file, because it is somewhere else. You should launch that command from your downloads folder or in "/srv/tftp", so the command line version can find the file.
Also, notice how "aftp" is refusing the "binary" command. Either it does binary transfers by default, or it could corrupt the file during the transfer. I think you need to pass the "--option "mode octet"" parameter to be sure.
If time isn't critical you can start the tftp client then issue a put command at the TFTP prompt. Specify the path to the file if it isn't in the present directory. Also of course the file name has to match if you downloaded a different version.
I'm not sure if atftp interprets the "binary" option or if it is default now. Some flavor of tftp likely comes with Ubuntu. Also Windows 10 has a built in CLI TFTP client which will work, though it has to be activated with Windows Features in the Control Panel.
I took a little break from this project and am back at it tonight.
I deleted atftp and installed the tftp package which allowed me to run the binary command when in tftp without issue. What I have done is start tftp inside of the /srv/tftp directory which is where the openwrt-ipq40xx-meraki_mr33-initramfs-fit-uImage.itb file is located.
I use tftp 192.168.1.1 and once in tftp I run the binary command to change mode to octet and then I run put openwrt-ipq40xx-meraki_mr33-initramfs-fit-uImage.itb
After doing that, I no longer get errors, it just skips to tftp>
dev@linux:/srv/tftp$ tftp 192.168.1.1
tftp> binary
tftp> status
Connected to 192.168.1.1.
Mode: octet Verbose: on Tracing: off
Rexmt-interval: 5 seconds, Max-timeout: 25 seconds
tftp> put openwrt-ipq40xx-meraki_mr33-initramfs-fit-uImage.itb
putting openwrt-ipq40xx-meraki_mr33-initramfs-fit-uImage.itb to 192.168.1.1:openwrt-ipq40xx-meraki_mr33-initramfs-fit-uImage.itb [octet]
tftp>
I made sure my computer was set to static 192.168.1.2 and set the gateway to 192.168.1.1
I keep my serial adapter connected the whole time as well as a patch cable going from my computer directly into the MR33
When I try to follow the next step which is to ssh into the MR33 using ssh root@192.168.1.1 I get
ssh: connect to host 192.168.1.1 port 22: Connection timed out
I can ping 192.168.1.1 without any issue.
When I connect to the MR33 via the serial adpater using putty I can see that its listening to tftp 192.168.1.1 but as soon as I connect via serial, I interrupt the process and have to start over.
Any additional assistance available for this total newb?