Hi See attachment for a patch that makes my PCCOM8 "work for me" (TM). Card is manufactured by decision.com.tw AFAIK. I have no connection with them other than that I have a few of their serial cards. Patch is against the 5.01 serial driver. I'm not suggesting it be included yet, just looking for comments and/or testers with the right card. TODO: 0x0002 should be replaced by PCI_DEVICE_ID_DCI_PCCOM8 with #define PCI_DEVICE_ID_DCI_PCCOM8 0x0002 in pci.h (pci_ids.h?) or something but then people without updated pci.h are in trouble - perhaps use a #ifdef PCI_DEVICE_ID_DCI_PCCOM8 so driver will still compile on older kernel/pci.h versions? Yukky either way. 5.01 wouldn't compile in 2.2.16. Had to change the rs_init thing as in patch ... Ted? Apparently you can jumper the card to do 400K instead of 115K in which case the max baud speed will need to be tuned. PS. Decision have their own patches on their website against significantly older versions of serial.c which don't have the nifty generic pci functions. Those patches do support cards other than the PCCOM8. I've ported those patches to 2.2.16's serial.c if anyone wants a copy. Available under the no warranty, no support, "works for me but may eat your hard drive or do other nasty things" licence of course ... --Craig
--- /usr/src/linux/drivers/char/serial.c 2000/08/09 17:43:57 1.1 +++ /usr/src/linux/drivers/char/serial.c 2000/08/09 19:17:43 @@ -4559,6 +4559,10 @@ SPCI_FL_BASE0, 1, 520833, 64, 3, NULL, 0x300 }, #endif + { PCI_VENDOR_ID_DCI, 0x0002, + PCI_ANY_ID, PCI_ANY_ID, + SPCI_FL_BASE3, 8, 115200, + 8 }, /* Generic serial board */ { 0, 0, 0, 0, @@ -5081,7 +5085,7 @@ /* * The serial driver boot-time initialization code! */ -static int __init rs_init(void) +__initfunc(int rs_init(void)) { int i; struct serial_state * state;