openwrt/obsolete-buildroot/sources/openwrt-wrt54g-router.patch
Mike Baker e5f9af658d Initial revision
SVN-Revision: 30
2004-05-25 04:32:27 +00:00

241 lines
6.0 KiB
Diff

diff -bBurN WRT54G/release/src/router/rc/Makefile-openwrt WRT54G.new/release/src/router/rc/Makefile-openwrt
--- WRT54G/release/src/router/rc/Makefile-openwrt 1969-12-31 18:00:00.000000000 -0600
+++ WRT54G.new/release/src/router/rc/Makefile-openwrt 2004-03-03 16:23:40.000000000 -0600
@@ -0,0 +1,44 @@
+# Copyright 2001-2003, Broadcom Corporation
+# All Rights Reserved.
+#
+#
+# THIS SOFTWARE IS OFFERED "AS IS", AND BROADCOM GRANTS NO WARRANTIES OF ANY
+# KIND, EXPRESS OR IMPLIED, BY STATUTE, COMMUNICATION OR OTHERWISE. BROADCOM
+# SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS
+# FOR A SPECIFIC PURPOSE OR NONINFRINGEMENT CONCERNING THIS SOFTWARE
+#
+
+#
+# Router Wireless Interface Configuration Utility Makefile
+#
+# Copyright 2003, Broadcom Corporation
+# All Rights Reserved.
+#
+#
+# $Id: Makefile,v 1.2 2004/01/13 00:55:58 mbm Exp $
+#
+
+CFLAGS += -I. -I$(TOP)/shared -I$(SRCBASE)/include -Wall
+#CFLAGS += -g -DDEBUG
+CFLAGS += -s -Os
+LDFLAGS += -L$(TOP)/shared -lshared -L$(TOP)/nvram -lnvram
+
+OBJS := mtd.o crc.o #http.o
+
+vpath %.c $(TOP)/shared $(SRCBASE)/rts/src
+
+all: mtd
+
+clean:
+ rm -f *.o mtd
+
+install: all
+ install -d $(INSTALLDIR)/sbin
+ install mtd $(INSTALLDIR)/sbin
+ $(STRIP) $(INSTALLDIR)/sbin/mtd
+
+mtd.o: mtd.c
+ $(CC) -c $^ $(CFLAGS) $(CPPFLAGS) -DOPENWRT_MTD #-DOPENWRT_MTD_HTTP_GET
+
+mtd: $(OBJS)
+ $(CC) -o $@ $^ $(LDFLAGS)
diff -bBurN WRT54G/release/src/router/rc/mtd.c WRT54G.new/release/src/router/rc/mtd.c
--- WRT54G/release/src/router/rc/mtd.c 2004-01-19 20:34:50.000000000 -0600
+++ WRT54G.new/release/src/router/rc/mtd.c 2004-03-03 16:24:42.000000000 -0600
@@ -37,6 +37,86 @@
#include <cy_conf.h>
#include <utils.h>
+
+#ifdef OPENWRT_MTD
+
+extern int
+mtd_open(const char *mtd, int flags);
+extern int
+mtd_erase(const char *mtd);
+extern int
+mtd_write(const char *path, const char *mtd);
+
+/* Slightly modified version of mtd_erase. */
+int
+mtd_unlock(const char *mtd)
+{
+ int mtd_fd;
+ mtd_info_t mtd_info;
+ erase_info_t erase_info;
+
+ /* Open MTD device */
+ if ((mtd_fd = mtd_open(mtd, O_RDWR)) < 0) {
+ perror(mtd);
+ return errno;
+ }
+
+ /* Get sector size */
+ if (ioctl(mtd_fd, MEMGETINFO, &mtd_info) != 0) {
+ perror(mtd);
+ close(mtd_fd);
+ return errno;
+ }
+
+ erase_info.length = mtd_info.erasesize;
+
+ for (erase_info.start = 0;
+ erase_info.start < mtd_info.size;
+ erase_info.start += mtd_info.erasesize) {
+ (void) ioctl(mtd_fd, MEMUNLOCK, &erase_info);
+/* if (ioctl(mtd_fd, MEMERASE, &erase_info) != 0) { */
+/* perror(mtd); */
+/* close(mtd_fd); */
+/* return errno; */
+/* } */
+ }
+
+ close(mtd_fd);
+ return 0;
+}
+
+int main(int argc, char **argv) {
+ if(argc == 3 && strcasecmp(argv[1],"unlock")==0) {
+ printf("Unlocking %s\n",argv[2]);
+ return mtd_unlock(argv[2]);
+ }
+ if(argc == 3 && strcasecmp(argv[1],"erase")==0) {
+ printf("Erasing %s\n",argv[2]);
+ return mtd_erase(argv[2]);
+ }
+ if(argc == 4 && strcasecmp(argv[1],"write")==0) {
+ printf("writing %s to %s\n",argv[2],argv[3]);
+ return mtd_write(argv[2],argv[3]);
+ }
+
+ printf("no valid command given\n");
+ return -1;
+}
+
+#ifndef OPENWRT_MTD_HTTP_GET
+/* Dummy routines when no http support. */
+int
+http_get(const char *server, char *buf, size_t count, off_t offset)
+{
+ printf("error opening %s\n",server);
+ exit(-1);
+}
+#endif
+
+#define check_action() (fp ? ACT_IDLE : ACT_WEBS_UPGRADE)
+
+#endif
+
/*
* Open an MTD device
* @param mtd path to or partition name of MTD device
diff -bBurN WRT54G/release/src/router/shared/Makefile-openwrt WRT54G.new/release/src/router/shared/Makefile-openwrt
--- WRT54G/release/src/router/shared/Makefile-openwrt 1969-12-31 18:00:00.000000000 -0600
+++ WRT54G.new/release/src/router/shared/Makefile-openwrt 2004-03-03 12:39:17.000000000 -0600
@@ -0,0 +1,41 @@
+#
+# Linux router shared code Makefile
+#
+# Copyright 2001-2003, Broadcom Corporation
+# All Rights Reserved.
+#
+# THIS SOFTWARE IS OFFERED "AS IS", AND BROADCOM GRANTS NO WARRANTIES OF ANY
+# KIND, EXPRESS OR IMPLIED, BY STATUTE, COMMUNICATION OR OTHERWISE. BROADCOM
+# SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS
+# FOR A SPECIFIC PURPOSE OR NONINFRINGEMENT CONCERNING THIS SOFTWARE.
+#
+# $Id: Makefile,v 1.3 2004/01/13 00:51:09 mbm Exp $
+#
+ifneq ($(wildcard $(SRCBASE)/cy_conf.mak),)
+ include $(SRCBASE)/cy_conf.mak
+endif
+
+CFLAGS += -I. -I$(SRCBASE)/include -Wall -I$(SRCBASE)/
+#CFLAGS += -g -DDEBUG
+CFLAGS += -s -Os
+LDFLAGS += -L.
+
+all: libshared.so
+
+install: all
+ install -d $(INSTALLDIR)/usr/lib
+ install -m 755 libshared.so $(INSTALLDIR)/usr/lib
+ $(STRIP) $(INSTALLDIR)/usr/lib/libshared.so
+
+clean:
+ rm -f *.o *.so
+
+libshared.so: shutils.o wl.o wl_linux.o defaults.o
+ $(LD) -shared -o $@ $^
+
+build_date.o: build_date.c
+
+build_date:
+ echo "const char *builddate = \"`date`\";" > build_date.c
+
+*.o: $(CY_DEPS)
diff -bBurN WRT54GS/release/src/router/nvram/nvram_linux.c-dist WRT54GS.new/release/src/router/nvram/nvram_linux.c
--- WRT54GS/release/src/router/nvram/nvram_linux.c-dist 2004-03-30 10:04:10.000000000 -0600
+++ WRT54GS/release/src/router/nvram/nvram_linux.c 2004-03-30 10:10:09.000000000 -0600
@@ -27,8 +27,10 @@
#include <typedefs.h>
#include <bcmnvram.h>
#include <nvram_convert.h>
+#ifndef OPENWRT_NVRAM
#include <shutils.h>
#include <utils.h>
+#endif
#define PATH_DEV_NVRAM "/dev/nvram"
@@ -182,6 +184,20 @@
{
int ret;
+#ifdef OPENWRT_NVRAM
+ fprintf(stderr, "nvram_commit(): start\n");
+
+ if (nvram_fd < 0)
+ if ((ret = nvram_init(NULL)))
+ return ret;
+
+ ret = ioctl(nvram_fd, NVRAM_MAGIC, NULL);
+
+ if (ret < 0)
+ perror(PATH_DEV_NVRAM);
+
+ fprintf(stderr, "nvram_commit(): end\n");
+#else
cprintf("nvram_commit(): start\n");
if((check_action() == ACT_IDLE) ||
@@ -200,6 +216,7 @@
}
else
cprintf("nvram_commit(): nothing to do...\n");
+#endif
return ret;
}
@@ -272,6 +289,7 @@
return j;
}
+#ifndef OPENWRT_NVRAM
int
check_action(void)
{
@@ -318,3 +336,5 @@
return 0;
}
+
+#endif