Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for more fritz devices and tftp #29

Open
wants to merge 31 commits into
base: master
Choose a base branch
from

Conversation

maurerle
Copy link
Contributor

@maurerle maurerle commented Jul 17, 2023

this feature adds support for more fritz devices:

  • FR1200
  • FB7412
  • FB7430
  • FB7362sl
  • FB7520/7530
  • FR3000
  • FR1750e

this includes copying and writing the sysupgrade image if existing and doing all TFTP related extras for 7520/7530/1200.

And also executes the sysupgrade after booting initramfs if --sysupgrade $IMAGENAME is given.

It is currently completely tested for all added devices and additionally:

  • FB7360SL
  • FB7362sl
  • FB4040
  • FB4020

maurerle and others added 13 commits April 12, 2023 01:54
Use pathlib for path operations
Minor fixes in logic
Fix ssh options for OpenSSH 9
Disregards any operations not involved in serving a file.
User must be allowed to add/delete ip configuration (sudoers file or
execute as sudo/root)
better error handling
remove ip on error
basic netsh support
* FR 1200 needs uboot too
* flash sysupgrade for other routers too
@maurerle maurerle force-pushed the add_tftp_device branch 3 times, most recently from bea55de to 4b1565c Compare July 30, 2023 19:40
    * add support for FB 3390
    * improve transfer visualization through tftp
    * isort, black, typing, remove unused imports
@maurerle
Copy link
Contributor Author

@herbetom could you please look into this and give feedback?

I think it would be cool to have an easier flashing method for the 7520 in the upstream fritzflash project :)

@herbetom
Copy link
Member

@maurerle I've merged some "docs stuff" in the past, but thats about it. Most of the code is from @blocktrron.

I appreciate you trying to add new features. Hoewer, tbh i'm not sure how i should even start to review this PR. Multiple things are being adjusted / features added, but the docs ( /docs - fritz-tools.readthedocs.io) have not been adjusted for the most part and the commits don't seem to have been squashed into sensible pieces.

(I haven't looked to deeply, but i'm not a fan of adding+deleting an ip address where it's unclear if fritzflash is even responsible for configuring it in the first place.)

idk, maybe @blocktrron has some advice

@grische
Copy link

grische commented Jul 30, 2024

@maurerle I was not able to get this to work with the FB7520 on a Windows host. It was never able to complete the auto-discovery on LAN1 (there was never a link), LAN2, LAN3 but I think it did work once on LAN4.

When I forced the autodiscovery by manually starting tftp and logging into the device (that effectively halts the boot), then I got the following error:

Once you're ready to flash, press enter, disconnect power from your AVM device and reconnect the power-supply.

Trying to autodiscover! Abort via Ctrl-c.
FritzBox found at 192.168.178.1

Autodiscovery succesful!
-> Device detected at 192.168.178.1.
Providing initramfs and sysupgrade is required for this device
Element not found.

The launch parameters were:

python3 fritzflash.py --image $env:USERPROFILE\Downloads\openwrt-23.05.4-ipq40xx-generic-avm_fritzbox-7530-initramfs-uImage.itb --sysupgrade $env:USERPROFILE\Downloads\avm-fritz-box-7520-sysupgrade.bin

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants