Changes in b43-fwcutter (V2)
[b43-tools.git] / fwcutter / fwcutter.c
index fb51beb04df87fd6c4c3c14e909268b5893a4173..5d5aa80d1785bde0335d42afd76b69dec63c564c 100644 (file)
@@ -439,6 +439,8 @@ static void print_file(const struct file *file)
        printf("%s\t", file->ucode_version);
        if (strlen(file->ucode_version) < 8) printf("\t");
 
+       printf("%s\t", file->id);
+
        printf("%s\n", file->md5);
 }
 
@@ -448,10 +450,16 @@ static void print_supported_files(void)
 
        print_banner();
        printf("\nExtracting firmware is possible "
-              "from these binary driver files:\n\n");
+              "from these binary driver files.\n"
+              "The <ID> column shows the unique identifier string "
+              "for your firmware.\nYou must select the firmware with the "
+              "same ID as printed by the kernel driver on modprobe.\n"
+              "Note that only recent drivers print such a message on modprobe.\n"
+              "Please read http://linuxwireless.org/en/users/Drivers/b43#devicefirmware\n\n");
        printf("<driver>\t"
               "<filename>\t\t"
               "<microcode>\t"
+              "<ID>\t"
               "<MD5 checksum>\n\n");
        /* print for legacy driver first */
        for (i = 0; i < FILES; i++)
@@ -487,6 +495,7 @@ static const struct file *find_file(FILE *fd)
                if (file_ok(&files[i]) &&
                    strcasecmp(md5sig, files[i].md5) == 0) {
                        printf("This file is recognised as:\n");
+                       printf("  ID         :  %s\n", files[i].id);
                        printf("  filename   :  %s\n", files[i].name);
                        printf("  version    :  %s\n", files[i].ucode_version);
                        printf("  MD5        :  %s\n", files[i].md5);
@@ -503,7 +512,9 @@ static const struct file *find_file(FILE *fd)
 static void print_usage(int argc, char *argv[])
 {
        print_banner();
-       printf("\nUsage: %s [OPTION] [driver.sys]\n", argv[0]);
+       printf("\nA tool to extract firmware for a Broadcom 43xx device\n");
+       printf("from a proprietary Broadcom 43xx device driver file.\n");
+       printf("\nUsage: %s [OPTION] [proprietary-driver-file]\n", argv[0]);
        printf("  --unsupported         "
               "Allow working on extractable but unsupported drivers\n");
        printf("  -l|--list             "
@@ -516,8 +527,9 @@ static void print_usage(int argc, char *argv[])
               "Print b43-fwcutter version\n");
        printf("  -h|--help             "
               "Print this help\n");
-       printf("\nExample: %s bcmwl5.sys\n"
-              "         to extract the firmware blobs from bcmwl5.sys\n", 
+       printf("\nExample: %s -w /lib/firmware wl_apsta.o\n"
+              "         to extract the firmware blobs from wl_apsta.o and store\n"
+              "         the resulting firmware in /lib/firmware\n",
               argv[0]);
 }