I have no idea how to do bitbanging with the prolific chips, but the error you're seeing is a result of the vendor identifier (VID) and product identifier (PID) of the Prolific chip being different from FTDI's default
This sample code shows an example of where this kind of an error might be thrown:
if ((ret = ftdi_usb_open(&ftdic, 0x0403, 0x6001)) < 0)
{
fprintf(stderr, "unable to open ftdi device: %d (%s)\n",
ret, ftdi_get_error_string(&ftdic));
return EXIT_FAILURE;
}
ftdi_usb_open() is an alias for the function:
ftdi_usb_open_desc_index(
struct ftdi_context * ftdi,
int vendor,
int product,
const char * description,
const char * serial,
unsigned int index
)
that just substitutes a null pointer for the description and serial, and '0' for the index.
The source for this function can be found on line 623 of ftdi.c, or it's online here.
Note that every interaction that the FDTI drivers do in this function and beyond assumes that you've got an FTDI chip on the other end. Fixing this problem is almost certain to lead to further problems, and fixing those problems will get you another. There will be a light at the end of the tunnel, but it may be a long way getting there.
Adding Prolific support to libftdi (or porting libftdi's API to a new library, call it libprolific) would be pretty neat. However, you're almost certainly better off using Prolific's drivers: http://www.prolific.com.tw/eng/downloads.asp?id=31