mirror of
https://github.com/RfidResearchGroup/proxmark3.git
synced 2025-02-03 14:00:04 +08:00
show device name during flashing and change advice on hanging
This commit is contained in:
parent
0a85b72549
commit
e12b82d362
3 changed files with 14 additions and 11 deletions
|
@ -306,7 +306,7 @@ static int get_proxmark_state(uint32_t *state)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Enter the bootloader to be able to start flashing
|
// Enter the bootloader to be able to start flashing
|
||||||
static int enter_bootloader(void)
|
static int enter_bootloader(char *serial_port_name)
|
||||||
{
|
{
|
||||||
uint32_t state;
|
uint32_t state;
|
||||||
|
|
||||||
|
@ -340,7 +340,8 @@ static int enter_bootloader(void)
|
||||||
msleep(100);
|
msleep(100);
|
||||||
CloseProxmark();
|
CloseProxmark();
|
||||||
|
|
||||||
fprintf(stderr,"Waiting for Proxmark to reappear on USB...");
|
fprintf(stderr,"Waiting for Proxmark to reappear on ");
|
||||||
|
fprintf(stderr,serial_port_name);
|
||||||
do {
|
do {
|
||||||
sleep(1);
|
sleep(1);
|
||||||
fprintf(stderr, ".");
|
fprintf(stderr, ".");
|
||||||
|
@ -366,11 +367,11 @@ static int wait_for_ack(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Go into flashing mode
|
// Go into flashing mode
|
||||||
int flash_start_flashing(int enable_bl_writes)
|
int flash_start_flashing(int enable_bl_writes,char *serial_port_name)
|
||||||
{
|
{
|
||||||
uint32_t state;
|
uint32_t state;
|
||||||
|
|
||||||
if (enter_bootloader() < 0)
|
if (enter_bootloader(serial_port_name) < 0)
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
if (get_proxmark_state(&state) < 0)
|
if (get_proxmark_state(&state) < 0)
|
||||||
|
|
|
@ -26,7 +26,7 @@ typedef struct {
|
||||||
} flash_file_t;
|
} flash_file_t;
|
||||||
|
|
||||||
int flash_load(flash_file_t *ctx, const char *name, int can_write_bl);
|
int flash_load(flash_file_t *ctx, const char *name, int can_write_bl);
|
||||||
int flash_start_flashing(int enable_bl_writes);
|
int flash_start_flashing(int enable_bl_writes,char *serial_port_name);
|
||||||
int flash_write(flash_file_t *ctx);
|
int flash_write(flash_file_t *ctx);
|
||||||
void flash_free(flash_file_t *ctx);
|
void flash_free(flash_file_t *ctx);
|
||||||
int flash_stop_flashing(void);
|
int flash_stop_flashing(void);
|
||||||
|
|
|
@ -84,10 +84,11 @@ static void usage(char *argv0)
|
||||||
fprintf(stderr, "Usage: %s <port> [-b] image.elf [image.elf...]\n\n", argv0);
|
fprintf(stderr, "Usage: %s <port> [-b] image.elf [image.elf...]\n\n", argv0);
|
||||||
fprintf(stderr, "\t-b\tEnable flashing of bootloader area (DANGEROUS)\n\n");
|
fprintf(stderr, "\t-b\tEnable flashing of bootloader area (DANGEROUS)\n\n");
|
||||||
//Is the example below really true? /Martin
|
//Is the example below really true? /Martin
|
||||||
fprintf(stderr, "Example:\n\t %s path/to/osimage.elf path/to/fpgaimage.elf\n", argv0);
|
fprintf(stderr, "Example:\n\n\t %s path/to/osimage.elf path/to/fpgaimage.elf\n", argv0);
|
||||||
fprintf(stderr, "Example (Linux):\n\t %s /dev/ttyACM0 armsrc/obj/fullimage.elf\n", argv0);
|
fprintf(stderr, "\nExample (Linux):\n\n\t %s /dev/ttyACM0 armsrc/obj/fullimage.elf\n", argv0);
|
||||||
fprintf(stderr, "\nNote (Linux): if the flasher gets stuck in 'Waiting for Proxmark to reappear on USB', try deactivating modem-manager: 'sudo service modemmanager stop'\n\n");
|
fprintf(stderr, "\nNote (Linux): if the flasher gets stuck in 'Waiting for Proxmark to reappear on <DEVICE>',\n");
|
||||||
|
fprintf(stderr, " you need to blacklist proxmark for modem-manager - see wiki for more details:\n");
|
||||||
|
fprintf(stderr, " http://code.google.com/p/proxmark3/wiki/Linux\n\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
#define MAX_FILES 4
|
#define MAX_FILES 4
|
||||||
|
@ -127,14 +128,15 @@ int main(int argc, char **argv)
|
||||||
|
|
||||||
serial_port_name = argv[1];
|
serial_port_name = argv[1];
|
||||||
|
|
||||||
fprintf(stderr,"Waiting for Proxmark to appear on USB...");
|
fprintf(stderr,"Waiting for Proxmark to appear on ");
|
||||||
|
fprintf(stderr,serial_port_name);
|
||||||
do {
|
do {
|
||||||
sleep(1);
|
sleep(1);
|
||||||
fprintf(stderr, ".");
|
fprintf(stderr, ".");
|
||||||
} while (!OpenProxmark(0));
|
} while (!OpenProxmark(0));
|
||||||
fprintf(stderr," Found.\n");
|
fprintf(stderr," Found.\n");
|
||||||
|
|
||||||
res = flash_start_flashing(can_write_bl);
|
res = flash_start_flashing(can_write_bl,serial_port_name);
|
||||||
if (res < 0)
|
if (res < 0)
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue