From 904a81b50e10a769e5a9328c174d666830872b31 Mon Sep 17 00:00:00 2001 From: "Joseph C. Lehner" Date: Mon, 8 Feb 2016 16:18:21 +0100 Subject: [PATCH] nmrp-flash -> nmrpflash --- Makefile | 17 ++++++++--------- README.md | 14 +++++++------- binaries/linux/nmrp-flash | Bin 27288 -> 0 bytes binaries/osx/nmrp-flash | Bin 60740 -> 0 bytes main.c | 22 +++++++++++----------- nmrp-flash.dev | 6 +++--- nmrp.c | 8 ++++---- nmrpd.h | 10 +++++----- tftp.c | 8 ++++---- 9 files changed, 42 insertions(+), 43 deletions(-) delete mode 100755 binaries/linux/nmrp-flash delete mode 100755 binaries/osx/nmrp-flash diff --git a/Makefile b/Makefile index 51114d3..cb2be32 100644 --- a/Makefile +++ b/Makefile @@ -5,8 +5,8 @@ LIBS = -lpcap .PHONY: clean install release release/osx release/linux -nmrp-flash: nmrp.o tftp.o ethsock.o main.o - $(CC) $(CFLAGS) -o nmrp-flash nmrp.o tftp.o ethsock.o main.o $(LIBS) +nmrpflash: nmrp.o tftp.o ethsock.o main.o + $(CC) $(CFLAGS) -o nmrpflash nmrp.o tftp.o ethsock.o main.o $(LIBS) nmrp.o: nmrp.c nmrpd.h $(CC) $(CFLAGS) -c -o nmrp.o nmrp.c @@ -21,17 +21,16 @@ main.o: main.c nmrpd.h $(CC) $(CFLAGS) -c -o main.o main.c clean: - rm -f nmrp.o tftp.o main.o ethsock.o nmrp-flash nmrp-flash.exe + rm -f nmrp.o tftp.o main.o ethsock.o nmrpflash nmrpflash.exe -install: nmrp-flash - install -m 755 nmrp-flash $(PREFIX)/bin +install: nmrpflash + install -m 755 nmrpflash $(PREFIX)/bin release/osx: CFLAGS="-arch i686 -arch x86_64" make release - cp nmrp-flash binaries/osx/ release/linux: release - cp nmrp-flash binaries/linux/ + cp nmrpflash binaries/linux/ -release: clean nmrp-flash - strip nmrp-flash +release: clean nmrpflash + strip nmrpflash diff --git a/README.md b/README.md index e314096..9264b60 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -nmrp-flash - Netgear Unbrick Utility +nmrpflash - Netgear Unbrick Utility ==================================== This program uses Netgear's [NMRP protocol] @@ -6,7 +6,7 @@ This program uses Netgear's [NMRP protocol] to flash a new firmware image to a compatible device. This utility has been tested with a Netgear EX2700, but is likely to work on many others as well. -### Using nmrp-flash +### Using nmrpflash Connect your Netgear router to your computer using a network cable. Assign a static IP address to your computer (more specifically, to @@ -19,17 +19,17 @@ In this example, we'll use `192.168.1.2`. All available network interfaces can be listed using ```` -$ nmrp-flash -L +$ nmrpflash -L eth0 192.168.1.2 f2:11:a1:02:03:b1 ```` -Now we can start `nmrp-flash`. The argument for the `-a` option needs +Now we can start `nmrpflash`. The argument for the `-a` option needs to be a *free* IP address from the same subnet as the one used by your network interface. We'll use `192.168.1.254`. The firmware image file can usually be downloaded directly from Netgear's FTP servers. ```` -$ nmrp-flash -i eth0 -a 192.168.1.254 -f EX2700-V1.0.1.8.img +$ nmrpflash -i eth0 -a 192.168.1.254 -f EX2700-V1.0.1.8.img Advertising NMRP server on eth0 ... / Received configuration request from a4:2b:8c:00:00:01. Sending configuration: ip 192.168.1.254, mask 255.255.255.0. @@ -49,7 +49,7 @@ $ make && sudo make install The repository includes a [DevCpp](http://sourceforge.net/projects/orwelldevcpp/) -project file (`nmrp-flash.dev`). Download the latest +project file (`nmrpflash.dev`). Download the latest [WinPcap Developer Pack](http://www.winpcap.org/devel.htm) -and extract it into the root folder of the nmrp-flash sources. +and extract it into the root folder of the nmrpflash sources. diff --git a/binaries/linux/nmrp-flash b/binaries/linux/nmrp-flash deleted file mode 100755 index f5f78b2a0ae321c6d14824e40ccbb39dc9ba628f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27288 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 XYDn&kqRu6IP-{PLlsGKq2Y} diff --git a/binaries/osx/nmrp-flash b/binaries/osx/nmrp-flash deleted file mode 100755 index 79c42292ff2dcba957ffaa2a1bd28a6fff1879a4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 60740 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 z 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 W`%AkXM51SL{eSg182GO^8vI}4teZOk diff --git a/main.c b/main.c index 2b87385..31531d3 100644 --- a/main.c +++ b/main.c @@ -1,19 +1,19 @@ /** - * nmrp-flash - Netgear Unbrick Utility + * nmrpflash - Netgear Unbrick Utility * Copyright (C) 2016 Joseph Lehner * - * nmrp-flash is free software: you can redistribute it and/or modify + * nmrpflash is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * - * nmrp-flash is distributed in the hope that it will be useful, + * nmrpflash is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License - * along with nmrp-flash. If not, see . + * along with nmrpflash. If not, see . * */ @@ -30,7 +30,7 @@ int verbosity = 0; void usage(FILE *fp) { fprintf(fp, - "Usage: nmrp-flash [OPTIONS...]\n" + "Usage: nmrpflash [OPTIONS...]\n" "\n" "Options (-a, -i and -f are mandatory):\n" " -a IP address to assign to target device\n" @@ -52,14 +52,14 @@ void usage(FILE *fp) "Example:\n" "\n" #ifndef NMRPFLASH_WINDOWS - "$ sudo nmrp-flash -i eth0 -a 192.168.1.254 -f firmware.bin\n" + "$ sudo nmrpflash -i eth0 -a 192.168.1.254 -f firmware.bin\n" #else - "C:\\> nmrp-flash.exe -i net0 -a 192.168.1.254 -f firmware.bin\n" + "C:\\> nmrpflash.exe -i net0 -a 192.168.1.254 -f firmware.bin\n" #endif "\n" - "nmrp-flash %s, Copyright (C) 2016 Joseph C. Lehner\n" - "nmrp-flash is free software, licensed under the GNU GPLv3.\n" - "Source code at https://github.com/jclehner/nmrp-flash\n" + "nmrpflash %s, Copyright (C) 2016 Joseph C. Lehner\n" + "nmrpflash is free software, licensed under the GNU GPLv3.\n" + "Source code at https://github.com/jclehner/nmrpflash\n" "\n", NMRPFLASH_VERSION ); @@ -131,7 +131,7 @@ int main(int argc, char **argv) break; case 'V': - printf("nmrp-flash %s\n", NMRPFLASH_VERSION); + printf("nmrpflash %s\n", NMRPFLASH_VERSION); val = 0; goto out; case 'v': diff --git a/nmrp-flash.dev b/nmrp-flash.dev index a35c677..0788258 100644 --- a/nmrp-flash.dev +++ b/nmrp-flash.dev @@ -1,6 +1,6 @@ [Project] -FileName=nmrp-flash.dev -Name=nmrp-flash +FileName=nmrpflash.dev +Name=nmrpflash Type=1 Ver=2 ObjFiles= @@ -19,7 +19,7 @@ ObjectOutput=Obj LogOutput= LogOutputEnabled=0 OverrideOutput=0 -OverrideOutputName=nmrp-flash.exe +OverrideOutputName=nmrpflash.exe HostApplication= UseCustomMakefile=0 CustomMakefile= diff --git a/nmrp.c b/nmrp.c index 4bca5ce..0614f14 100644 --- a/nmrp.c +++ b/nmrp.c @@ -1,19 +1,19 @@ /** - * nmrp-flash - Netgear Unbrick Utility + * nmrpflash - Netgear Unbrick Utility * Copyright (C) 2016 Joseph Lehner * - * nmrp-flash is free software: you can redistribute it and/or modify + * nmrpflash is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * - * nmrp-flash is distributed in the hope that it will be useful, + * nmrpflash is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License - * along with nmrp-flash. If not, see . + * along with nmrpflash. If not, see . * */ diff --git a/nmrpd.h b/nmrpd.h index bcbe522..7d579b5 100644 --- a/nmrpd.h +++ b/nmrpd.h @@ -1,19 +1,19 @@ /** - * nmrp-flash - Netgear Unbrick Utility + * nmrpflash - Netgear Unbrick Utility * Copyright (C) 2016 Joseph Lehner * - * nmrp-flash is free software: you can redistribute it and/or modify + * nmrpflash is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * - * nmrp-flash is distributed in the hope that it will be useful, + * nmrpflash is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License - * along with nmrp-flash. If not, see . + * along with nmrpflash. If not, see . * */ @@ -30,7 +30,7 @@ #define NMRPFLASH_OSX #elif defined(__unix__) #define NMRPFLASH_UNIX -#warning "nmrp-flash is not fully supported on your operating system" +#warning "nmrpflash is not fully supported on your operating system" #endif #ifndef NMRPFLASH_WINDOWS diff --git a/tftp.c b/tftp.c index ae5b1a2..079ee8a 100644 --- a/tftp.c +++ b/tftp.c @@ -1,19 +1,19 @@ /** - * nmrp-flash - Netgear Unbrick Utility + * nmrpflash - Netgear Unbrick Utility * Copyright (C) 2016 Joseph Lehner * - * nmrp-flash is free software: you can redistribute it and/or modify + * nmrpflash is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * - * nmrp-flash is distributed in the hope that it will be useful, + * nmrpflash is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License - * along with nmrp-flash. If not, see . + * along with nmrpflash. If not, see . * */ -- 2.25.1