can you omit the 'old' stuff and just feed it the new vid and pid?
maybe even try setting just one at a time?
Nope, when you omit either the old vid or pid it uses the default vid and pid to try and read it (0403/6001):
ubuntu@ubuntu:~/ft232r_prog-1.24$ sudo ./ft232r_prog --new-pid 0x6001 --new-vid 0x0403
ft232r_prog: version 1.24, by Mark Lord.
ftdi_usb_open() failed for 0403:6001: device not found
ubuntu@ubuntu:~/ft232r_prog-1.24$ sudo ./ft232r_prog --new-pid 0x6001
ft232r_prog: version 1.24, by Mark Lord.
ftdi_usb_open() failed for 0403:6001: device not found
ubuntu@ubuntu:~/ft232r_prog-1.24$ sudo ./ft232r_prog --new-vid 0x0403
ft232r_prog: version 1.24, by Mark Lord.
ftdi_usb_open() failed for 0403:6001: device not found
ubuntu@ubuntu:~/ft232r_prog-1.24$
I found out that Mark Lord lives not far from me, lol! I sent him an e-mail to see if he can help
![Smiley :)](https://www.eevblog.com/forum/Smileys/default/xsmiley.gif.pagespeed.ic.R8GFI-pF6f.png)
-Jamie M.
(p.s. here's the relevant source code from Mark's program where it's erroring out on me:
ftdi_init(&ftdi);
atexit(&do_deinit);
memset(&ee, 0, sizeof(ee));
ee.old_vid = 0x0403;; /* default; override with --old_vid arg */
ee.old_pid = 0x6001; /* default; override with --old_pid arg */
process_args(argc, argv, &ee); /* handle --help and --old-* args */
if (ftdi_usb_open_desc(&ftdi, ee.old_vid, ee.old_pid, NULL, ee.old_serno)) {
fprintf(stderr, "ftdi_usb_open() failed for %04x:%04x:%s %s\n",
ee.old_vid, ee.old_pid, ee.old_serno ? ee.old_serno : "", ftdi_get_error_string(&ftdi));
exit(ENODEV);
}
atexit(&do_close);