diff -uNr zd1211-firmware/create_fw_files.c zd1211rw_fw_2007-03-19_snap/create_fw_files.c --- zd1211-firmware/create_fw_files.c 1970-01-01 01:00:00.000000000 +0100 +++ zd1211rw_fw_2007-03-19_snap/create_fw_files.c 2006-12-25 11:02:17.000000000 +0100 @@ -0,0 +1,116 @@ +#include +#include +#include +#include + +#define ZD1211 1 + +const uint8_t ws11uph[] +#include "WS11UPh.h" + +const uint8_t ws11uphr[] +#include "WS11UPhR.h" + +const uint8_t ws11uphm[] +#include "WS11UPhm.h" + +const uint8_t ws11ub[] +#include "WS11Ub.h" + +const uint8_t ws11ur[] +#include "WS11Ur.h" + +#undef ZD1211 + +#define ZD1211B 1 + +const uint8_t zd1211b_ws11uph[] +#include "WS11UPh.h" + +const uint8_t zd1211b_ws11uphr[] +#include "WS11UPhR.h" + +const uint8_t zd1211b_ws11uphm[] +#include "WS11UPhm.h" + +const uint8_t zd1211b_ws11ub[] +#include "WS11Ub.h" + +const uint8_t zd1211b_ws11ur[] +#include "WS11Ur.h" + +#undef ZD1211B + + +static int write_fw_file(const char *path, const uint8_t *bytes, size_t size) +{ + FILE *f = NULL; + + fprintf(stderr,"Write file %s (%zu bytes) ... ", path, size); + fflush(stderr); + f = fopen(path, "w"); + if (!f) { + fprintf(stderr, "couldn't open %s - error %s (%d)\n", + path, strerror(errno), errno); + goto error; + } + + size_t s = fwrite(bytes, 1, size, f); + if (s != size) { + fprintf(stderr, "Error while writing.\n"); + goto error; + } + + fclose(f); + fprintf(stderr, "done\n"); + return 0; +error: + if (f) + fclose(f); + return 1; +} + +int main (void) +{ + int r; + + r = write_fw_file("zd1211_uph", ws11uph, sizeof(ws11uph)); + if (r) + goto error; + r = write_fw_file("zd1211_uphr", ws11uphr, sizeof(ws11uphr)); + if (r) + goto error; + r = write_fw_file("zd1211_uphm", ws11uphm, sizeof(ws11uphm)); + if (r) + goto error; + r = write_fw_file("zd1211_ub", ws11ub, sizeof(ws11ub)); + if (r) + goto error; + r = write_fw_file("zd1211_ur", ws11ur, sizeof(ws11ur)); + if (r) + goto error; + r = write_fw_file("zd1211b_uph", zd1211b_ws11uph, + sizeof(zd1211b_ws11uph)); + if (r) + goto error; + r = write_fw_file("zd1211b_uphr", zd1211b_ws11uphr, + sizeof(zd1211b_ws11uphr)); + if (r) + goto error; + r = write_fw_file("zd1211b_uphm", zd1211b_ws11uphm, + sizeof(zd1211b_ws11uphm)); + if (r) + goto error; + r = write_fw_file("zd1211b_ub", zd1211b_ws11ub, + sizeof(zd1211b_ws11ub)); + if (r) + goto error; + r = write_fw_file("zd1211b_ur", zd1211b_ws11ur, + sizeof(zd1211b_ws11ur)); + if (r) + goto error; + + return 0; +error: + return 1; +} diff -uNr zd1211-firmware/Makefile zd1211rw_fw_2007-03-19_snap/Makefile --- zd1211-firmware/Makefile 1970-01-01 01:00:00.000000000 +0100 +++ zd1211rw_fw_2007-03-19_snap/Makefile 2007-10-12 12:44:58.000000000 +0200 @@ -0,0 +1,33 @@ +CC := gcc +CFLAGS := -Wall + +ifneq ($(USER),root) +SUDO := +endif + +FW_DIR := /lib/firmware/zd1211 + +FILES := zd1211_ub zd1211_uph zd1211_uphm zd1211_uphr zd1211_ur \ + zd1211b_ub zd1211b_uph zd1211b_uphm zd1211b_uphr zd1211b_ur + +all:: files + +create_fw_files:: create_fw_files.c WS11UPh.h WS11UPhR.h WS11UPhm.h WS11Ub.h \ + WS11Ur.h + $(CC) $(CFLAGS) $< -o $@ + +.PHONY: files clean tar +files:: $(FILES) + +$(FILES):: create_fw_files + ./create_fw_files + +clean:: + rm -f create_fw_files *.o zd1211_u* zd1211b_u* + +distclean:: clean + rm -f WS11*.h + +install:: $(FILES) + test -d $(FW_DIR) || $(SUDO) mkdir -p $(FW_DIR) + $(SUDO) cp $(FILES) $(FW_DIR)